Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(827)

Side by Side Diff: LayoutTests/fast/harness/archived-results-dashboard.html

Issue 502953003: Added support for re-running of layout tests form the dashboard. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Fixing Failures Created 6 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | LayoutTests/fast/harness/resources/archived-results-dashboard-test.js » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 <!DOCTYPE html> 1 <!DOCTYPE html>
2 <style> 2 <style>
3 html { 3 html {
4 height: 100%; 4 height: 100%;
5 } 5 }
6 body { 6 body {
7 margin: 0; 7 margin: 0;
8 font-family: Helvetica, sans-serif; 8 font-family: Helvetica, sans-serif;
9 font-size: 11pt; 9 font-size: 11pt;
10 display: -webkit-flex; 10 display: -webkit-flex;
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
73 { 73 {
74 globalState().results = input; 74 globalState().results = input;
75 } 75 }
76 </script> 76 </script>
77 <script src="archived_results.json"></script> 77 <script src="archived_results.json"></script>
78 <script> 78 <script>
79 function processGlobalStateFor(testObject) 79 function processGlobalStateFor(testObject)
80 { 80 {
81 var table = document.getElementById('results-table'); 81 var table = document.getElementById('results-table');
82 var row = table.insertRow(-1); 82 var row = table.insertRow(-1);
83 var checkboxcell = row.insertCell(-1);
84 var checkbox = document.createElement("input");
85 checkbox.setAttribute('type','checkbox');
86 checkboxcell.appendChild(checkbox);
83 var cell = row.insertCell(-1); 87 var cell = row.insertCell(-1);
84 cell.innerHTML = testObject.name; 88 cell.innerHTML = testObject.name;
85 for (var result in testObject.archived_results) { 89 for (var result in testObject.archived_results) {
86 var res = testObject.archived_results[result]; 90 var res = testObject.archived_results[result];
87 var cell = row.insertCell(-1); 91 var cell = row.insertCell(-1);
88 if( res == 'PASS') 92 if( res == 'PASS')
89 cell.className = 'test-pass'; 93 cell.className = 'test-pass';
90 else if( res == 'SKIP') 94 else if( res == 'SKIP')
91 cell.className = 'test-skip'; 95 cell.className = 'test-skip';
92 else 96 else
(...skipping 14 matching lines...) Expand all
107 for (var key in tree) { 111 for (var key in tree) {
108 var newPrefix = prefix ? (prefix + '/' + key) : key; 112 var newPrefix = prefix ? (prefix + '/' + key) : key;
109 if ('archived_results' in tree[key]) { 113 if ('archived_results' in tree[key]) {
110 var testObject = tree[key]; 114 var testObject = tree[key];
111 testObject.name = newPrefix; 115 testObject.name = newPrefix;
112 handler(testObject); 116 handler(testObject);
113 } else 117 } else
114 forEachTest(handler, tree[key], newPrefix); 118 forEachTest(handler, tree[key], newPrefix);
115 } 119 }
116 } 120 }
121 function getTests()
122 {
123 var table = document.getElementById('results-table');
124 var testCount = table.rows.length;
125 //FIXME : CONVERT TO JSON
126 var tests_list = '';
127 for(var i = 1; i < testCount; i++) {
128 var selected = table.rows[i].cells[0].getElementsByTagName("input")[0];
129 if(selected.checked) {
130 var test = table.rows[i].cells[1].innerHTML;
131 tests_list += test + ' ' ;
132 }
133 }
134 return tests_list;
135 }
136 function rerun()
137 {
138 var log = document.getElementById('log');
139 log.innerHTML = 'Re running tests again';
140 var testList = getTests()
141 if (testList == '')
142 alert('Please select atlest one Test');
143 else {
144 xmlhttp = new XMLHttpRequest();
145 var url ='http://localhost:9630/';
146 xmlhttp.open('POST', url, true);
147 xmlhttp.onerror = function() {
148 alert('Server offline');
149 }
150 xmlhttp.setRequestHeader("Content-type", "application/json");
151 xmlhttp.onreadystatechange = function() {
152 if(xmlhttp.readyState > 0)
153 document.body.innerHTML = xmlhttp.responseText;
154 }
155 xmlhttp.send(String(getTests()));
156 }
157 }
158 function checkalltests()
159 {
160 var value = document.getElementById("check_all").checked;
161 var table = document.getElementById("results-table");
162 var length = table.rows.length;
163 for (var i = 1; i < length; i++) {
164 var checkbox = table.rows[i].cells[0].getElementsByTagName("input")[0];
165 checkbox.checked = value;
166 }
167
168 }
169
117 function generatePage() 170 function generatePage()
118 { 171 {
119 var count = globalState().results.result_links.length; 172 var count = globalState().results.result_links.length;
120 var tableHeader= '<div><table id= results-table><thead><tr>' + 173 var tableHeader= '<div><table id=results-table><thead><tr>' +
174 '<th>' + '<input type="checkbox" name="checkall" id="check_all" onclick= "checkalltests()"></input>' + ' Rerun' + '</th>' +
175
121 '<th>Failing Tests ( Latest &#8594; Oldest )</th>'; 176 '<th>Failing Tests ( Latest &#8594; Oldest )</th>';
122 for( var i = 0; i < count; i++) 177 for( var i = 0; i < count; i++)
123 tableHeader += '<th>'+ (i+1) +'</th>'; 178 tableHeader += '<th>'+ (i+1) +'</th>';
124 tableHeader += '</thead>'; 179 tableHeader += '</thead>';
125 document.body.innerHTML += tableHeader; 180 document.body.innerHTML += tableHeader;
126 document.body.innerHTML += '</table></div>'; 181 document.body.innerHTML += '</table></div>';
127 182
128 forEachTest(processGlobalStateFor); 183 forEachTest(processGlobalStateFor);
129 } 184 }
130 </script> 185 </script>
131 <!-- To run the tests --> 186 <!-- To run the tests -->
132 <script src="resources/archived-results-dashboard-test.js"></script> 187 <script src="resources/archived-results-dashboard-test.js"></script>
133 <body onload="generatePage()"><h1>Dashboard</h1></body> 188 <body onload="generatePage()">
189 <h1>Dashboard</h1>
190 <p id=log></p>
191 <p><button onclick="rerun()">Re Run Tests</button></p>
192 </body>
134 </html> 193 </html>
OLDNEW
« no previous file with comments | « no previous file | LayoutTests/fast/harness/resources/archived-results-dashboard-test.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698