Changeset 90432 in webkit
- Timestamp:
- Jul 5, 2011 8:44:09 PM (13 years ago)
- Location:
- trunk/Tools
- Files:
-
- 1 added
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Tools/ChangeLog
r90431 r90432 1 2011-07-05 Adam Barth <abarth@webkit.org> 2 3 Add results_unittests.js to garden-o-matic 4 https://bugs.webkit.org/show_bug.cgi?id=63971 5 6 Reviewed by Eric Seidel. 7 8 Adding these unit tests forced me to commit to an API for the results 9 module. I'm not sure if this is the API we'll end up with, but it's 10 something not entirely unreasonable. 11 12 Also, I've changed results.js over to WebKit style, as discussed previously. 13 14 * Scripts/webkitpy/tool/servers/data/gardeningserver/index.html: 15 * Scripts/webkitpy/tool/servers/data/gardeningserver/results.js: 16 * Scripts/webkitpy/tool/servers/data/gardeningserver/results_unittests.js: Added. 17 * Scripts/webkitpy/tool/servers/data/gardeningserver/run-unittests.html: 18 1 19 2011-07-05 Eric Seidel <eric@webkit.org> 2 20 -
trunk/Tools/Scripts/webkitpy/tool/servers/data/gardeningserver/index.html
r90428 r90432 36 36 <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script> 37 37 <script src="base.js"></script> 38 <script src="results.js"></script> 38 39 <script src="main.js"></script> 39 <script src="results.js"></script> 40 <script> 41 function logUnexpectedFailures(builderResults) { 42 unexpectedFailures = builderResults.unexpectedFailures(); 43 console.log('== Unexpected Failures ==') 44 console.log(unexpectedFailures); 45 } 46 47 results.fetchResultsForBuilder('Webkit Linux', logUnexpectedFailures); 48 </script> 40 49 </body> 41 50 </html> -
trunk/Tools/Scripts/webkitpy/tool/servers/data/gardeningserver/results.js
r90428 r90432 1 var results = results || {}; 2 1 3 (function() { 2 var TEST_RESULTS_SERVER = 'http://test-results.appspot.com/';3 var TEST_TYPE = 'layout-tests';4 var RESULTS_NAME = 'full_results.json';5 var MASTER_NAME = 'ChromiumWebkit';6 var FAILING_RESULTS = ['TIMEOUT', 'TEXT', 'CRASH', 'IMAGE','IMAGE+TEXT'];7 4 8 function isFailure(result) { 9 return FAILING_RESULTS.indexOf(result) != -1; 10 } 5 var kTestResultsServer = 'http://test-results.appspot.com/'; 6 var kTestType = 'layout-tests'; 7 var kResultsName = 'full_results.json'; 8 var kMasterName = 'ChromiumWebkit'; 9 var kFailingResults = ['TIMEOUT', 'TEXT', 'CRASH', 'IMAGE','IMAGE+TEXT']; 11 10 12 function anyIsFailure(results_list) { 13 return $.grep(results_list, isFailure).length > 0; 14 } 11 function isFailure(result) 12 { 13 return kFailingResults.indexOf(result) != -1; 14 } 15 15 16 function addImpliedExpectations(results_list) { 17 if (results_list.indexOf('FAIL') == -1) 18 return results_list; 19 return results_list.concat(FAILING_RESULTS); 20 } 16 function anyIsFailure(resultsList) 17 { 18 return $.grep(resultsList, isFailure).length > 0; 19 } 21 20 22 function unexpectedResults(result_node) { 23 var actual_results = result_node.actual.split(' '); 24 var expected_results = addImpliedExpectations(result_node.expected.split(' ')) 21 function addImpliedExpectations(resultsList) 22 { 23 if (resultsList.indexOf('FAIL') == -1) 24 return resultsList; 25 return resultsList.concat(kFailingResults); 26 } 25 27 26 return $.grep(actual_results, function(result) { 27 return expected_results.indexOf(result) == -1; 28 function unexpectedResults(resultNode) 29 { 30 var actualResults = resultNode.actual.split(' '); 31 var expectedResults = addImpliedExpectations(resultNode.expected.split(' ')) 32 33 return $.grep(actualResults, function(result) { 34 return expectedResults.indexOf(result) == -1; 28 35 }); 29 36 } 30 37 31 function isUnexpectedFailure(result_node) { 32 return anyIsFailure(unexpectedResults(result_node)); 33 } 38 function isUnexpectedFailure(resultNode) 39 { 40 return anyIsFailure(unexpectedResults(resultNode)); 41 } 34 42 35 function isResultNode(node) { 43 function isResultNode(node) 44 { 36 45 return !!node.actual; 37 46 } 38 47 39 function logUnexpectedFailures(results_json) { 40 unexpected_failures = base.filterTree(results_json.tests, isResultNode, isUnexpectedFailure); 41 console.log('== Unexpected Failures ==') 42 console.log(unexpected_failures); 43 } 48 results.BuilderResults = function(m_resultsJSON) 49 { 50 this.m_resultsJSON = m_resultsJSON; 51 } 44 52 45 function resultsURL(builder_name, name) { 46 return TEST_RESULTS_SERVER + 'testfile' + 47 '?builder=' + builder_name + 48 '&master=' + MASTER_NAME + 49 '&testtype=' + TEST_TYPE + 50 '&name=' + name; 51 } 53 results.BuilderResults.prototype.unexpectedFailures = function() { 54 return base.filterTree(this.m_resultsJSON.tests, isResultNode, isUnexpectedFailure); 55 } 52 56 53 function fetchResults(builder_name, onsuccess) { 57 function resultsURL(builderName, name) 58 { 59 return kTestResultsServer + 'testfile' + 60 '?builder=' + builderName + 61 '&master=' + kMasterName + 62 '&testtype=' + kTestType + 63 '&name=' + name; 64 } 65 66 results.fetchResultsForBuilder = function(builderName, onsuccess) 67 { 54 68 $.ajax({ 55 url: resultsURL(builder_name, RESULTS_NAME), 56 dataType: 'jsonp', 57 success: onsuccess 69 url: resultsURL(builderName, kResultsName), 70 dataType: 'jsonp', 71 success: function(data) { 72 onsuccess(new results.BuilderResults(data)); 73 } 58 74 }); 59 75 } 60 76 61 fetchResults('Webkit Linux', logUnexpectedFailures);62 77 })(); -
trunk/Tools/Scripts/webkitpy/tool/servers/data/gardeningserver/run-unittests.html
r90430 r90432 3 3 <head> 4 4 <link rel="stylesheet" href="../../../../../../../Source/ThirdParty/qunit/qunit/qunit.css"> 5 <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script> 5 6 <script src="../../../../../../../Source/ThirdParty/qunit/qunit/qunit.js"></script> 6 7 </head> … … 13 14 <script src="base.js"></script> 14 15 <script src="base_unittests.js"></script> 16 <script src="results.js"></script> 17 <script src="results_unittests.js"></script> 15 18 </body> 16 19 </html>
Note: See TracChangeset
for help on using the changeset viewer.