diff options
Diffstat (limited to 'toolkit/components/perf/test_pm.xul')
-rw-r--r-- | toolkit/components/perf/test_pm.xul | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/toolkit/components/perf/test_pm.xul b/toolkit/components/perf/test_pm.xul new file mode 100644 index 000000000..7dbf27b92 --- /dev/null +++ b/toolkit/components/perf/test_pm.xul @@ -0,0 +1,48 @@ +<?xml version="1.0"?> +<!-- This Source Code Form is subject to the terms of the Mozilla Public + - License, v. 2.0. If a copy of the MPL was not distributed with this + - file, You can obtain one at http://mozilla.org/MPL/2.0/. --> + +<window title="Performance measurement tests" + xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" + onload="test()"> + + <script type="application/javascript" + src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"/> + <script type="application/javascript" + src="chrome://mochikit/content/tests/SimpleTest/EventUtils.js"/> + + <script type="application/javascript"><![CDATA[ +function test() +{ + SimpleTest.waitForExplicitFinish(); + + Components.utils.import("resource://gre/modules/PerfMeasurement.jsm"); + let pm = new PerfMeasurement(PerfMeasurement.ALL); + if (pm.eventsMeasured == 0) { + todo(false, "stub, skipping test"); + } else { + pm.start(); + for (let i = 0; i < 10000; i++) ; + pm.stop(); + + events = ["cpu_cycles", "instructions", "cache_references", "cache_misses", + "branch_instructions", "branch_misses", "bus_cycles", "page_faults", + "major_page_faults", "context_switches", "cpu_migrations"]; + + for (var i = 0; i < events.length; i++) { + var e = events[i]; + ((pm.eventsMeasured & PerfMeasurement[e.toUpperCase()]) ? isnot : todo_is)(pm[e], -1, e); + } + } + SimpleTest.finish(); +} +]]></script> + + <body xmlns="http://www.w3.org/1999/xhtml"> + <p id="display"></p> + <div id="content" style="display:none;"></div> + <pre id="test"></pre> + </body> + <label id="test-result"/> +</window> |