Index: Tools/GardeningServer/scripts/results_unittests.js |
diff --git a/Tools/GardeningServer/scripts/results_unittests.js b/Tools/GardeningServer/scripts/results_unittests.js |
index f0dca047bac0138a0384625bdfd3392e0f16a317..6a41d496ed8408b78487faa9a3e1cf2ddca2e6f2 100644 |
--- a/Tools/GardeningServer/scripts/results_unittests.js |
+++ b/Tools/GardeningServer/scripts/results_unittests.js |
@@ -31,128 +31,6 @@ module("results"); |
var MockResultsBaseURL = 'https://storage.googleapis.com/chromium-layout-test-archives/Mock_Builder/results/layout-test-results'; |
-unittest.kExampleResultsJSON = { |
- "tests": { |
- "scrollbars": { |
- "custom-scrollbar-with-incomplete-style.html": { |
- "expected": "IMAGE", |
- "actual": "IMAGE", |
- }, |
- "expected-wontfix": { |
- "expected": "WONTFIX", |
- "actual": "SKIP", |
- }, |
- "flaky-scrollbar.html": { |
- "expected": "PASS", |
- "actual": "PASS TEXT", |
- "is_unexpected": true, |
- }, |
- "unexpected-failing-flaky-scrollbar.html": { |
- "expected": "TEXT", |
- "actual": "TIMEOUT TEXT", |
- "is_unexpected": true, |
- }, |
- "unexpected-pass.html": { |
- "expected": "FAIL", |
- "actual": "PASS", |
- "is_unexpected": true, |
- } |
- }, |
- "userscripts": { |
- "user-script-video-document.html": { |
- "expected": "FAIL", |
- "actual": "TEXT", |
- }, |
- "another-test.html": { |
- "expected": "PASS", |
- "actual": "TEXT", |
- "is_unexpected": true, |
- } |
- }, |
- }, |
- "skipped": 339, |
- "num_regressions": 14, |
- "interrupted": false, |
- "layout_tests_dir": "\/mnt\/data\/b\/build\/slave\/Webkit_Linux\/build\/src\/third_party\/WebKit\/LayoutTests", |
- "version": 3, |
- "num_passes": 15566, |
- "has_pretty_patch": false, |
- "fixable": 1233, |
- "num_flaky":1, |
- "has_wdiff": true, |
- "blink_revision": "90430" |
-}; |
- |
-test("ResultAnalyzer", 44, function() { |
- var analyzer; |
- |
- analyzer = new results.ResultAnalyzer({expected: 'PASS', actual: 'TEXT', is_unexpected: true}); |
- ok(analyzer.hasUnexpectedFailures()); |
- deepEqual(analyzer.unexpectedResults(), ['TEXT']); |
- ok(!analyzer.succeeded()); |
- ok(!analyzer.flaky()); |
- |
- analyzer = new results.ResultAnalyzer({expected: 'PASS TIMEOUT', actual: 'TEXT', is_unexpected: true}); |
- ok(analyzer.hasUnexpectedFailures()); |
- deepEqual(analyzer.unexpectedResults(), ['TEXT']); |
- ok(!analyzer.succeeded()); |
- ok(!analyzer.flaky()); |
- |
- analyzer = new results.ResultAnalyzer({expected: 'TEXT', actual: 'TEXT TIMEOUT', is_unexpected: true}); |
- ok(analyzer.hasUnexpectedFailures()); |
- deepEqual(analyzer.unexpectedResults(), ['TIMEOUT']); |
- ok(!analyzer.succeeded()); |
- ok(analyzer.flaky()); |
- |
- analyzer = new results.ResultAnalyzer({expected: 'PASS', actual: 'TEXT TIMEOUT', is_unexpected: true}); |
- ok(analyzer.hasUnexpectedFailures()); |
- deepEqual(analyzer.unexpectedResults(), ['TEXT', 'TIMEOUT']); |
- ok(!analyzer.succeeded()); |
- ok(analyzer.flaky()); |
- |
- analyzer = new results.ResultAnalyzer({expected: 'PASS TIMEOUT', actual: 'PASS TIMEOUT'}); |
- ok(!analyzer.hasUnexpectedFailures()); |
- deepEqual(analyzer.unexpectedResults(), []); |
- ok(analyzer.succeeded()); |
- ok(analyzer.flaky()); |
- |
- analyzer = new results.ResultAnalyzer({expected: 'PASS TIMEOUT', actual: 'TIMEOUT PASS'}); |
- ok(!analyzer.hasUnexpectedFailures()); |
- deepEqual(analyzer.unexpectedResults(), []); |
- ok(analyzer.succeeded()); |
- ok(analyzer.flaky()); |
- |
- analyzer = new results.ResultAnalyzer({expected: 'FAIL', actual: 'TIMEOUT', is_unexpected: true}); |
- ok(analyzer.hasUnexpectedFailures()); |
- deepEqual(analyzer.unexpectedResults(), ['TIMEOUT']); |
- ok(!analyzer.succeeded()); |
- ok(!analyzer.flaky()); |
- |
- analyzer = new results.ResultAnalyzer({expected: 'FAIL', actual: 'IMAGE', is_unexpected: true}); |
- ok(analyzer.hasUnexpectedFailures()); |
- deepEqual(analyzer.unexpectedResults(), ['IMAGE']); |
- ok(!analyzer.succeeded()); |
- ok(!analyzer.flaky()); |
- |
- analyzer = new results.ResultAnalyzer({expected: 'FAIL', actual: 'AUDIO'}); |
- ok(!analyzer.hasUnexpectedFailures()); |
- deepEqual(analyzer.unexpectedResults(), []); |
- ok(!analyzer.succeeded()); |
- ok(!analyzer.flaky()); |
- |
- analyzer = new results.ResultAnalyzer({expected: 'FAIL', actual: 'TEXT'}); |
- ok(!analyzer.hasUnexpectedFailures()); |
- deepEqual(analyzer.unexpectedResults(), []); |
- ok(!analyzer.succeeded()); |
- ok(!analyzer.flaky()); |
- |
- analyzer = new results.ResultAnalyzer({expected: 'FAIL', actual: 'IMAGE+TEXT'}); |
- ok(!analyzer.hasUnexpectedFailures()); |
- deepEqual(analyzer.unexpectedResults(), []); |
- ok(!analyzer.succeeded()); |
- ok(!analyzer.flaky()); |
-}); |
- |
test("trimExtension", 6, function() { |
equals(results._trimExtension("xyz"), "xyz"); |
equals(results._trimExtension("xy.z"), "xy"); |
@@ -162,89 +40,6 @@ test("trimExtension", 6, function() { |
equals(results._trimExtension(""), ""); |
}); |
-test("joinPath", 1, function() { |
- var value = results._joinPath("path/to", "test.html"); |
- equals(value, "path/to/test.html"); |
-}); |
- |
-test("joinPath with empty parent", 1, function() { |
- var value = results._joinPath("", "test.html"); |
- equals(value, "test.html"); |
-}); |
- |
-test("filterTree", 2, function() { |
- var tree = { |
- 'path': { |
- 'to': { |
- 'test.html': { |
- 'actual': 'PASS', |
- 'expected': 'FAIL' |
- } |
- }, |
- 'another.html': { |
- 'actual': 'TEXT', |
- 'expected': 'PASS' |
- } |
- } |
- } |
- |
- function isLeaf(node) |
- { |
- return !!node.actual; |
- } |
- |
- function actualIsText(node) |
- { |
- return node.actual == 'TEXT'; |
- } |
- |
- var all = results._filterTree(tree, isLeaf, function() { return true }); |
- deepEqual(all, { |
- 'path/to/test.html': { |
- 'actual': 'PASS', |
- 'expected': 'FAIL' |
- }, |
- 'path/another.html': { |
- 'actual': 'TEXT', |
- 'expected': 'PASS' |
- } |
- }); |
- |
- var text = results._filterTree(tree, isLeaf, actualIsText); |
- deepEqual(text, { |
- 'path/another.html': { |
- 'actual': 'TEXT', |
- 'expected': 'PASS' |
- } |
- }); |
-}); |
- |
-test("unexpectedFailures", 1, function() { |
- var unexpectedFailures = results.unexpectedFailures(unittest.kExampleResultsJSON); |
- deepEqual(unexpectedFailures, { |
- "userscripts/another-test.html": { |
- "expected": "PASS", |
- "actual": "TEXT", |
- "is_unexpected": true, |
- } |
- }); |
-}); |
- |
-test("unexpectedFailuresByTest", 1, function() { |
- var unexpectedFailuresByTest = results.unexpectedFailuresByTest({ |
- "Mock Builder": unittest.kExampleResultsJSON |
- }); |
- deepEqual(unexpectedFailuresByTest, { |
- "userscripts/another-test.html": { |
- "Mock Builder": { |
- "expected": "PASS", |
- "actual": "TEXT", |
- "is_unexpected": true, |
- } |
- } |
- }); |
-}); |
- |
test("failureInfo", 1, function() { |
var failureInfo = results.failureInfo("userscripts/another-test.html", "Mock Builder", "FAIL PASS"); |
deepEqual(failureInfo, { |
@@ -284,172 +79,6 @@ test("resultType", 12, function() { |
equals(results.resultType("http://example.com/foo.xyz"), "text"); |
}); |
-test("resultNodeForTest", 4, function() { |
- deepEqual(results.resultNodeForTest(unittest.kExampleResultsJSON, "userscripts/another-test.html"), { |
- "expected": "PASS", |
- "actual": "TEXT", |
- "is_unexpected": true, |
- }); |
- equals(results.resultNodeForTest(unittest.kExampleResultsJSON, "foo.html"), null); |
- equals(results.resultNodeForTest(unittest.kExampleResultsJSON, "userscripts/foo.html"), null); |
- equals(results.resultNodeForTest(unittest.kExampleResultsJSON, "userscripts/foo/bar.html"), null); |
-}); |
- |
-asyncTest("walkHistory", 1, function() { |
- var simulator = new NetworkSimulator(); |
- |
- var keyMap = { |
- "Mock_Builder": { |
- "11108": { |
- "tests": { |
- "userscripts": { |
- "another-test.html": { |
- "expected": "PASS", |
- "actual": "TEXT", |
- "is_unexpected": true, |
- } |
- }, |
- }, |
- "blink_revision": "90430" |
- }, |
- "11107":{ |
- "tests": { |
- "userscripts": { |
- "user-script-video-document.html": { |
- "expected": "FAIL", |
- "actual": "TEXT", |
- "is_unexpected": false, |
- }, |
- "another-test.html": { |
- "expected": "PASS", |
- "actual": "TEXT", |
- "is_unexpected": true, |
- } |
- }, |
- }, |
- "blink_revision": "90429" |
- }, |
- "11106":{ |
- "tests": { |
- "userscripts": { |
- "another-test.html": { |
- "expected": "PASS", |
- "actual": "TEXT", |
- "is_unexpected": true, |
- } |
- }, |
- }, |
- "blink_revision": "90426" |
- }, |
- "11105":{ |
- "tests": { |
- "userscripts": { |
- "user-script-video-document.html": { |
- "expected": "FAIL", |
- "actual": "TEXT", |
- "is_unexpected": false, |
- }, |
- }, |
- }, |
- "blink_revision": "90424" |
- }, |
- }, |
- "Another_Builder": { |
- "22202":{ |
- "tests": { |
- "userscripts": { |
- "another-test.html": { |
- "expected": "PASS", |
- "actual": "TEXT", |
- "is_unexpected": true, |
- } |
- }, |
- }, |
- "blink_revision": "90426" |
- }, |
- "22201":{ |
- "tests": { |
- }, |
- "blink_revision": "90425" |
- }, |
- }, |
- }; |
- |
- simulator.jsonp = function(url) { |
- var result = keyMap[/[^/]+_Builder/.exec(url)][/\d+/.exec(url)]; |
- return Promise.resolve(result ? result : {}); |
- }; |
- |
- simulator.json = function(url) { |
- if (/Mock Builder/.test(url)) |
- return Promise.resolve({cachedBuilds: [11101, 11102, 11103, 11104, 11105, 11106, 11107, 11108]}); |
- else if (/Another Builder/.test(url)) |
- return Promise.resolve({cachedBuilds: [22201, 22202]}); |
- else |
- return Promise.reject(false, 'Unexpected URL: ' + url); |
- }; |
- |
- simulator.runTest(function() { |
- results.regressionRangeForFailure("Mock Builder", "userscripts/another-test.html") |
- .then(function(result) { |
- var oldestFailingRevision = result[0]; |
- var newestPassingRevision = result[1]; |
- equals(oldestFailingRevision, 90426); |
- equals(newestPassingRevision, 90424); |
- }); |
- results.unifyRegressionRanges(["Mock Builder", "Another Builder"], "userscripts/another-test.html") |
- .then(function(result) { |
- var oldestFailingRevision = result[0]; |
- var newestPassingRevision = result[1]; |
- equals(oldestFailingRevision, 90426); |
- equals(newestPassingRevision, 90425); |
- }); |
- }).then(start); |
-}); |
- |
-asyncTest("walkHistory (no revision)", 3, function() { |
- var simulator = new NetworkSimulator(); |
- |
- var keyMap = { |
- "Mock_Builder": { |
- "11103": { |
- "tests": { |
- "userscripts": { |
- "another-test.html": { |
- "expected": "PASS", |
- "actual": "TEXT" |
- } |
- }, |
- }, |
- "blink_revision": "" |
- }, |
- "11102":{ |
- "tests": { |
- }, |
- "blink_revision": "" |
- }, |
- }, |
- }; |
- |
- simulator.jsonp = function(url) { |
- var result = keyMap[/[^/]+_Builder/.exec(url)][/\d+/.exec(url)]; |
- return Promise.resolve(result ? result : {}); |
- }; |
- |
- simulator.json = function(url) { |
- return Promise.resolve({}); |
- }; |
- |
- simulator.runTest(function() { |
- results.regressionRangeForFailure("Mock Builder", "userscripts/another-test.html").then(function(result) { |
- var oldestFailingRevision = result[0]; |
- var newestPassingRevision = result[1]; |
- equals(oldestFailingRevision, 0); |
- equals(newestPassingRevision, 0); |
- }).then(start); |
- }); |
-}); |
- |
asyncTest("fetchResultsURLs", 5, function() { |
var simulator = new NetworkSimulator(); |
@@ -513,30 +142,4 @@ asyncTest("fetchResultsURLs", 5, function() { |
}); |
}); |
-asyncTest("fetchResultsByBuilder", 3, function() { |
- var simulator = new NetworkSimulator(); |
- |
- var probedURLs = []; |
- simulator.jsonp = function(url) |
- { |
- probedURLs.push(url); |
- return Promise.resolve(url.endsWith('results/layout-test-results/failing_results.json')); |
- }; |
- |
- simulator.runTest(function() { |
- results.fetchResultsByBuilder(['MockBuilder1', 'MockBuilder2']).then(function(resultsByBuilder) { |
- deepEqual(resultsByBuilder, { |
- "MockBuilder1": true, |
- "MockBuilder2": true, |
- }); |
- }); |
- }).then(start); |
- |
- deepEqual(probedURLs, [ |
- MockResultsBaseURL.replace('Mock_Builder', 'MockBuilder1') + "/failing_results.json", |
- MockResultsBaseURL.replace('Mock_Builder', 'MockBuilder2') + "/failing_results.json" |
- ]); |
- |
-}); |
- |
})(); |