summaryrefslogtreecommitdiffstats
path: root/SunSpider/resources
diff options
context:
space:
mode:
Diffstat (limited to 'SunSpider/resources')
-rw-r--r--SunSpider/resources/TEMPLATE.html12
-rw-r--r--SunSpider/resources/driver-TEMPLATE.html115
-rw-r--r--SunSpider/resources/results-TEMPLATE.html108
-rw-r--r--SunSpider/resources/sunspider-standalone-driver.js2
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">&#x2600;</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">&#x2600;</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);