summaryrefslogtreecommitdiffstats
path: root/webkit
diff options
context:
space:
mode:
authorojan@chromium.org <ojan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-11-14 00:31:29 +0000
committerojan@chromium.org <ojan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-11-14 00:31:29 +0000
commitac2bf822a0e45f3a29c0c316f6a4a4b21e2668f2 (patch)
tree456c5af3a8f568aaf3a35da084c4248eda3cb9d5 /webkit
parent0becd7bfab9d99c4c5aec30a4c26c635b5c211fd (diff)
downloadchromium_src-ac2bf822a0e45f3a29c0c316f6a4a4b21e2668f2.zip
chromium_src-ac2bf822a0e45f3a29c0c316f6a4a4b21e2668f2.tar.gz
chromium_src-ac2bf822a0e45f3a29c0c316f6a4a4b21e2668f2.tar.bz2
Add tests that pass on all platforms to the updates JSON for autoupdating
test_expectations. For those tests, we just say that the expectations they're currently listed with are "extra". Also reduce the MIN_RUNS_FOR_FLAKE to 2. If a test has the same results twice in a row, assume it's not flakiness. In the cases where a test is so flaky that sometimes it has the same results twice in a row, it'll show up as flakiness due to other runs. Review URL: http://codereview.chromium.org/393018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31972 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit')
-rw-r--r--webkit/tools/layout_tests/flakiness_dashboard.html59
1 files changed, 42 insertions, 17 deletions
diff --git a/webkit/tools/layout_tests/flakiness_dashboard.html b/webkit/tools/layout_tests/flakiness_dashboard.html
index 6954bc1..dba3b29 100644
--- a/webkit/tools/layout_tests/flakiness_dashboard.html
+++ b/webkit/tools/layout_tests/flakiness_dashboard.html
@@ -363,6 +363,7 @@
return true;
case 'showCorrectExpectations':
+ case 'showWrongExpectations':
case 'showExpectations':
case 'showFlaky':
case 'showLargeExpectations':
@@ -384,6 +385,7 @@
sortOrder: BACKWARD,
sortColumn: 'flakiness',
showCorrectExpectations: false,
+ showWrongExpectations: true,
showExpectations: false,
showFlaky: true,
showLargeExpectations: false,
@@ -870,7 +872,8 @@
// the following:
// LayoutTests/foo/bar = FAIL
// LayoutTests/foo/bar/baz.html = PASS
- noFailures.push(test);
+ noFailures.push({test: test, expectations: expectations.expectations,
+ modifiers: expectations.modifiers});
}
}
}
@@ -985,7 +988,8 @@
if (rawResults[0][1] == 'N')
return;
- var MIN_RUNS_FOR_FLAKE = 3;
+ // Only consider flake if it doesn't happen twice in a row.
+ var MIN_RUNS_FOR_FLAKE = 2;
var unexpectedExpectations = [];
var resultsMap = {}
var numResultsSeen = 0;
@@ -1244,8 +1248,13 @@
if (tests.length) {
html += '<h3>Have not failed in last ' +
resultsByBuilder[builder].buildNumbers.length +
- ' runs.</h3><div id="passing-tests">' + open +
- tests.join('</div>' + open) + '</div></div>';
+ ' runs.</h3><div id="passing-tests">';
+
+ for (var i = 0; i < tests.length; i++) {
+ html += open + tests[i].test + '</div>';
+ }
+
+ html += '</div>';
}
if (skippedPaths.length) {
@@ -1287,7 +1296,7 @@
if (testResult.meetsExpectations)
return !currentState.showCorrectExpectations;
- return false;
+ return !currentState.showWrongExpectations;
}
/**
@@ -1427,6 +1436,22 @@
tests.sort(sortFunctionGetter(resultsProperty, order == BACKWARD));
}
+ function addUpdate(testsNeedingUpdate, test, builderName, missing, extra) {
+ if (!testsNeedingUpdate[test])
+ testsNeedingUpdate[test] = {};
+
+ var buildInfo = getPlatformAndBuildType(builderName);
+ var builder = buildInfo.platform + ' ' + buildInfo.buildType;
+ if (!testsNeedingUpdate[test][builder])
+ testsNeedingUpdate[test][builder] = {};
+
+ if (missing)
+ testsNeedingUpdate[test][builder].missing = missing;
+
+ if (extra)
+ testsNeedingUpdate[test][builder].extra = extra;
+ }
+
function generatePageForExpectationsUpdate() {
processTestRunsForAllBuilders();
var testsNeedingUpdate = {};
@@ -1437,21 +1462,19 @@
if (!thisResult.missing && !thisResult.extra)
continue;
- if (!testsNeedingUpdate[test])
- testsNeedingUpdate[test] = {};
-
- var buildInfo = getPlatformAndBuildType(thisResult.builder);
- var builder = buildInfo.platform + ' ' + buildInfo.buildType;
- if (!testsNeedingUpdate[test][builder])
- testsNeedingUpdate[test][builder] = {};
-
- if (thisResult.missing)
- testsNeedingUpdate[test][builder].missing = thisResult.missing;
+ addUpdate(testsNeedingUpdate, test, thisResult.builder,
+ thisResult.missing, thisResult.extra);
+ }
+ }
- if (thisResult.extra)
- testsNeedingUpdate[test][builder].extra = thisResult.extra;
+ for (var builder in builders) {
+ var tests = perBuilderWithExpectationsButNoFailures[builder]
+ for (var i = 0; i < tests.length; i++) {
+ addUpdate(testsNeedingUpdate, tests[i].test, builder,
+ null, tests[i].expectations + ' ' + tests[i].modifiers);
}
}
+
appendHTML(JSON.stringify(testsNeedingUpdate));
hideLoadingUI();
}
@@ -1905,6 +1928,8 @@
' | ' +
getLinkHTMLToToggleState('showCorrectExpectations',
'tests with correct expectations') + ' | ' +
+ getLinkHTMLToToggleState('showWrongExpectations',
+ 'tests with wrong expectations') + ' | ' +
getLinkHTMLToToggleState('showFlaky', 'flaky') + ' | ' +
getLinkHTMLToToggleState('showSlow', 'slow') + ' | ' +
'All columns are sortable. | ' +