1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- /* Any copyright is dedicated to the Public Domain.
- http://creativecommons.org/publicdomain/zero/1.0/ */
- "use strict";
- /**
- * Tests whether the profiler actor correctly handles the case where the
- * built-in module was already started.
- */
- const Profiler = Cc["@mozilla.org/tools/profiler;1"].getService(Ci.nsIProfiler);
- const WAIT_TIME = 1000; // ms
- function run_test()
- {
- // Ensure the profiler is already running when the test starts.
- Profiler.StartProfiler(1000000, 1, ["js"], 1);
- DevToolsUtils.waitForTime(WAIT_TIME).then(() => {
- get_chrome_actors((client, form) => {
- let actor = form.profilerActor;
- test_start_time(client, actor, () => {
- client.close().then(do_test_finished);
- });
- });
- });
- do_test_pending();
- }
- function test_start_time(client, actor, callback) {
- // Profiler should already be active at this point.
- client.request({ to: actor, type: "isActive" }, firstResponse => {
- do_check_true(Profiler.IsActive());
- do_check_true(firstResponse.isActive);
- do_check_true(firstResponse.currentTime > 0);
- client.request({ to: actor, type: "getProfile" }, secondResponse => {
- do_check_true("profile" in secondResponse);
- do_check_true(secondResponse.currentTime > firstResponse.currentTime);
- callback();
- });
- });
- }
|