| OLD | NEW |
| 1 <!DOCTYPE HTML> | 1 <!DOCTYPE HTML> |
| 2 <html> | 2 <html> |
| 3 | 3 |
| 4 <head> | 4 <head> |
| 5 <title>Webkit Layout Test History</title> | 5 <title>Webkit Layout Test History</title> |
| 6 <style> | 6 <style> |
| 7 body { | 7 body { |
| 8 font-family: arial; | 8 font-family: arial; |
| 9 font-size: 13px; | 9 font-size: 13px; |
| 10 } | 10 } |
| (...skipping 974 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 985 var rawResults = resultsForTest.rawResults; | 985 var rawResults = resultsForTest.rawResults; |
| 986 | 986 |
| 987 // If the first result is no-data that means the test is skipped or is | 987 // If the first result is no-data that means the test is skipped or is |
| 988 // being run on a different builder (e.g. moved from one shard to another). | 988 // being run on a different builder (e.g. moved from one shard to another). |
| 989 // Ignore these results since we have no real data about what's going on. | 989 // Ignore these results since we have no real data about what's going on. |
| 990 if (rawResults[0][1] == 'N') | 990 if (rawResults[0][1] == 'N') |
| 991 return; | 991 return; |
| 992 | 992 |
| 993 // Only consider flake if it doesn't happen twice in a row. | 993 // Only consider flake if it doesn't happen twice in a row. |
| 994 var MIN_RUNS_FOR_FLAKE = 2; | 994 var MIN_RUNS_FOR_FLAKE = 2; |
| 995 var unexpectedExpectations = []; | |
| 996 var resultsMap = {} | 995 var resultsMap = {} |
| 997 var numResultsSeen = 0; | 996 var numResultsSeen = 0; |
| 998 var haveSeenNonFlakeResult = false; | 997 var haveSeenNonFlakeResult = false; |
| 999 var numRealResults = 0; | 998 var numRealResults = 0; |
| 1000 var failedCount = 0; | 999 var failedCount = 0; |
| 1001 | 1000 |
| 1002 var seenResults = {}; | 1001 var seenResults = {}; |
| 1003 for (var i = 0; | 1002 for (var i = 0; |
| 1004 i < rawResults.length && numResultsSeen < getMaxResults(); | 1003 i < rawResults.length && numResultsSeen < getMaxResults(); |
| 1005 i++) { | 1004 i++) { |
| (...skipping 18 matching lines...) Expand all Loading... |
| 1024 continue; | 1023 continue; |
| 1025 } | 1024 } |
| 1026 | 1025 |
| 1027 var expectation = getExpectationsFileStringForResult(result); | 1026 var expectation = getExpectationsFileStringForResult(result); |
| 1028 resultsMap[expectation] = true; | 1027 resultsMap[expectation] = true; |
| 1029 numRealResults++; | 1028 numRealResults++; |
| 1030 } | 1029 } |
| 1031 | 1030 |
| 1032 resultsForTest.isFlaky = numRealResults > 1; | 1031 resultsForTest.isFlaky = numRealResults > 1; |
| 1033 // Calculate the % of times the test failed - how flaky is it? | 1032 // Calculate the % of times the test failed - how flaky is it? |
| 1034 resultsForTest.percentFailed = Math.round(failedCount / numResultsSeen * 100
); | 1033 resultsForTest.percentFailed = |
| 1034 Math.round(failedCount / numResultsSeen * 100); |
| 1035 | 1035 |
| 1036 var expectationsArray = resultsForTest.expectations ? | 1036 var expectationsArray = resultsForTest.expectations ? |
| 1037 resultsForTest.expectations.split(' ') : []; | 1037 resultsForTest.expectations.split(' ') : []; |
| 1038 var extraExpectations = expectationsArray.filter( | 1038 var extraExpectations = expectationsArray.filter( |
| 1039 function(element) { | 1039 function(element) { |
| 1040 // TODO(ojan): Once all the FAIL lines are removed from | 1040 // TODO(ojan): Once all the FAIL lines are removed from |
| 1041 // test_expectations.txt, delete all the legacyExpectationsSemantics | 1041 // test_expectations.txt, delete all the legacyExpectationsSemantics |
| 1042 // code. | 1042 // code. |
| 1043 if (currentState.legacyExpectationsSemantics) { | 1043 if (currentState.legacyExpectationsSemantics) { |
| 1044 if (element == 'FAIL') { | 1044 if (element == 'FAIL') { |
| (...skipping 437 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1482 } | 1482 } |
| 1483 | 1483 |
| 1484 for (var builder in builders) { | 1484 for (var builder in builders) { |
| 1485 var tests = perBuilderWithExpectationsButNoFailures[builder] | 1485 var tests = perBuilderWithExpectationsButNoFailures[builder] |
| 1486 for (var i = 0; i < tests.length; i++) { | 1486 for (var i = 0; i < tests.length; i++) { |
| 1487 addUpdate(testsNeedingUpdate, tests[i].test, builder, | 1487 addUpdate(testsNeedingUpdate, tests[i].test, builder, |
| 1488 null, tests[i].expectations + ' ' + tests[i].modifiers); | 1488 null, tests[i].expectations + ' ' + tests[i].modifiers); |
| 1489 } | 1489 } |
| 1490 } | 1490 } |
| 1491 | 1491 |
| 1492 appendHTML(JSON.stringify(testsNeedingUpdate)); | 1492 var confirmedTests = {}; |
| 1493 hideLoadingUI(); | 1493 var NUM_UPDATES_BEFORE_BREAK = 20; |
| 1494 var i = 0; |
| 1495 for (test in testsNeedingUpdate) { |
| 1496 i++ |
| 1497 // To maintain sanity when doing updates, give a chance to break out of |
| 1498 // the confirm loop every once in a while. |
| 1499 if (!(i % NUM_UPDATES_BEFORE_BREAK)) { |
| 1500 if (!confirm('Processed ' + i + |
| 1501 ' updates. Continue processing updates?')) |
| 1502 break; |
| 1503 } |
| 1504 |
| 1505 document.body.innerHTML = getHTMLForIndividulTestOnAllBuilders(test); |
| 1506 var confirmStr = 'Include this update?\n' + |
| 1507 JSON.stringify(testsNeedingUpdate[test], null, 4); |
| 1508 if (confirm(confirmStr)) { |
| 1509 confirmedTests[test] = testsNeedingUpdate[test]; |
| 1510 } |
| 1511 } |
| 1512 |
| 1513 document.body.innerHTML = JSON.stringify(confirmedTests); |
| 1494 } | 1514 } |
| 1495 | 1515 |
| 1496 function getHTMLForIndividulTestOnAllBuilders(test) { | 1516 function getHTMLForIndividulTestOnAllBuilders(test) { |
| 1497 createTableHeadersArray('builder'); | 1517 createTableHeadersArray('builder'); |
| 1498 processTestRunsForAllBuilders(); | 1518 processTestRunsForAllBuilders(); |
| 1499 | 1519 |
| 1500 var testResults = testToResultsMap[test]; | 1520 var testResults = testToResultsMap[test]; |
| 1501 var html = ''; | 1521 var html = ''; |
| 1502 if (testResults && testResults.length) { | 1522 if (testResults && testResults.length) { |
| 1503 var tracURL = TEST_URL_BASE_PATH + test | 1523 var tracURL = TEST_URL_BASE_PATH + test |
| (...skipping 611 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2115 hideLegend(); | 2135 hideLegend(); |
| 2116 hidePopup(); | 2136 hidePopup(); |
| 2117 } | 2137 } |
| 2118 }, false); | 2138 }, false); |
| 2119 | 2139 |
| 2120 </script> | 2140 </script> |
| 2121 </head> | 2141 </head> |
| 2122 | 2142 |
| 2123 <body></body> | 2143 <body></body> |
| 2124 </html> | 2144 </html> |
| OLD | NEW |