| 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"
|
| - ]);
|
| -
|
| -});
|
| -
|
| })();
|
|
|