| --- scripts/WebGL/webgl-conformance-tests.html 2012-02-17 13:30:20.000000000 |
| +++ scripts/WebGL/webgl-conformance-tests.html 2012-02-17 16:25:14.000000000 |
| @@ -342,12 +342,48 @@ |
| if (this.currentPage != null) { |
| this.currentPage.finishPage(success); |
| this.currentPage = null; |
| } |
| }; |
| |
| + // send results to autotest graphics_WebGLConformance.py |
| + Reporter.prototype.postFinalResults = function(summary) { |
| + var xhr = new XMLHttpRequest(); |
| + xhr.open('POST', 'http://localhost:8000/WebGL/results', false); |
| + xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); |
| + xhr.onreadystatechange = function() { |
| + if (xhr.readyState != 4) { return; } |
| + } |
| + msg = ""; |
| + var totalPages = 0; |
| + var totalSuccessfulPages = 0; |
| + var totalTests = 0; |
| + var totalSuccessful = 0; |
| + var totalTimeouts = 0; |
| + |
| + for (var url in this.pagesByURL) { |
| + var page = this.pagesByURL[url]; |
| + ++totalPages; |
| + totalTests += page.totalTests; |
| + totalSuccessful += page.totalSuccessful; |
| + totalTimeouts += page.totalTimeouts; |
| + pageFailures = page.totalTests - page.totalSuccessful; |
| + if (pageFailures == 0) |
| + ++totalSuccessfulPages; |
| + else |
| + msg = msg + "&" + escape("failed_url:" + url) + "=" + pageFailures; |
| + } |
| + // pages or group counts (coarse) |
| + msg = msg + ">otal=" + totalPages + "&gpass=" + totalSuccessfulPages; |
| + // individual test counts (fine) |
| + msg = msg + "&ttotal=" + totalTests + "&tpass=" + totalSuccessful; |
| + msg = msg + "&ttimeout=" + totalTimeouts; |
| + // copy of the text summary to store on the file system |
| + msg = msg + "&summary=" + escape(summary); |
| + xhr.send(msg); |
| + } |
| Reporter.prototype.displayFinalResults = function(msg, success) { |
| if (success) { |
| var totalTests = 0; |
| var totalSuccessful = 0; |
| var totalTimeouts = 0; |
| for (var url in this.pagesByURL) { |
| @@ -398,15 +434,19 @@ |
| tx += "Generated on: " + (new Date()).toString() + "\n"; |
| |
| var r = document.getElementById("testResultsAsText"); |
| while (r.firstChild) r.removeChild(r.firstChild); |
| r.appendChild(document.createTextNode(tx)); |
| document.getElementById("showTextSummary").style.visibility = "visible"; |
| + // send results to autotest graphics_WebGLConformance |
| + this.postFinalResults(tx); |
| } else { |
| var e = document.getElementById("error"); |
| e.innerHTML = msg; |
| + // send results to autotest graphics_WebGLConformance |
| + this.postFinalResults("Error: " + msg); |
| } |
| }; |
| |
| Reporter.prototype.ready = function() { |
| var loading = document.getElementById("loading"); |
| loading.style.display = "none"; |
| @@ -489,12 +529,14 @@ |
| }; |
| if (reporter.noWebGL) { |
| button.disabled = true; |
| var elem = document.getElementById("nowebgl"); |
| elem.style.display = ""; |
| } |
| + // Wait 3 seconds for filelist to load async. Then automatically start. |
| + setTimeout(testHarness.runTests.bind(testHarness), 3000); |
| } |
| </script> |
| </head> |
| <body onload="start()"> |
| <table border="2"> |
| <tr style="height: 300px;"> |