Changes and notes:
- Created `devtools/client/shared/test/telemetry-test-helpers.js`, which
contains test helpers to aid in creating and running telemetry tests.
- Removed any telemetry monkeypatching as it is not dependable and no longer
needed (there is some left in GCLI but the test is now disabled because
we are removing GCLI soon anyhow).
- Because `telemetry-test-helpers.js` is imported by `shared-head.js` I
have had to make it available everywhere that shared-head.js is used.
- All telemetry tests have been rewritten to use the new helper.
- shared-head.js cannot be imported by tests inside
`devtools/client/performance/test/` because perf have custom `once` and
`waitFor` implementations that act differently from the ones inside
`shared-head.js`. This means I had to import the telemetry helpers into
`devtools/client/performance/test/head.js`
- Created `devtools/client/shared/test/browser_telemetry_misc.js` to be sure
to catch `DEVTOOLS_SCREEN_RESOLUTION_ENUMERATED_PER_USER` (we catch a few
others to be thorough).
- Disabled `browser_inspector_menu-02-copy-items.js`, which was failing to
test some expired scalars. I also corrected the way the scalars are logged
because it was completely wrong.
MozReview-Commit-ID: JjQEGM6hT61
44 lines
1.7 KiB
JavaScript
44 lines
1.7 KiB
JavaScript
/* 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/. */
|
|
/* eslint no-unused-vars: [2, {"vars": "local", "args": "none"}] */
|
|
/* import-globals-from helpers.js */
|
|
/* import-globals-from mockCommands.js */
|
|
|
|
"use strict";
|
|
|
|
const TEST_BASE_HTTP = "http://example.com/browser/devtools/client/commandline/test/";
|
|
const TEST_BASE_HTTPS = "https://example.com/browser/devtools/client/commandline/test/";
|
|
|
|
var { require } = ChromeUtils.import("resource://devtools/shared/Loader.jsm", {});
|
|
var flags = require("devtools/shared/flags");
|
|
var { Task } = require("devtools/shared/task");
|
|
|
|
Services.scriptloader.loadSubScript(
|
|
"chrome://mochitests/content/browser/devtools/client/shared/test/telemetry-test-helpers.js", this);
|
|
|
|
// Import the GCLI test helper
|
|
var testDir = gTestPath.substr(0, gTestPath.lastIndexOf("/"));
|
|
Services.scriptloader.loadSubScript(testDir + "/helpers.js", this);
|
|
Services.scriptloader.loadSubScript(testDir + "/mockCommands.js", this, "UTF-8");
|
|
|
|
function whenDelayedStartupFinished(aWindow, aCallback) {
|
|
Services.obs.addObserver(function observer(aSubject, aTopic) {
|
|
if (aWindow == aSubject) {
|
|
Services.obs.removeObserver(observer, aTopic);
|
|
executeSoon(aCallback);
|
|
}
|
|
}, "browser-delayed-startup-finished");
|
|
}
|
|
|
|
/**
|
|
* Force GC on shutdown, because it seems that GCLI can outrun the garbage
|
|
* collector in some situations, which causes test failures in later tests
|
|
* Bug 774619 is an example.
|
|
*/
|
|
registerCleanupFunction(function tearDown() {
|
|
window.QueryInterface(Ci.nsIInterfaceRequestor)
|
|
.getInterface(Ci.nsIDOMWindowUtils)
|
|
.garbageCollect();
|
|
});
|