diff options
Diffstat (limited to 'SunSpider/resources')
-rw-r--r-- | SunSpider/resources/TEMPLATE.html | 12 | ||||
-rw-r--r-- | SunSpider/resources/driver-TEMPLATE.html | 115 | ||||
-rw-r--r-- | SunSpider/resources/results-TEMPLATE.html | 108 | ||||
-rw-r--r-- | SunSpider/resources/sunspider-standalone-driver.js | 2 |
4 files changed, 234 insertions, 3 deletions
diff --git a/SunSpider/resources/TEMPLATE.html b/SunSpider/resources/TEMPLATE.html index 926150d..3dc3f2f 100644 --- a/SunSpider/resources/TEMPLATE.html +++ b/SunSpider/resources/TEMPLATE.html @@ -1,5 +1,8 @@ <!DOCTYPE html> <head> + +<meta charset=utf8> + <!-- Copyright (C) 2007 Apple Inc. All rights reserved. @@ -26,15 +29,20 @@ --> <title>SunSpider @NAME@</title> -<link rel="stylesheet" href="sunspider.css"></link> +<link rel="stylesheet" href="../sunspider.css"> </head> <body> <h3>@NAME@</h3> <div id="console"> </div> -<script src="sunspider-record-result.js"></script> <script> +function record(time) { + document.getElementById("console").innerHTML = time + "ms"; + if (window.parent) { + parent.recordResult(time); + } +} var _sunSpiderStartDate = new Date(); diff --git a/SunSpider/resources/driver-TEMPLATE.html b/SunSpider/resources/driver-TEMPLATE.html new file mode 100644 index 0000000..12d0952 --- /dev/null +++ b/SunSpider/resources/driver-TEMPLATE.html @@ -0,0 +1,115 @@ +<!DOCTYPE html> +<html> +<head> + +<meta charset=utf8> + +<!-- + Copyright (C) 2007 Apple Inc. All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY + EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY + OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +--> + +<title>SunSpider 0.9.1 JavaScript Benchmark (@SUITE@ test suite - In Progress...)</title> +<link rel="stylesheet" href="../sunspider.css"> +</head> + +<body onload="start()"> + +<h2><span id="logo">☀</span>SunSpider JavaScript Benchmark <small>(In Progress...)</small></h2> +<h3>Content Version: @SUITE@</h3> + +<script src="sunspider-test-prefix.js"></script> +<script src="sunspider-test-contents.js"></script> +<script> +var testIndex = -1; +var currentRepeat = -1; +var repeatCount = 10; + +var output = []; +output.length = repeatCount; +for (var i = 0; i < output.length; i++) { + output[i] = {}; +} + +function start() +{ + window.setTimeout(reallyNext, 500); +} + +function next() +{ + window.setTimeout(reallyNext, 10); +} + +function reallyNext() +{ + document.getElementById("frameparent").innerHTML = ""; + document.getElementById("frameparent").innerHTML = "<iframe id='testframe'>"; + var testFrame = document.getElementById("testframe"); + testIndex++; + if (testIndex < tests.length) { + testFrame.contentDocument.open(); + testFrame.contentDocument.write(testContents[testIndex]); + testFrame.contentDocument.close; + } else if (++currentRepeat < repeatCount) { + testIndex = 0; + testFrame.contentDocument.open(); + testFrame.contentDocument.write(testContents[testIndex]); + testFrame.contentDocument.close; + } else { + finish(); + } +} + +function recordResult(time) +{ + if (currentRepeat >= 0) // negative repeats are warmups + output[currentRepeat][tests[testIndex]] = time; + next(); +} + +function finish() +{ + var outputString = "{"; + outputString += '"v": "@SUITE@", '; + for (var test in output[0]) { + outputString += '"' + test + '":['; + for (var i = 0; i < output.length; i++) { + outputString += output[i][test] + ","; + } + outputString = outputString.substring(0, outputString.length - 1); + outputString += "],"; + } + outputString = outputString.substring(0, outputString.length - 1); + outputString += "}"; + + location = "results.html?" + encodeURI(outputString); +} + +</script> + +<div id="frameparent"> +</div> + +</body> +</html> diff --git a/SunSpider/resources/results-TEMPLATE.html b/SunSpider/resources/results-TEMPLATE.html new file mode 100644 index 0000000..d5007fd --- /dev/null +++ b/SunSpider/resources/results-TEMPLATE.html @@ -0,0 +1,108 @@ +<!DOCTYPE html> +<html> +<head> + +<meta charset=utf8> + +<!-- + Copyright (C) 2007 Apple Inc. All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY + EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY + OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +--> + +<title>SunSpider 0.9.1 JavaScript Benchmark Results (@SUITE@ test suite)</title> +<link rel="stylesheet" href="../sunspider.css"> +</head> + +<body> +<h2><span id="logo">☀</span>SunSpider 0.9.1 JavaScript Benchmark Results</h2> + +<h3>Content Version: @SUITE@</h3> + +<p><a href="driver.html">Run Again</a></p> + +<p><input style="width: 90%;" id="selfUrl" type="text" readonly="readonly"><br> +<small>(You can bookmark this results URL for later comparison.)</small></p> + +<form onsubmit="event.preventDefault(); compare(other.value);">To compare to another run, paste a saved result URL in the text field below and press enter:<br> +<input style="width: 90%;" name="other" type="text"><br> +</form> + +<pre id="console"> +</pre> + +<script src="../json2.js"></script> +<script> +var selfUrlInput = document.getElementById("selfUrl"); +selfUrlInput.value = location; + +var outputJSON = JSON.parse(decodeURI(location.search.substring(1))); +var version = outputJSON["v"]; +delete outputJSON["v"]; +var output = pivot(outputJSON); + +function pivot(input) { + var output = []; + for (var test in input) { + for (var i = 0; i < input[test].length; i++) { + if (!output[i]) + output[i] = {}; + output[i][test] = input[test][i]; + } + } + return output; +} + +function print(str) { + var console = document.getElementById("console"); + console.appendChild(document.createTextNode(str)); + console.appendChild(document.createElement("br")); +} +</script> + +<script src="sunspider-test-prefix.js"></script> +<script src="../sunspider-analyze-results.js"></script> +<script src="../sunspider-compare-results.js"></script> + +<script> +var output2 = output; +var version2 = version; + +function compare(other) +{ + document.getElementById("console").innerHTML = ""; + + var output1JSON = JSON.parse(decodeURI(other.split("?")[1])); + var version1 = output1JSON["v"]; + delete output1JSON["v"]; + if (version1 != version2) { + print("ERROR: cannot compare version " + version1 + ' with version ' + version2); + } else { + var output1 = pivot(output1JSON); + sunspiderCompareResults(output1, output2); + } +} +</script> + + +</body> +</html> diff --git a/SunSpider/resources/sunspider-standalone-driver.js b/SunSpider/resources/sunspider-standalone-driver.js index 8c6d237..3a8a3e9 100644 --- a/SunSpider/resources/sunspider-standalone-driver.js +++ b/SunSpider/resources/sunspider-standalone-driver.js @@ -30,7 +30,7 @@ var times = []; times.length = tests.length; for (var j = 0; j < tests.length; j++) { - var testName = "tests/" + tests[j] + ".js"; + var testName = "tests/" + suiteName + "/" + tests[j] + ".js"; var startTime = new Date; if (testName.indexOf('parse-only') >= 0) checkSyntax(testName); |