This is an automated email from the ASF dual-hosted git repository. dpavlov pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/ignite-teamcity-bot.git
commit 2c6d19c2bf64083d09962195a63b9b1523e655cf Author: Dmitriy Pavlov <[email protected]> AuthorDate: Tue Sep 11 15:15:04 2018 +0300 IGNITE-9542: Refactored fail rates for test: base and current branch separation. --- .../ci/web/model/current/SuiteCurrentStatus.java | 1 + .../ignite/ci/web/model/current/TestFailure.java | 50 +++++++++------- .../model/{current => hist}/FailureSummary.java | 5 +- .../ignite/ci/web/model/hist/TestHistory.java | 65 +++++++++++++++++++++ .../ignite/ci/web/rest/GetChainResultsAsHtml.java | 51 ++++++++++++---- ignite-tc-helper-web/src/main/webapp/all.html | 4 +- .../src/main/webapp/build-comparator.html | 4 +- ignite-tc-helper-web/src/main/webapp/build.html | 4 +- ignite-tc-helper-web/src/main/webapp/current.html | 4 +- .../src/main/webapp/img/error-icon-4.png | Bin 8843 -> 0 bytes .../js/{testfails-2.0.js => testfails-2.1.js} | 44 +++++++++----- ignite-tc-helper-web/src/main/webapp/pr.html | 4 +- .../src/main/webapp/statistics.html | 4 +- 13 files changed, 181 insertions(+), 59 deletions(-) diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/model/current/SuiteCurrentStatus.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/model/current/SuiteCurrentStatus.java index 91945c1..707a7cb 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/model/current/SuiteCurrentStatus.java +++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/model/current/SuiteCurrentStatus.java @@ -40,6 +40,7 @@ import org.apache.ignite.ci.analysis.TestLogCheckResult; import org.apache.ignite.ci.issue.EventTemplates; import org.apache.ignite.ci.issue.ProblemRef; import org.apache.ignite.ci.tcmodel.result.tests.TestOccurrenceFull; +import org.apache.ignite.ci.web.model.hist.FailureSummary; import org.apache.ignite.ci.web.rest.GetBuildLog; import org.jetbrains.annotations.NotNull; diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/model/current/TestFailure.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/model/current/TestFailure.java index 559fb3e..69ea5dc 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/model/current/TestFailure.java +++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/model/current/TestFailure.java @@ -35,6 +35,9 @@ import org.apache.ignite.ci.issue.EventTemplates; import org.apache.ignite.ci.issue.ProblemRef; import org.apache.ignite.ci.logs.LogMsgToWarn; import org.apache.ignite.ci.tcmodel.result.tests.TestOccurrenceFull; +import org.apache.ignite.ci.web.model.hist.FailureSummary; +import org.apache.ignite.ci.web.model.hist.TestHistory; +import org.jetbrains.annotations.NotNull; import static org.apache.ignite.ci.util.TimeUtil.getDurationPrintable; import static org.apache.ignite.ci.util.UrlUtil.escape; @@ -43,7 +46,7 @@ import static org.apache.ignite.ci.web.model.current.SuiteCurrentStatus.branchFo /** * UI model for test failure, probably merged with its history */ -@SuppressWarnings("WeakerAccess") public class TestFailure extends FailureSummary { +@SuppressWarnings("WeakerAccess") public class TestFailure { /** Test full Name */ public String name; @@ -53,15 +56,15 @@ import static org.apache.ignite.ci.web.model.current.SuiteCurrentStatus.branchFo /** test short name with class and method */ @Nullable public String testName; - /** Current filtered failures count, Usually 1 for get current */ + /** + * Current filtered failures count, Usually 1 for get current (latest), + * may indicate several failures for history (merged recent runs). + */ public Integer curFailures; /** Latest runs, 0,1,2 values for each run. */ @Nullable public List<Integer> latestRuns; - /** Failure summary in tracked branch according to all runs history. */ - @Nonnull public FailureSummary failsAllHist = new FailureSummary(); - /** Link to test history */ @Nullable public String webUrl; @@ -82,6 +85,14 @@ import static org.apache.ignite.ci.web.model.current.SuiteCurrentStatus.branchFo @Nullable public String flakyComments; + /** History cur branch. If it is absent, history is to be taken from histBaseBranch. */ + @Nullable public TestHistory histCurBranch; + + /** + * This history is created only for PR/Branch failures, it contains data from the base branch (e.g. master). + */ + @NotNull public TestHistory histBaseBranch = new TestHistory(); + /** * @param failure * @param testFullOpt all related full test ocurrences @@ -173,6 +184,11 @@ import static org.apache.ignite.ci.web.model.current.SuiteCurrentStatus.branchFo + "&tab=testDetails"; } + /** + * @param runStatSupplier Run stat supplier. + * @param failRateNormalizedBranch Base branch: Fail rate and flakyness detection normalized branch. + * @param curBranchNormalized Cur branch normalized. + */ public void initStat(@Nullable final Function<TestInBranch, RunStat> runStatSupplier, String failRateNormalizedBranch, String curBranchNormalized) { @@ -184,14 +200,9 @@ import static org.apache.ignite.ci.web.model.current.SuiteCurrentStatus.branchFo final RunStat stat = runStatSupplier.apply(testInBranch); if (stat != null) { - failures = stat.getFailuresCount(); - runs = stat.getRunsCount(); - failureRate = stat.getFailPercentPrintable(); - - failsAllHist.failures = stat.getFailuresAllHist(); - failsAllHist.runs = stat.getRunsAllHist(); - failsAllHist.failureRate = stat.getFailPercentAllHistPrintable(); + histBaseBranch.init(stat); + flakyComments = stat.getFlakyComments(); } RunStat latestRunsSrcInBranch = null; @@ -216,7 +227,6 @@ import static org.apache.ignite.ci.web.model.current.SuiteCurrentStatus.branchFo if (recentContributedTestId != null) problemRef = new ProblemRef("Recently contributed test failure"); - flakyComments = latestRunsSrcInBranch.getFlakyComments(); } } @@ -232,21 +242,19 @@ import static org.apache.ignite.ci.web.model.current.SuiteCurrentStatus.branchFo Objects.equal(suiteName, failure.suiteName) && Objects.equal(testName, failure.testName) && Objects.equal(curFailures, failure.curFailures) && - Objects.equal(failures, failure.failures) && - Objects.equal(runs, failure.runs) && - Objects.equal(failureRate, failure.failureRate) && - Objects.equal(failsAllHist, failure.failsAllHist) && Objects.equal(webUrl, failure.webUrl) && Objects.equal(webIssueUrl, failure.webIssueUrl) && Objects.equal(webIssueText, failure.webIssueText) && - Objects.equal(durationPrintable, failure.durationPrintable)&& - Objects.equal(warnings, failure.warnings); + Objects.equal(durationPrintable, failure.durationPrintable) && + Objects.equal(warnings, failure.warnings) && + Objects.equal(histBaseBranch, failure.histBaseBranch) && + Objects.equal(histCurBranch, failure.histCurBranch); } /** {@inheritDoc} */ @Override public int hashCode() { - return Objects.hashCode(name, suiteName, testName, curFailures, failures, runs, failureRate, failsAllHist, - webUrl, webIssueUrl, webIssueText, investigated, durationPrintable, warnings); + return Objects.hashCode(name, suiteName, testName, curFailures, + webUrl, webIssueUrl, webIssueText, investigated, durationPrintable, warnings, histBaseBranch, histCurBranch); } /** {@inheritDoc} */ diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/model/current/FailureSummary.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/model/hist/FailureSummary.java similarity index 92% rename from ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/model/current/FailureSummary.java rename to ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/model/hist/FailureSummary.java index e67bd16..b831e85 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/model/current/FailureSummary.java +++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/model/hist/FailureSummary.java @@ -15,11 +15,14 @@ * limitations under the License. */ -package org.apache.ignite.ci.web.model.current; +package org.apache.ignite.ci.web.model.hist; import com.google.common.base.Objects; import javax.annotation.Nullable; +/** + * Test failure summary: contains statistic of failures and total runs for suite or for test. + */ public class FailureSummary { /** Registered number of failures from TC helper DB */ @Nullable public Integer failures; diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/model/hist/TestHistory.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/model/hist/TestHistory.java new file mode 100644 index 0000000..c8bc40a --- /dev/null +++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/model/hist/TestHistory.java @@ -0,0 +1,65 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.ignite.ci.web.model.hist; + +import com.google.common.base.Objects; +import java.util.List; +import javax.annotation.Nullable; +import org.apache.ignite.ci.analysis.RunStat; + +/** + * Summary of failures - all history and recent runs for suite or for suite. + */ +public class TestHistory { + /** 'All the time' runs history statistic. */ + @Nullable public FailureSummary allTime = new FailureSummary(); + + /** Latest runs history statistic. */ + @Nullable public FailureSummary recent = new FailureSummary(); + + /** Latest runs, 0,1,2 values for each run. */ + @Nullable public List<Integer> latestRuns; + + public void init(RunStat stat) { + recent.failures = stat.getFailuresCount(); + recent.runs = stat.getRunsCount(); + recent.failureRate = stat.getFailPercentPrintable(); + + allTime.failures = stat.getFailuresAllHist(); + allTime.runs = stat.getRunsAllHist(); + allTime.failureRate = stat.getFailPercentAllHistPrintable(); + + latestRuns = stat != null ? stat.getLatestRunResults() : null; + } + + @Override public boolean equals(Object o) { + if (this == o) + return true; + if (o == null || getClass() != o.getClass()) + return false; + TestHistory hist = (TestHistory)o; + + return Objects.equal(allTime, hist.allTime) && + Objects.equal(recent, hist.recent) && + Objects.equal(latestRuns, hist.latestRuns); + } + + @Override public int hashCode() { + return Objects.hashCode(allTime, recent, latestRuns); + } +} diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/rest/GetChainResultsAsHtml.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/rest/GetChainResultsAsHtml.java index 7f4ac34..710b7c0 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/rest/GetChainResultsAsHtml.java +++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/rest/GetChainResultsAsHtml.java @@ -39,6 +39,7 @@ import org.apache.ignite.ci.web.CtxListener; import org.apache.ignite.ci.web.model.current.ChainAtServerCurrentStatus; import org.apache.ignite.ci.web.model.current.SuiteCurrentStatus; import org.apache.ignite.ci.web.model.current.TestFailure; +import org.apache.ignite.ci.web.model.hist.TestHistory; import static java.lang.Float.parseFloat; import static javax.ws.rs.core.MediaType.TEXT_HTML; @@ -141,7 +142,7 @@ public class GetChainResultsAsHtml { - private boolean isDefinedAndFilled(Integer failures) { + private boolean isDefinedAndFilled(Object failures) { return failures!=null; } @@ -242,7 +243,9 @@ public class GetChainResultsAsHtml { boolean haveIssue = isDefinedAndFilled(testFail.webIssueUrl) && isDefinedAndFilled(testFail.webIssueText); - String color = failureRateToColor(testFail.failureRate); + String color = (isDefinedAndFilled(testFail.histBaseBranch) && isDefinedAndFilled(testFail.histBaseBranch.recent)) + ? failureRateToColor(testFail.histBaseBranch.recent.failureRate) + : "white"; boolean investigated = testFail.investigated; if(investigated) { @@ -264,17 +267,42 @@ public class GetChainResultsAsHtml { boolean haveWeb = isDefinedAndFilled(testFail.webUrl); String histContent = ""; - if (testFail.failures != null && testFail.runs != null) { - histContent += " <span title='" + testFail.failures + " fails / " + testFail.runs + " runs in all tracked branches in helper DB'>"; - if (isDefinedAndFilled(testFail.failureRate)) - histContent += "(fail rate " + testFail.failureRate + "%)"; + + TestHistory hist; + + if(isDefinedAndFilled(testFail.histBaseBranch)) + hist = testFail.histBaseBranch; + else + hist = null; + + if (hist!=null) { + String testFailTitle = ""; + + if(isDefinedAndFilled(hist.recent)) + testFailTitle = "recent rate: " + hist.recent.failures + " fails / " + hist.recent.runs + " runs" ; + + if(isDefinedAndFilled(hist.allTime) && isDefinedAndFilled(hist.allTime.failures)) { + testFailTitle += + "; all history: " + hist.allTime.failureRate + "% ["+ + hist.allTime.failures + " fails / " + + hist.allTime.runs + " runs] " ; + } + + histContent += " <span title='" +testFailTitle + "'>"; + + if (isDefinedAndFilled(hist.recent) && isDefinedAndFilled(hist.recent.failureRate)) + histContent += "(fail rate " + hist.recent.failureRate + "%)"; else - histContent += "(fails: " + testFail.failures + "/" + testFail.runs + ")"; + histContent += "(fails: " + hist.recent.failures + "/" + hist.recent.runs + ")"; + + if(isDefinedAndFilled(testFail.histCurBranch)) { + //todo presence of this indicates that PR is checked, need to draw latest + } + histContent += "</span>"; - } - else if (haveWeb) { + } else if (haveWeb) histContent += " (test history)"; - } + if (haveWeb) res += "<a href='" + testFail.webUrl + "'>"; res += histContent; @@ -282,9 +310,8 @@ public class GetChainResultsAsHtml { res += "</a>"; - if(investigated) { + if(investigated) res += "</span> "; - } res += " <br>"; return res; diff --git a/ignite-tc-helper-web/src/main/webapp/all.html b/ignite-tc-helper-web/src/main/webapp/all.html index 49d9da4..21f51ee 100644 --- a/ignite-tc-helper-web/src/main/webapp/all.html +++ b/ignite-tc-helper-web/src/main/webapp/all.html @@ -8,14 +8,14 @@ <script src="https://code.jquery.com/jquery-1.12.4.js"></script> <script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script> <script src="js/common-1.6.js"></script> - <script src="js/testfails-2.0.js"></script> + <script src="js/testfails-2.1.js"></script> </head> <body> <script> var g_shownDataHashCodeHex = "" $(document).ready(function() { - $.getScript("js/testfails-2.0.js", function(data, textStatus, jqxhr){ }); + $.getScript("js/testfails-2.1.js", function(data, textStatus, jqxhr){ }); $( document ).tooltip(); diff --git a/ignite-tc-helper-web/src/main/webapp/build-comparator.html b/ignite-tc-helper-web/src/main/webapp/build-comparator.html index 7d00eef..4f3f992 100644 --- a/ignite-tc-helper-web/src/main/webapp/build-comparator.html +++ b/ignite-tc-helper-web/src/main/webapp/build-comparator.html @@ -9,14 +9,14 @@ <script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script> <script src="js/common-1.6.js"></script> - <script src="js/testfails-2.0.js"></script> + <script src="js/testfails-2.1.js"></script> </head> <body> <script> var g_shownDataHashCodeHex = ""; $(document).ready(function() { - $.getScript("js/testfails-2.0.js", function(data, textStatus, jqxhr){ }); + $.getScript("js/testfails-2.1.js", function(data, textStatus, jqxhr){ }); $( document ).tooltip(); loadData(); diff --git a/ignite-tc-helper-web/src/main/webapp/build.html b/ignite-tc-helper-web/src/main/webapp/build.html index ed1f206..520b0d9 100644 --- a/ignite-tc-helper-web/src/main/webapp/build.html +++ b/ignite-tc-helper-web/src/main/webapp/build.html @@ -9,14 +9,14 @@ <script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script> <script src="js/common-1.6.js"></script> - <script src="js/testfails-2.0.js"></script> + <script src="js/testfails-2.1.js"></script> </head> <body> <script> var g_shownDataHashCodeHex = "" $(document).ready(function() { - $.getScript("js/testfails-2.0.js", function(data, textStatus, jqxhr){ }); + $.getScript("js/testfails-2.1.js", function(data, textStatus, jqxhr){ }); $( document ).tooltip(); loadData(); diff --git a/ignite-tc-helper-web/src/main/webapp/current.html b/ignite-tc-helper-web/src/main/webapp/current.html index 66d4f08..c75c278 100644 --- a/ignite-tc-helper-web/src/main/webapp/current.html +++ b/ignite-tc-helper-web/src/main/webapp/current.html @@ -9,7 +9,7 @@ <script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script> <script src="js/common-1.6.js"></script> - <script src="js/testfails-2.0.js"></script> + <script src="js/testfails-2.1.js"></script> </head> <body> <script> @@ -17,7 +17,7 @@ var g_shownDataHashCodeHex = "" var g_updTimer = null; $(document).ready(function() { - $.getScript("js/testfails-2.0.js", function(data, textStatus, jqxhr){ }); + $.getScript("js/testfails-2.1.js", function(data, textStatus, jqxhr){ }); $( document ).tooltip(); loadData(); diff --git a/ignite-tc-helper-web/src/main/webapp/img/error-icon-4.png b/ignite-tc-helper-web/src/main/webapp/img/error-icon-4.png deleted file mode 100644 index 56ef806..0000000 Binary files a/ignite-tc-helper-web/src/main/webapp/img/error-icon-4.png and /dev/null differ diff --git a/ignite-tc-helper-web/src/main/webapp/js/testfails-2.0.js b/ignite-tc-helper-web/src/main/webapp/js/testfails-2.1.js similarity index 94% rename from ignite-tc-helper-web/src/main/webapp/js/testfails-2.0.js rename to ignite-tc-helper-web/src/main/webapp/js/testfails-2.1.js index e363882..5652414 100644 --- a/ignite-tc-helper-web/src/main/webapp/js/testfails-2.0.js +++ b/ignite-tc-helper-web/src/main/webapp/js/testfails-2.1.js @@ -334,7 +334,7 @@ function showSuiteData(suite, settings) { } if(isDefinedAndFilled(suite.problemRef)) { - res += "<img width='12px' height='12px' src='img/error-icon-4.png' title='" + suite.problemRef.name + "'> "; + res += "<span title='"+testFail.problemRef.name +"'>🐞</span> " } var color = failureRateToColor(suite.failureRate); @@ -497,7 +497,9 @@ function showTestFailData(testFail, isFailureShown, settings) { var haveIssue = isDefinedAndFilled(testFail.webIssueUrl) && isDefinedAndFilled(testFail.webIssueText) - var color = isFailureShown ? failureRateToColor(testFail.failureRate) : "white"; + var color = (isFailureShown && isDefinedAndFilled(testFail.histBaseBranch) && isDefinedAndFilled(testFail.histBaseBranch.recent)) + ? failureRateToColor(testFail.histBaseBranch.recent.failureRate) + : "white"; var investigated = isDefinedAndFilled(testFail.investigated) && testFail.investigated; if (investigated) { @@ -531,8 +533,6 @@ function showTestFailData(testFail, isFailureShown, settings) { } if(isFailureShown && isDefinedAndFilled(testFail.problemRef)) { - //res += "<img width='12px' height='12px' src='img/error-icon-4.png' title='" + testFail.problemRef.name + "'> "; - res += "<span title='"+testFail.problemRef.name +"'>🐞</span>" if(!bold) res += "<b>"; @@ -565,21 +565,39 @@ function showTestFailData(testFail, isFailureShown, settings) { var haveWeb = isDefinedAndFilled(testFail.webUrl); var histContent = ""; - if (isFailureShown && testFail.failures != null && testFail.runs != null) { - var testFailTitle = "recent rate: " + testFail.failures + " fails / " + testFail.runs + " runs" ; - if(isDefinedAndFilled(testFail.failsAllHist) && isDefinedAndFilled(testFail.failsAllHist.failures)) { + //see class TestHistory + var hist; + + if(isDefinedAndFilled(testFail.histBaseBranch)) + hist = testFail.histBaseBranch + else + hist = null; + + if (isFailureShown && hist!=null) { + var testFailTitle = ""; + + if(isDefinedAndFilled(hist.recent)) + testFailTitle = "recent rate: " + hist.recent.failures + " fails / " + hist.recent.runs + " runs" ; + + if(isDefinedAndFilled(hist.allTime) && isDefinedAndFilled(hist.allTime.failures)) { testFailTitle += - "; all history: " + testFail.failsAllHist.failureRate + "% ["+ - testFail.failsAllHist.failures + " fails / " + - testFail.failsAllHist.runs + " runs] " ; + "; all history: " + hist.allTime.failureRate + "% ["+ + hist.allTime.failures + " fails / " + + hist.allTime.runs + " runs] " ; } histContent += " <span title='" +testFailTitle + "'>"; - if (isDefinedAndFilled(testFail.failureRate)) - histContent += "(fail rate " + testFail.failureRate + "%)"; + + if (isDefinedAndFilled(hist.recent) && isDefinedAndFilled(hist.recent.failureRate)) + histContent += "(fail rate " + hist.recent.failureRate + "%)"; else - histContent += "(fails: " + testFail.failures + "/" + testFail.runs + ")"; + histContent += "(fails: " + hist.recent.failures + "/" + hist.recent.runs + ")"; + + if(isDefinedAndFilled(testFail.histCurBranch)) { + //todo presence of this indicates that PR is checked, need to draw latest + } + histContent += "</span>"; } else if (haveWeb) { diff --git a/ignite-tc-helper-web/src/main/webapp/pr.html b/ignite-tc-helper-web/src/main/webapp/pr.html index da8e4a6..0176789 100644 --- a/ignite-tc-helper-web/src/main/webapp/pr.html +++ b/ignite-tc-helper-web/src/main/webapp/pr.html @@ -8,12 +8,12 @@ <script src="https://code.jquery.com/jquery-1.12.4.js"></script> <script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script> <script src="js/common-1.6.js"></script> - <script src="js/testfails-2.0.js"></script> + <script src="js/testfails-2.1.js"></script> </head> <body> <script> $(document).ready(function() { - $.getScript("js/testfails-2.0.js", function(data, textStatus, jqxhr){ }); + $.getScript("js/testfails-2.1.js", function(data, textStatus, jqxhr){ }); $( document ).tooltip(); loadData(); diff --git a/ignite-tc-helper-web/src/main/webapp/statistics.html b/ignite-tc-helper-web/src/main/webapp/statistics.html index ffdf9bb..c8dfabc 100644 --- a/ignite-tc-helper-web/src/main/webapp/statistics.html +++ b/ignite-tc-helper-web/src/main/webapp/statistics.html @@ -8,7 +8,7 @@ <script src="https://code.jquery.com/jquery-1.12.4.js"></script> <script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script> <script src="js/common-1.6.js"></script> - <script src="js/testfails-2.0.js"></script> + <script src="js/testfails-2.1.js"></script> <style> table { width: 70%; @@ -33,7 +33,7 @@ var g_updTimer = null; $(document).ready(function() { - $.getScript("js/testfails-2.0.js", function(data, textStatus, jqxhr){ }); + $.getScript("js/testfails-2.1.js", function(data, textStatus, jqxhr){ }); $( document ).tooltip(); loadData();
