diff options
Diffstat (limited to 'testing/talos/talos/tests/kraken/driver.html')
-rw-r--r-- | testing/talos/talos/tests/kraken/driver.html | 192 |
1 files changed, 192 insertions, 0 deletions
diff --git a/testing/talos/talos/tests/kraken/driver.html b/testing/talos/talos/tests/kraken/driver.html new file mode 100644 index 0000000000..690cc4eca7 --- /dev/null +++ b/testing/talos/talos/tests/kraken/driver.html @@ -0,0 +1,192 @@ +<!DOCTYPE html> +<html> +<head> + +<meta charset=utf8> + +<!-- + Copyright (C) 2007 Apple Inc. All rights reserved. + Copyright (C) 2010 Mozilla Foundation + + 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>Kraken JavaScript Benchmark (kraken-1.1 test suite - In Progress...)</title> +<link rel="stylesheet" href="kraken.css"> +</head> + +<body onload="start()"> +<div id="content"> +<h2>Kraken JavaScript Benchmark <small>(In Progress...)</small></h2> +<div id="results"> + +<h3>Content Version: kraken-1.1</h3> + +<script src="resource://talos-powers/TalosContentProfiler.js"></script> +<script src="test-prefix.js"></script> +<script src="test-contents.js"></script> +<script> +var testIndex = -1; +var currentRepeat = -1; +var repeatCount = 10; + +var currentSquare = 1; + +var testName = null; +var param_index = -1; +function parseParams() { + var s = document.location.search.substring(1); + var params = s.replace("%26", "&").split('&'); + for (var i = 0; i < params.length; ++i) { + var fields = params[i].split('='); + switch (fields[0]) { + case 'testName': + testName = fields[1]; + break; + } + } +} +parseParams(); +for (var i=0; i < tests.length; i++) { + if (tests[i] == testName) break; +} +if (i < tests.length) { + tests = [testName]; + param_index = i; +} + +var output = []; +output.length = repeatCount; +for (var i = 0; i < output.length; i++) { + output[i] = {}; +} + +function initSquares() { + var squaresDiv = document.getElementById("squares"); + var id = 0; + for (var i = 0; i < repeatCount; i++) { + for (var j = 0; j <= tests.length; j++) { + id++; + squaresDiv.innerHTML += "<span class='incomplete-square' id='square-" + id + "'>\u25A0</span>"; + } + squaresDiv.innerHTML += "<br>"; + } +} + +function completeSquare() { + var square = document.getElementById("square-" + currentSquare); + if (square) { + square.className = "complete-square"; + currentSquare++; + } +} + +function start() +{ + initSquares(); + window.setTimeout(reallyNext, 500); +} + +function next() +{ + window.setTimeout(reallyNext, 10); +} + +function reallyNext() +{ + completeSquare(); + document.getElementById("frameparent").innerHTML = ""; + document.getElementById("frameparent").innerHTML = "<iframe id='testframe'>"; + var testFrame = document.getElementById("testframe"); + testIndex++; + var test_data = testContents[testIndex]; + if (param_index >= 0) { + test_data = testContents[param_index]; + } + + if (testIndex < tests.length) { + testFrame.contentDocument.open(); + testFrame.contentDocument.write(test_data); + testFrame.contentDocument.close; + } else if (++currentRepeat < repeatCount) { + testIndex = 0; + if (param_index < 0) { + test_data = testContents[testIndex]; + } + testFrame.contentDocument.open(); + testFrame.contentDocument.write(test_data); + testFrame.contentDocument.close; + } else { + finish(); + } +} + +function recordResult(time) +{ + if (currentRepeat >= 0) // negative repeats are warmups + output[currentRepeat][tests[testIndex]] = time; + next(); +} + +function finish() +{ + if ( typeof tpRecordTime !== "undefined" ) { + for (var test in output[0]) { + first = true; + rawValues = ""; + for (var i=0;i<output.length; i++) { + if (first == true) { + rawValues = output[i][test]; + first = false; + } else { + rawValues += "," + output[i][test]; + } + } + tpRecordTime( rawValues ); + } + } else { + var outputString = "{"; + outputString += '"v": "kraken-1.1", '; + 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> +<div id="squares"></div> +</div> +</div> +</body> +</html> |