--- a/.eslintignore
+++ b/.eslintignore
@@ -2,17 +2,16 @@
**/node_modules/**/*.*
# Exclude expected objdirs.
obj*/**
# We ignore all these directories by default, until we get them enabled.
# If you are enabling a directory, please add directory specific exclusions
# below.
-addon-sdk/**
chrome/**
config/**
docshell/**
editor/**
embedding/**
extensions/cookie/**
extensions/spellcheck/**
extensions/universalchardet/**
--- a/browser/base/content/test/static/browser_parsable_css.js
+++ b/browser/base/content/test/static/browser_parsable_css.js
@@ -259,17 +259,17 @@ add_task(async function checkAllTheCSS()
// This asynchronously produces a list of URLs (sadly, mostly sync on our
// test infrastructure because it runs against jarfiles there, and
// our zipreader APIs are all sync)
let uris = await generateURIsFromDirTree(appDir, [".css", ".manifest"]);
// Create a clean iframe to load all the files into. This needs to live at a
// chrome URI so that it's allowed to load and parse any styles.
let testFile = getRootDirectory(gTestPath) + "dummy_page.html";
- let HiddenFrame = Cu.import("resource://gre/modules/HiddenFrame.jsm", {}).HiddenFrame;
+ let HiddenFrame = Cu.import("resource://testing-common/HiddenFrame.jsm", {}).HiddenFrame;
let hiddenFrame = new HiddenFrame();
let win = await hiddenFrame.get();
let iframe = win.document.createElementNS("http://www.w3.org/1999/xhtml", "html:iframe");
win.document.documentElement.appendChild(iframe);
let iframeLoaded = BrowserTestUtils.waitForEvent(iframe, "load", true);
iframe.contentWindow.location = testFile;
await iframeLoaded;
let doc = iframe.contentWindow.document;
--- a/browser/components/extensions/test/browser/browser_ext_webRequest.js
+++ b/browser/components/extensions/test/browser/browser_ext_webRequest.js
@@ -1,17 +1,17 @@
/* -*- Mode: indent-tabs-mode: nil; js-indent-level: 2 -*- */
/* vim: set sts=2 sw=2 et tw=80: */
"use strict";
/* import-globals-from ../../../../../toolkit/components/extensions/test/mochitest/head_webrequest.js */
Services.scriptloader.loadSubScript(new URL("head_webrequest.js", gTestPath).href,
this);
-Cu.import("resource://gre/modules/HiddenFrame.jsm", this);
+Cu.import("resource://testing-common/HiddenFrame.jsm", this);
const XUL_NS = "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul";
function createHiddenBrowser(url) {
let frame = new HiddenFrame();
return new Promise(resolve =>
frame.get().then(subframe => {
let doc = subframe.document;
let browser = doc.createElementNS(XUL_NS, "browser");
--- a/browser/components/uitour/test/browser_no_tabs.js
+++ b/browser/components/uitour/test/browser_no_tabs.js
@@ -1,14 +1,14 @@
/* Any copyright is dedicated to the Public Domain.
* http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
-var HiddenFrame = Cu.import("resource://gre/modules/HiddenFrame.jsm", {}).HiddenFrame;
+var HiddenFrame = Cu.import("resource://testing-common/HiddenFrame.jsm", {}).HiddenFrame;
const HTML_NS = "http://www.w3.org/1999/xhtml";
const XUL_NS = "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul";
/**
* Create a frame in the |hiddenDOMWindow| to host a |browser|, then load the URL in the
* latter.
*
--- a/python/mozbuild/mozbuild/frontend/context.py
+++ b/python/mozbuild/mozbuild/frontend/context.py
@@ -1503,24 +1503,16 @@ VARIABLES = {
'A11Y_MANIFESTS': (ManifestparserManifestList, list,
"""List of manifest files defining a11y tests.
"""),
'BROWSER_CHROME_MANIFESTS': (ManifestparserManifestList, list,
"""List of manifest files defining browser chrome tests.
"""),
- 'JETPACK_PACKAGE_MANIFESTS': (ManifestparserManifestList, list,
- """List of manifest files defining jetpack package tests.
- """),
-
- 'JETPACK_ADDON_MANIFESTS': (ManifestparserManifestList, list,
- """List of manifest files defining jetpack addon tests.
- """),
-
'ANDROID_INSTRUMENTATION_MANIFESTS': (ManifestparserManifestList, list,
"""List of manifest files defining Android instrumentation tests.
"""),
'FIREFOX_UI_FUNCTIONAL_MANIFESTS': (ManifestparserManifestList, list,
"""List of manifest files defining firefox-ui-functional tests.
"""),
--- a/python/mozbuild/mozbuild/frontend/emitter.py
+++ b/python/mozbuild/mozbuild/frontend/emitter.py
@@ -1249,25 +1249,16 @@ class TreeMetadataEmitter(LoggingMixin):
obj = TestManifest(context, path, mpmanifest, flavor=flavor,
install_prefix=install_prefix,
relpath=mozpath.join(manifest_reldir, mozpath.basename(path)),
sources=manifest_sources,
dupe_manifest='dupe-manifest' in defaults)
filtered = mpmanifest.tests
- # Jetpack add-on tests are expected to be generated during the
- # build process so they won't exist here.
- if flavor != 'jetpack-addon':
- missing = [t['name'] for t in filtered if not os.path.exists(t['path'])]
- if missing:
- raise SandboxValidationError('Test manifest (%s) lists '
- 'test that does not exist: %s' % (
- path, ', '.join(missing)), context)
-
out_dir = mozpath.join(install_prefix, manifest_reldir)
if 'install-to-subdir' in defaults:
# This is terrible, but what are you going to do?
out_dir = mozpath.join(out_dir, defaults['install-to-subdir'])
obj.manifest_obj_relpath = mozpath.join(manifest_reldir,
defaults['install-to-subdir'],
mozpath.basename(path))
--- a/python/mozbuild/mozbuild/testing.py
+++ b/python/mozbuild/mozbuild/testing.py
@@ -201,20 +201,16 @@ class TestResolver(MozbuildObject):
test_defaults=os.path.join(self.topobjdir,
'test-defaults.pkl'))
self._test_rewrites = {
'a11y': os.path.join(self.topobjdir, '_tests', 'testing',
'mochitest', 'a11y'),
'browser-chrome': os.path.join(self.topobjdir, '_tests', 'testing',
'mochitest', 'browser'),
- 'jetpack-package': os.path.join(self.topobjdir, '_tests', 'testing',
- 'mochitest', 'jetpack-package'),
- 'jetpack-addon': os.path.join(self.topobjdir, '_tests', 'testing',
- 'mochitest', 'jetpack-addon'),
'chrome': os.path.join(self.topobjdir, '_tests', 'testing',
'mochitest', 'chrome'),
'mochitest': os.path.join(self.topobjdir, '_tests', 'testing',
'mochitest', 'tests'),
'web-platform-tests': os.path.join(self.topobjdir, '_tests', 'testing',
'web-platform'),
'xpcshell': os.path.join(self.topobjdir, '_tests', 'xpcshell'),
}
@@ -286,18 +282,16 @@ class TestResolver(MozbuildObject):
# package_tests indicates whether to package test files into the test
# package; suites that compile the test files should not install
# them into the test package.
#
TEST_MANIFESTS = dict(
A11Y=('a11y', 'testing/mochitest', 'a11y', True),
BROWSER_CHROME=('browser-chrome', 'testing/mochitest', 'browser', True),
ANDROID_INSTRUMENTATION=('instrumentation', 'instrumentation', '.', False),
- JETPACK_PACKAGE=('jetpack-package', 'testing/mochitest', 'jetpack-package', True),
- JETPACK_ADDON=('jetpack-addon', 'testing/mochitest', 'jetpack-addon', False),
FIREFOX_UI_FUNCTIONAL=('firefox-ui-functional', 'firefox-ui', '.', False),
FIREFOX_UI_UPDATE=('firefox-ui-update', 'firefox-ui', '.', False),
PUPPETEER_FIREFOX=('firefox-ui-functional', 'firefox-ui', '.', False),
PYTHON_UNITTEST=('python', 'python', '.', False),
CRAMTEST=('cram', 'cram', '.', False),
# marionette tests are run from the srcdir
# TODO(ato): make packaging work as for other test suites
--- a/taskcluster/ci/test/test-sets.yml
+++ b/taskcluster/ci/test/test-sets.yml
@@ -27,17 +27,16 @@ common-tests:
- marionette-headless
- mochitest
- mochitest-a11y
- mochitest-browser-chrome
- mochitest-chrome
- mochitest-clipboard
- mochitest-devtools-chrome
- mochitest-gpu
- - mochitest-jetpack
- mochitest-media
- mochitest-webgl
- reftest
- reftest-no-accel
- telemetry-tests-client
- test-verify
- xpcshell
@@ -158,17 +157,16 @@ windows-tests:
- marionette-headless
- mochitest
- mochitest-a11y
- mochitest-browser-chrome
- mochitest-chrome
- mochitest-clipboard
- mochitest-devtools-chrome
- mochitest-gpu
- - mochitest-jetpack
- mochitest-media
- mochitest-webgl
- reftest
- reftest-gpu
- reftest-no-accel
- web-platform-tests
- web-platform-tests-reftests
- xpcshell
@@ -216,17 +214,16 @@ macosx64-tests:
- marionette-headless
- mochitest
- mochitest-a11y
- mochitest-browser-chrome
- mochitest-chrome
- mochitest-clipboard
- mochitest-devtools-chrome
- mochitest-gpu
- - mochitest-jetpack
- mochitest-media
- mochitest-webgl
- reftest
- web-platform-tests
- web-platform-tests-reftests
- xpcshell
macosx64-talos:
@@ -268,17 +265,16 @@ linux32-tests:
- jsreftest
- marionette
- mochitest
- mochitest-a11y
- mochitest-browser-chrome
- mochitest-chrome
- mochitest-clipboard
- mochitest-gpu
- - mochitest-jetpack
- mochitest-media
- mochitest-webgl
- reftest
- reftest-no-accel
- web-platform-tests
- web-platform-tests-reftests
- xpcshell
--- a/taskcluster/ci/test/tests.yml
+++ b/taskcluster/ci/test/tests.yml
@@ -872,44 +872,16 @@ mochitest-gpu:
extra-options:
- --mochitest-suite=plain-gpu,chrome-gpu,browser-chrome-gpu
tier:
by-test-platform:
linux64-qr/.*: 1
windows10-64-asan.*: 3
default: default
-mochitest-jetpack:
- description: "Mochitest jetpack run"
- suite: mochitest/jetpack-package
- treeherder-symbol: tc-M(JP)
- loopback-video: true
- e10s: false
- max-run-time: 5400
- mozharness:
- mochitest-flavor: jetpack-package
- script: desktop_unittest.py
- no-read-buildbot-config: true
- chunked: false
- config:
- by-test-platform:
- windows.*:
- - unittests/win_taskcluster_unittest.py
- macosx.*:
- - unittests/mac_unittest.py
- linux.*:
- - unittests/linux_unittest.py
- - remove_executables.py
- extra-options:
- - --mochitest-suite=jetpack-package
- tier:
- by-test-platform:
- windows10-64-asan.*: 3
- default: default
-
mochitest-media:
description: "Mochitest media run"
suite: mochitest/mochitest-media
treeherder-symbol: tc-M(mda)
max-run-time: 5400
loopback-video: true
instance-size:
by-test-platform:
--- a/taskcluster/taskgraph/try_option_syntax.py
+++ b/taskcluster/taskgraph/try_option_syntax.py
@@ -86,17 +86,16 @@ UNITTEST_ALIASES = {
'mochitest-dt': alias_prefix('mochitest-devtools-chrome'),
'mochitest-e10s-dt': alias_prefix('mochitest-devtools-chrome-e10s'),
'mochitest-gl': alias_prefix('mochitest-webgl'),
'mochitest-gl-e10s': alias_prefix('mochitest-webgl-e10s'),
'mochitest-gpu': alias_prefix('mochitest-gpu'),
'mochitest-gpu-e10s': alias_prefix('mochitest-gpu-e10s'),
'mochitest-clipboard': alias_prefix('mochitest-clipboard'),
'mochitest-clipboard-e10s': alias_prefix('mochitest-clipboard-e10s'),
- 'mochitest-jetpack': alias_prefix('mochitest-jetpack'),
'mochitest-media': alias_prefix('mochitest-media'),
'mochitest-media-e10s': alias_prefix('mochitest-media-e10s'),
'mochitest-vg': alias_prefix('mochitest-valgrind'),
'reftest': alias_matches(r'^(plain-)?reftest.*$'),
'reftest-no-accel': alias_matches(r'^(plain-)?reftest-no-accel.*$'),
'reftests': alias_matches(r'^(plain-)?reftest.*$'),
'reftests-e10s': alias_matches(r'^(plain-)?reftest-e10s.*$'),
'reftest-stylo': alias_matches(r'^(plain-)?reftest-stylo.*$'),
--- a/testing/mach_commands.py
+++ b/testing/mach_commands.py
@@ -60,21 +60,16 @@ TEST_SUITES = {
'mach_command': 'firefox-ui-functional',
'kwargs': {},
},
'firefox-ui-update': {
'aliases': ('Fxup',),
'mach_command': 'firefox-ui-update',
'kwargs': {},
},
- 'jetpack': {
- 'aliases': ('J',),
- 'mach_command': 'jetpack-test',
- 'kwargs': {},
- },
'check-spidermonkey': {
'aliases': ('Sm', 'sm'),
'mach_command': 'check-spidermonkey',
'kwargs': {'valgrind': False},
},
'mochitest-a11y': {
'mach_command': 'mochitest',
'kwargs': {'flavor': 'a11y', 'test_paths': None},
--- a/testing/mochitest/jar.mn
+++ b/testing/mochitest/jar.mn
@@ -1,17 +1,13 @@
mochikit.jar:
% content mochikit %content/
content/browser-harness.xul (browser-harness.xul)
content/browser-test.js (browser-test.js)
content/browser-test-overlay.xul (browser-test-overlay.xul)
- content/jetpack-package-harness.js (jetpack-package-harness.js)
- content/jetpack-package-overlay.xul (jetpack-package-overlay.xul)
- content/jetpack-addon-harness.js (jetpack-addon-harness.js)
- content/jetpack-addon-overlay.xul (jetpack-addon-overlay.xul)
content/chrome-harness.js (chrome-harness.js)
content/mochitest-e10s-utils.js (mochitest-e10s-utils.js)
content/shutdown-leaks-collector.js (shutdown-leaks-collector.js)
content/ShutdownLeaksCollector.jsm (ShutdownLeaksCollector.jsm)
content/harness.xul (harness.xul)
content/redirect.html (redirect.html)
content/server.js (server.js)
content/chunkifyTests.js (chunkifyTests.js)
deleted file mode 100644
--- a/testing/mochitest/jetpack-addon-harness.js
+++ /dev/null
@@ -1,234 +0,0 @@
-/* -*- js-indent-level: 2; tab-width: 2; indent-tabs-mode: nil -*- */
-var gConfig;
-
-if (Cc === undefined) {
- var Cc = Components.classes;
- var Ci = Components.interfaces;
- var Cu = Components.utils;
-}
-
-Cu.import("resource://gre/modules/XPCOMUtils.jsm");
-
-XPCOMUtils.defineLazyModuleGetter(this, "Services",
- "resource://gre/modules/Services.jsm");
-XPCOMUtils.defineLazyModuleGetter(this, "AddonManager",
- "resource://gre/modules/AddonManager.jsm");
-
-// How long to wait for an add-on to uninstall before aborting
-const MAX_UNINSTALL_TIME = 10000;
-setTimeout(testInit, 0);
-
-var sdkpath = null;
-
-// Strip off the chrome prefix to get the actual path of the test directory
-function realPath(chrome) {
- return chrome.substring("chrome://mochitests/content/jetpack-addon/".length)
- .replace(".xpi", "");
-}
-
-const chromeRegistry = Cc["@mozilla.org/chrome/chrome-registry;1"]
- .getService(Ci.nsIChromeRegistry);
-
-// Installs a single add-on returning a promise for when install is completed
-function installAddon(url) {
- let chromeURL = Services.io.newURI(url);
- let file = chromeRegistry.convertChromeURL(chromeURL)
- .QueryInterface(Ci.nsIFileURL).file;
-
- let addon;
- const listener = {
- onInstalling(_addon) {
- addon = _addon;
- // Set add-on's test options
- const options = {
- test: {
- iterations: 1,
- stop: false,
- keepOpen: true,
- },
- profile: {
- memory: false,
- leaks: false,
- },
- output: {
- logLevel: "verbose",
- format: "tbpl",
- },
- console: {
- logLevel: "info",
- },
- }
- setPrefs("extensions." + addon.id + ".sdk", options);
-
- // If necessary override the add-ons module paths to point somewhere
- // else
- if (sdkpath) {
- let paths = {}
- for (let path of ["dev", "diffpatcher", "framescript", "method", "node", "sdk", "toolkit"]) {
- paths[path] = sdkpath + path;
- }
- setPrefs("extensions.modules." + addon.id + ".path", paths);
- }
- },
- };
- AddonManager.addAddonListener(listener);
-
- return AddonManager.installTemporaryAddon(file)
- .then(() => {
- AddonManager.removeAddonListener(listener);
- return addon;
- });
-}
-
-// Uninstalls an add-on returning a promise for when it is gone
-function uninstallAddon(oldAddon) {
- return new Promise(function(resolve, reject) {
- AddonManager.addAddonListener({
- onUninstalled: function(addon) {
- if (addon.id != oldAddon.id)
- return;
-
- AddonManager.removeAddonListener(this);
-
- dump("TEST-INFO | jetpack-addon-harness.js | Uninstalled test add-on " + addon.id + "\n");
-
- // Some add-ons do async work on uninstall, we must wait for that to
- // complete
- setTimeout(resolve, 500);
- }
- });
-
- oldAddon.uninstall();
-
- // The uninstall should happen quickly, if not throw an exception
- setTimeout(() => {
- reject(new Error(`Addon ${oldAddon.id} failed to uninstall in a timely fashion.`));
- }, MAX_UNINSTALL_TIME);
- });
-}
-
-// Waits for a test add-on to signal it has completed its tests
-function waitForResults() {
- return new Promise(function(resolve, reject) {
- Services.obs.addObserver(function(subject, topic, data) {
- Services.obs.removeObserver(arguments.callee, "sdk:test:results");
-
- resolve(JSON.parse(data));
- }, "sdk:test:results");
- });
-}
-
-// Runs tests for the add-on available at URL.
-var testAddon = async function({ url }) {
- dump("TEST-INFO | jetpack-addon-harness.js | Installing test add-on " + realPath(url) + "\n");
- let addon = await installAddon(url);
-
- let results = await waitForResults();
-
- dump("TEST-INFO | jetpack-addon-harness.js | Uninstalling test add-on " + addon.id + "\n");
- await uninstallAddon(addon);
-
- dump("TEST-INFO | jetpack-addon-harness.js | Testing add-on " + realPath(url) + " is complete\n");
- return results;
-};
-
-// Sets a set of prefs for test add-ons
-function setPrefs(root, options) {
- Object.keys(options).forEach(id => {
- const key = root + "." + id;
- const value = options[id]
- const type = typeof(value);
-
- value === null ? void(0) :
- value === undefined ? void(0) :
- type === "boolean" ? Services.prefs.setBoolPref(key, value) :
- type === "string" ? Services.prefs.setCharPref(key, value) :
- type === "number" ? Services.prefs.setIntPref(key, parseInt(value)) :
- type === "object" ? setPrefs(key, value) :
- void(0);
- });
-}
-
-function testInit() {
- // Make sure to run the test harness for the first opened window only
- if (Services.prefs.prefHasUserValue("testing.jetpackTestHarness.running"))
- return;
-
- Services.prefs.setBoolPref("testing.jetpackTestHarness.running", true);
-
- // Get the list of tests to run
- let config = readConfig();
- getTestList(config, function(links) {
- try {
- let fileNames = [];
- let fileNameRegexp = /.+\.xpi$/;
- arrayOfTestFiles(links, fileNames, fileNameRegexp);
-
- if (config.startAt || config.endAt) {
- fileNames = skipTests(fileNames, config.startAt, config.endAt);
- }
-
- // Override the SDK modules if necessary
- try {
- let sdklibs = Services.prefs.getCharPref("extensions.sdk.path");
- // sdkpath is a file path, make it a URI
- let sdkfile = Cc["@mozilla.org/file/local;1"].
- createInstance(Ci.nsIFile);
- sdkfile.initWithPath(sdklibs);
- sdkpath = Services.io.newFileURI(sdkfile).spec;
- }
- catch (e) {
- // Stick with the built-in modules
- }
-
- let passed = 0;
- let failed = 0;
-
- function finish() {
- if (passed + failed == 0) {
- dump("TEST-UNEXPECTED-FAIL | jetpack-addon-harness.js | " +
- "No tests to run. Did you pass invalid test_paths?\n");
- }
- else {
- dump("Jetpack Addon Test Summary\n");
- dump("\tPassed: " + passed + "\n" +
- "\tFailed: " + failed + "\n" +
- "\tTodo: 0\n");
- }
-
- if (config.closeWhenDone) {
- dump("TEST-INFO | jetpack-addon-harness.js | Shutting down.\n");
-
- const appStartup = Cc['@mozilla.org/toolkit/app-startup;1'].
- getService(Ci.nsIAppStartup);
- appStartup.quit(appStartup.eAttemptQuit);
- }
- }
-
- function testNextAddon() {
- if (fileNames.length == 0)
- return finish();
-
- let filename = fileNames.shift();
- dump("TEST-INFO | jetpack-addon-harness.js | Starting test add-on " + realPath(filename.url) + "\n");
- testAddon(filename).then(results => {
- passed += results.passed;
- failed += results.failed;
- }).then(testNextAddon, error => {
- // If something went wrong during the test then a previous test add-on
- // may still be installed, this leaves us in an unexpected state so
- // probably best to just abandon testing at this point
- failed++;
- dump("TEST-UNEXPECTED-FAIL | jetpack-addon-harness.js | Error testing " + realPath(filename.url) + ": " + error + "\n");
- finish();
- });
- }
-
- testNextAddon();
- }
- catch (e) {
- dump("TEST-UNEXPECTED-FAIL | jetpack-addon-harness.js | error starting test harness (" + e + ")\n");
- dump(e.stack);
- }
- });
-}
deleted file mode 100644
--- a/testing/mochitest/jetpack-addon-overlay.xul
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0"?>
-<?xml-stylesheet href="chrome://global/skin" type="text/css"?>
-<!-- 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/. -->
-
-<overlay id="jetpackTestOverlay"
- xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
- <script type="application/javascript" src="chrome://mochikit/content/chrome-harness.js"/>
- <script type="application/javascript" src="chrome://mochikit/content/manifestLibrary.js"/>
- <script type="application/javascript" src="chrome://mochikit/content/chunkifyTests.js"/>
- <script type="application/javascript" src="chrome://mochikit/content/server.js"/>
- <script type="application/javascript" src="chrome://mochikit/content/jetpack-addon-harness.js"/>
-</overlay>
deleted file mode 100644
--- a/testing/mochitest/jetpack-package-harness.js
+++ /dev/null
@@ -1,249 +0,0 @@
-/* -*- js-indent-level: 2; tab-width: 2; indent-tabs-mode: nil -*- */
-const TEST_PACKAGE = "chrome://mochitests/content/";
-
-// Make sure to use the real add-on ID to get the e10s shims activated
-const TEST_ID = "mochikit@mozilla.org";
-
-var gConfig;
-
-if (Cc === undefined) {
- var Cc = Components.classes;
- var Ci = Components.interfaces;
- var Cu = Components.utils;
-}
-
-Cu.import("resource://gre/modules/XPCOMUtils.jsm");
-
-XPCOMUtils.defineLazyModuleGetter(this, "Services",
- "resource://gre/modules/Services.jsm");
-
-setTimeout(testInit, 0);
-
-// Tests a single module
-function testModule(require, { url, expected }) {
- return new Promise(resolve => {
- let path = url.substring(TEST_PACKAGE.length);
-
- const { stdout } = require("sdk/system");
-
- const { runTests } = require("sdk/test/harness");
- const loaderModule = require("toolkit/loader");
- const options = require("sdk/test/options");
-
- function findAndRunTests(loader, nextIteration) {
- const { TestRunner } = loaderModule.main(loader, "sdk/deprecated/unit-test");
-
- const NOT_TESTS = ['setup', 'teardown'];
- var runner = new TestRunner();
-
- let tests = [];
-
- let suiteModule;
- try {
- dump("TEST-INFO: " + path + " | Loading test module\n");
- suiteModule = loaderModule.main(loader, "tests/" + path.substring(0, path.length - 3));
- }
- catch (e) {
- // If `Unsupported Application` error thrown during test,
- // skip the test suite
- suiteModule = {
- 'test suite skipped': assert => assert.pass(e.message)
- };
- }
-
- for (let name of Object.keys(suiteModule).sort()) {
- if (NOT_TESTS.indexOf(name) != -1)
- continue;
-
- tests.push({
- setup: suiteModule.setup,
- teardown: suiteModule.teardown,
- testFunction: suiteModule[name],
- name: path + "." + name
- });
- }
-
- runner.startMany({
- tests: {
- getNext: () => Promise.resolve(tests.shift())
- },
- stopOnError: options.stopOnError,
- onDone: nextIteration
- });
- }
-
- runTests({
- findAndRunTests: findAndRunTests,
- iterations: options.iterations,
- filter: options.filter,
- profileMemory: options.profileMemory,
- stopOnError: options.stopOnError,
- verbose: options.verbose,
- parseable: options.parseable,
- print: stdout.write,
- onDone: resolve
- });
- });
-}
-
-// Sets the test prefs
-function setPrefs(root, options) {
- Object.keys(options).forEach(id => {
- const key = root + "." + id;
- const value = options[id]
- const type = typeof(value);
-
- value === null ? void(0) :
- value === undefined ? void(0) :
- type === "boolean" ? Services.prefs.setBoolPref(key, value) :
- type === "string" ? Services.prefs.setCharPref(key, value) :
- type === "number" ? Services.prefs.setIntPref(key, parseInt(value)) :
- type === "object" ? setPrefs(key, value) :
- void(0);
- });
-}
-
-function testInit() {
- // Make sure to run the test harness for the first opened window only
- if (Services.prefs.prefHasUserValue("testing.jetpackTestHarness.running"))
- return;
-
- Services.prefs.setBoolPref("testing.jetpackTestHarness.running", true);
-
- // Need to set this very early, otherwise the false value gets cached in
- // DOM bindings code.
- Services.prefs.setBoolPref("dom.indexedDB.experimental", true);
-
- // Get the list of tests to run
- let config = readConfig();
- getTestList(config, function(links) {
- try {
- let fileNames = [];
- let fileNameRegexp = /test-.+\.js$/;
- arrayOfTestFiles(links, fileNames, fileNameRegexp);
-
- if (config.startAt || config.endAt) {
- fileNames = skipTests(fileNames, config.startAt, config.endAt);
- }
-
- // The SDK assumes it is being run from resource URIs
- let chromeReg = Cc["@mozilla.org/chrome/chrome-registry;1"].getService(Ci.nsIChromeRegistry);
- let realPath = chromeReg.convertChromeURL(Services.io.newURI(TEST_PACKAGE));
- let resProtocol = Cc["@mozilla.org/network/protocol;1?name=resource"].getService(Ci.nsIResProtocolHandler);
- resProtocol.setSubstitution("jetpack-package-tests", realPath);
-
- // Set the test options
- const options = {
- test: {
- iterations: config.runUntilFailure ? config.repeat : 1,
- stop: false,
- keepOpen: true,
- },
- profile: {
- memory: false,
- leaks: false,
- },
- output: {
- logLevel: "verbose",
- format: "tbpl",
- },
- console: {
- logLevel: "info",
- },
- }
- setPrefs("extensions." + TEST_ID + ".sdk", options);
-
- // Override the SDK modules if necessary
- let sdkpath = "resource://gre/modules/commonjs/";
- try {
- let sdklibs = Services.prefs.getCharPref("extensions.sdk.path");
- // sdkpath is a file path, make it a URI and map a resource URI to it
- let sdkfile = Cc["@mozilla.org/file/local;1"].
- createInstance(Ci.nsIFile);
- sdkfile.initWithPath(sdklibs);
- let sdkuri = Services.io.newFileURI(sdkfile);
- resProtocol.setSubstitution("jetpack-modules", sdkuri);
- sdkpath = "resource://jetpack-modules/";
- }
- catch (e) {
- // Stick with the built-in modules
- }
-
- const paths = {
- "": sdkpath,
- "tests/": "resource://jetpack-package-tests/",
- };
-
- // Create the base module loader to load the test harness
- const loaderID = "toolkit/loader";
- const loaderURI = paths[""] + loaderID + ".js";
- const loaderModule = Cu.import(loaderURI, {}).Loader;
-
- const modules = {};
-
- // Manually set the loader's module cache to include itself;
- // which otherwise fails due to lack of `Components`.
- modules[loaderID] = loaderModule;
- modules["@test/options"] = {};
-
- let loader = loaderModule.Loader({
- id: TEST_ID,
- name: "addon-sdk",
- version: "1.0",
- loadReason: "install",
- paths: paths,
- modules: modules,
- isNative: true,
- rootURI: paths["tests/"],
- prefixURI: paths["tests/"],
- metadata: {},
- });
-
- const module = loaderModule.Module(loaderID, loaderURI);
- const require = loaderModule.Require(loader, module);
-
- // Wait until the add-on window is ready
- require("sdk/addon/window").ready.then(() => {
- let passed = 0;
- let failed = 0;
-
- function finish() {
- if (passed + failed == 0) {
- dump("TEST-UNEXPECTED-FAIL | jetpack-package-harness.js | " +
- "No tests to run. Did you pass invalid test_paths?\n");
- }
- else {
- dump("Jetpack Package Test Summary\n");
- dump("\tPassed: " + passed + "\n" +
- "\tFailed: " + failed + "\n" +
- "\tTodo: 0\n");
- }
-
- if (config.closeWhenDone) {
- require("sdk/system").exit(failed == 0 ? 0 : 1);
- }
- else {
- loaderModule.unload(loader, "shutdown");
- }
- }
-
- function testNextModule() {
- if (fileNames.length == 0)
- return finish();
-
- let filename = fileNames.shift();
- testModule(require, filename).then(tests => {
- passed += tests.passed;
- failed += tests.failed;
- }).then(testNextModule);
- }
-
- testNextModule();
- });
- }
- catch (e) {
- dump("TEST-UNEXPECTED-FAIL: jetpack-package-harness.js | error starting test harness (" + e + ")\n");
- dump(e.stack);
- }
- });
-}
deleted file mode 100644
--- a/testing/mochitest/jetpack-package-overlay.xul
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0"?>
-<?xml-stylesheet href="chrome://global/skin" type="text/css"?>
-<!-- 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/. -->
-
-<overlay id="jetpackTestOverlay"
- xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
- <script type="application/javascript" src="chrome://mochikit/content/chrome-harness.js"/>
- <script type="application/javascript" src="chrome://mochikit/content/manifestLibrary.js"/>
- <script type="application/javascript" src="chrome://mochikit/content/chunkifyTests.js"/>
- <script type="application/javascript" src="chrome://mochikit/content/server.js"/>
- <script type="application/javascript" src="chrome://mochikit/content/jetpack-package-harness.js"/>
-</overlay>
--- a/testing/mochitest/leaks.py
+++ b/testing/mochitest/leaks.py
@@ -23,17 +23,17 @@ class ShutdownLeaks(object):
self.leakedWindows = {}
self.leakedDocShells = set()
self.currentTest = None
self.seenShutdown = set()
def log(self, message):
action = message['action']
- # Remove 'log' when jetpack and clipboard are gone and/or structured.
+ # Remove 'log' when clipboard is gone and/or structured.
if action in ('log', 'process_output'):
line = message['message'] if action == 'log' else message['data']
if line[2:11] == "DOMWINDOW":
self._logWindow(line)
elif line[2:10] == "DOCSHELL":
self._logDocShell(line)
elif line.startswith("Completed ShutdownLeaks collections in process"):
--- a/testing/mochitest/mach_commands.py
+++ b/testing/mochitest/mach_commands.py
@@ -111,17 +111,17 @@ class MochitestRunner(MozbuildObject):
resolver = self._spawn(TestResolver)
tests = list(resolver.resolve_tests(paths=test_paths, cwd=cwd))
return tests
def run_desktop_test(self, context, tests=None, suite=None, **kwargs):
"""Runs a mochitest.
suite is the type of mochitest to run. It can be one of ('plain',
- 'chrome', 'browser', 'a11y', 'jetpack-package', 'jetpack-addon').
+ 'chrome', 'browser', 'a11y').
"""
# runtests.py is ambiguous, so we load the file/module manually.
if 'mochitest' not in sys.modules:
import imp
path = os.path.join(self.mochitest_dir, 'runtests.py')
with open(path, 'r') as fh:
imp.load_module('mochitest', fh, path,
('.py', 'r', imp.PY_SOURCE))
@@ -494,16 +494,8 @@ class DeprecatedCommands(MachCommandBase
@Command('mochitest-devtools', category='testing', conditions=[REMOVED])
def mochitest_devtools(self):
pass
@Command('mochitest-a11y', category='testing', conditions=[REMOVED])
def mochitest_a11y(self):
pass
-
- @Command('jetpack-addon', category='testing', conditions=[REMOVED])
- def jetpack_addon(self):
- pass
-
- @Command('jetpack-package', category='testing', conditions=[REMOVED])
- def jetpack_package(self):
- pass
--- a/testing/mochitest/mochitest_options.py
+++ b/testing/mochitest/mochitest_options.py
@@ -54,32 +54,16 @@ ALL_FLAVORS = {
'browser-chrome': {
'suite': 'browser',
'aliases': ('browser', 'browser-chrome', 'mochitest-browser-chrome', 'bc'),
'enabled_apps': ('firefox',),
'extra_args': {
'flavor': 'browser',
}
},
- 'jetpack-package': {
- 'suite': 'jetpack-package',
- 'aliases': ('jetpack-package', 'mochitest-jetpack-package', 'jpp'),
- 'enabled_apps': ('firefox',),
- 'extra_args': {
- 'flavor': 'jetpack-package',
- }
- },
- 'jetpack-addon': {
- 'suite': 'jetpack-addon',
- 'aliases': ('jetpack-addon', 'mochitest-jetpack-addon', 'jpa'),
- 'enabled_apps': ('firefox',),
- 'extra_args': {
- 'flavor': 'jetpack-addon',
- }
- },
'a11y': {
'suite': 'a11y',
'aliases': ('a11y', 'mochitest-a11y', 'accessibility'),
'enabled_apps': ('firefox',),
'extra_args': {
'flavor': 'a11y',
}
},
--- a/testing/mochitest/moz.build
+++ b/testing/mochitest/moz.build
@@ -45,20 +45,16 @@ TEST_HARNESS_FILES.testing.mochitest +=
'bisection.py',
'browser-harness.xul',
'browser-test-overlay.xul',
'browser-test.js',
'chrome-harness.js',
'chunkifyTests.js',
'gen_template.pl',
'harness.xul',
- 'jetpack-addon-harness.js',
- 'jetpack-addon-overlay.xul',
- 'jetpack-package-harness.js',
- 'jetpack-package-overlay.xul',
'leaks.py',
'mach_test_package_commands.py',
'manifest.webapp',
'manifestLibrary.js',
'mochitest_options.py',
'nested_setup.js',
'pywebsocket_wrapper.py',
'redirect.html',
--- a/testing/mochitest/runtests.py
+++ b/testing/mochitest/runtests.py
@@ -848,21 +848,18 @@ class MochitestDesktop(object):
self.start_script_kwargs = {}
self.urlOpts = []
commandline.log_formatters["tbpl"] = (
MochitestFormatter,
"Mochitest specific tbpl formatter")
self.log = commandline.setup_logging("mochitest", logger_options, {"tbpl": sys.stdout})
- # Jetpack flavors still don't use the structured logger. We need to process their output
- # slightly differently.
- structured = not self.flavor.startswith('jetpack')
self.message_logger = MessageLogger(
- logger=self.log, buffering=quiet, structured=structured)
+ logger=self.log, buffering=quiet, structured=True)
# Max time in seconds to wait for server startup before tests will fail -- if
# this seems big, it's mostly for debug machines where cold startup
# (particularly after a build) takes forever.
self.SERVER_STARTUP_TIMEOUT = 180 if mozinfo.info.get('debug') else 90
# metro browser sub process id
self.browserProcessId = None
@@ -931,17 +928,17 @@ class MochitestDesktop(object):
options.logFile = ""
if not hasattr(options, 'fileLevel'):
options.fileLevel = 'INFO'
# allow relative paths for logFile
if options.logFile:
options.logFile = self.getLogFilePath(options.logFile)
- if options.flavor in ('a11y', 'browser', 'chrome', 'jetpack-addon', 'jetpack-package'):
+ if options.flavor in ('a11y', 'browser', 'chrome'):
self.makeTestConfig(options)
else:
if options.autorun:
self.urlOpts.append("autorun=1")
if options.timeout:
self.urlOpts.append("timeout=%d" % options.timeout)
if options.maxTimeouts:
self.urlOpts.append("maxTimeouts=%d" % options.maxTimeouts)
@@ -1023,21 +1020,16 @@ class MochitestDesktop(object):
return flavor
# This check can be removed when bug 983867 is fixed.
def isTest(self, options, filename):
allow_js_css = False
if options.flavor == 'browser':
allow_js_css = True
testPattern = re.compile(r"browser_.+\.js")
- elif options.flavor == 'jetpack-package':
- allow_js_css = True
- testPattern = re.compile(r"test-.+\.js")
- elif options.flavor == 'jetpack-addon':
- testPattern = re.compile(r".+\.xpi")
elif options.flavor in ('a11y', 'chrome'):
testPattern = re.compile(r"(browser|test)_.+\.(xul|html|js|xhtml)")
else:
testPattern = re.compile(r"test_")
if not allow_js_css and (".js" in filename or ".css" in filename):
return False
@@ -1071,17 +1063,17 @@ class MochitestDesktop(object):
self.TEST_PATH,
options.test_paths[0])):
testURL = "/".join([testURL, os.path.dirname(options.test_paths[0])])
else:
testURL = "/".join([testURL, options.test_paths[0]])
if options.flavor in ('a11y', 'chrome'):
testURL = "/".join([testHost, self.CHROME_PATH])
- elif options.flavor in ('browser', 'jetpack-addon', 'jetpack-package'):
+ elif options.flavor == 'browser':
testURL = "about:blank"
if options.nested_oop:
testURL = "/".join([testHost, self.NESTED_OOP_TEST_PATH])
return testURL
def getTestsByScheme(self, options, testsToFilter=None, disabled=True):
""" Build the url path to the specific test harness and test file or directory
Build a manifest of tests to run and write out a json file for the harness to read
@@ -2426,17 +2418,17 @@ toolbar#nav-bar {
if options.cleanupCrashes:
mozcrash.cleanup_pending_crash_reports()
tests = self.getActiveTests(options)
self.logPreamble(tests)
tests = [t for t in tests if 'disabled' not in t]
- # Until we have all green, this does not run on jetpack*, or a11y (for perf reasons)
+ # Until we have all green, this does not run on a11y (for perf reasons)
if not options.runByManifest:
return self.runMochitests(options, [t['path'] for t in tests])
# code for --run-by-manifest
manifests = set(t['manifest'] for t in tests)
result = 1 # default value, if no tests are run.
origPrefs = options.extraPrefs[:]
for m in sorted(manifests):
--- a/testing/mozharness/configs/unittests/linux_unittest.py
+++ b/testing/mozharness/configs/unittests/linux_unittest.py
@@ -197,19 +197,16 @@ config = {
"browser-chrome-chunked": ["--flavor=browser", "--chunk-by-runtime"],
"browser-chrome-addons": ["--flavor=browser", "--chunk-by-runtime", "--tag=addons"],
"browser-chrome-coverage": ["--flavor=browser", "--chunk-by-runtime", "--timeout=1200"],
"browser-chrome-screenshots": ["--flavor=browser", "--subsuite=screenshots"],
"mochitest-gl": ["--subsuite=webgl"],
"mochitest-devtools-chrome": ["--flavor=browser", "--subsuite=devtools"],
"mochitest-devtools-chrome-chunked": ["--flavor=browser", "--subsuite=devtools", "--chunk-by-runtime"],
"mochitest-devtools-chrome-coverage": ["--flavor=browser", "--subsuite=devtools", "--chunk-by-runtime", "--timeout=1200"],
- "jetpack-package": ["--flavor=jetpack-package"],
- "jetpack-package-clipboard": ["--flavor=jetpack-package", "--subsuite=clipboard"],
- "jetpack-addon": ["--flavor=jetpack-addon"],
"a11y": ["--flavor=a11y"],
},
# local reftest suites
"all_reftest_suites": {
"crashtest": {
"options": ["--suite=crashtest"],
"tests": ["tests/reftest/tests/testing/crashtest/crashtests.list"]
},
@@ -292,17 +289,17 @@ config = {
},
],
"vcs_output_timeout": 1000,
"minidump_save_path": "%(abs_work_dir)s/../minidumps",
"buildbot_max_log_size": 209715200,
"default_blob_upload_servers": [
"https://blobupload.elasticbeanstalk.com",
],
- "unstructured_flavors": {"mochitest": ['jetpack'],
+ "unstructured_flavors": {"mochitest": [],
"xpcshell": [],
"gtest": [],
"mozmill": [],
"cppunittest": [],
"jittest": [],
"mozbase": [],
},
"blob_uploader_auth_file": os.path.join(os.getcwd(), "oauth.txt"),
--- a/testing/mozharness/configs/unittests/mac_unittest.py
+++ b/testing/mozharness/configs/unittests/mac_unittest.py
@@ -160,19 +160,16 @@ config = {
"browser-chrome-gpu": ["--flavor=browser", "--subsuite=gpu"],
"browser-chrome-clipboard": ["--flavor=browser", "--subsuite=clipboard"],
"browser-chrome-chunked": ["--flavor=browser", "--chunk-by-runtime"],
"browser-chrome-addons": ["--flavor=browser", "--chunk-by-runtime", "--tag=addons"],
"browser-chrome-screenshots": ["--flavor=browser", "--subsuite=screenshots"],
"mochitest-gl": ["--subsuite=webgl"],
"mochitest-devtools-chrome": ["--flavor=browser", "--subsuite=devtools"],
"mochitest-devtools-chrome-chunked": ["--flavor=browser", "--subsuite=devtools", "--chunk-by-runtime"],
- "jetpack-package": ["--flavor=jetpack-package"],
- "jetpack-package-clipboard": ["--flavor=jetpack-package", "--subsuite=clipboard"],
- "jetpack-addon": ["--flavor=jetpack-addon"],
"a11y": ["--flavor=a11y"],
},
# local reftest suites
"all_reftest_suites": {
"crashtest": {
'options': ["--suite=crashtest"],
'tests': ["tests/reftest/tests/testing/crashtest/crashtests.list"]
},
@@ -239,17 +236,17 @@ config = {
},
],
"vcs_output_timeout": 1000,
"minidump_save_path": "%(abs_work_dir)s/../minidumps",
"buildbot_max_log_size": 52428800,
"default_blob_upload_servers": [
"https://blobupload.elasticbeanstalk.com",
],
- "unstructured_flavors": {"mochitest": ['jetpack'],
+ "unstructured_flavors": {"mochitest": [],
"xpcshell": [],
"gtest": [],
"mozmill": [],
"cppunittest": [],
"jittest": [],
"mozbase": [],
},
"blob_uploader_auth_file": os.path.join(os.getcwd(), "oauth.txt"),
--- a/testing/mozharness/configs/unittests/win_taskcluster_unittest.py
+++ b/testing/mozharness/configs/unittests/win_taskcluster_unittest.py
@@ -173,19 +173,16 @@ config = {
"browser-chrome-clipboard": ["--flavor=browser", "--subsuite=clipboard"],
"browser-chrome-chunked": ["--flavor=browser", "--chunk-by-runtime"],
"browser-chrome-addons": ["--flavor=browser", "--chunk-by-runtime", "--tag=addons"],
"browser-chrome-screenshots": ["--flavor=browser", "--subsuite=screenshots"],
"mochitest-gl": ["--subsuite=webgl"],
"mochitest-devtools-chrome": ["--flavor=browser", "--subsuite=devtools"],
"mochitest-devtools-chrome-chunked": ["--flavor=browser", "--subsuite=devtools", "--chunk-by-runtime"],
"mochitest-metro-chrome": ["--flavor=browser", "--metro-immersive"],
- "jetpack-package": ["--flavor=jetpack-package"],
- "jetpack-package-clipboard": ["--flavor=jetpack-package", "--subsuite=clipboard"],
- "jetpack-addon": ["--flavor=jetpack-addon"],
"a11y": ["--flavor=a11y"],
},
# local reftest suites
"all_reftest_suites": {
"crashtest": {
'options': ["--suite=crashtest"],
'tests': ["tests/reftest/tests/testing/crashtest/crashtests.list"]
},
--- a/testing/mozharness/configs/unittests/win_unittest.py
+++ b/testing/mozharness/configs/unittests/win_unittest.py
@@ -172,19 +172,16 @@ config = {
"browser-chrome-clipboard": ["--flavor=browser", "--subsuite=clipboard"],
"browser-chrome-chunked": ["--flavor=browser", "--chunk-by-runtime"],
"browser-chrome-addons": ["--flavor=browser", "--chunk-by-runtime", "--tag=addons"],
"browser-chrome-screenshots": ["--flavor=browser", "--subsuite=screenshots"],
"mochitest-gl": ["--subsuite=webgl"],
"mochitest-devtools-chrome": ["--flavor=browser", "--subsuite=devtools"],
"mochitest-devtools-chrome-chunked": ["--flavor=browser", "--subsuite=devtools", "--chunk-by-runtime"],
"mochitest-metro-chrome": ["--flavor=browser", "--metro-immersive"],
- "jetpack-package": ["--flavor=jetpack-package"],
- "jetpack-package-clipboard": ["--flavor=jetpack-package", "--subsuite=clipboard"],
- "jetpack-addon": ["--flavor=jetpack-addon"],
"a11y": ["--flavor=a11y"],
},
# local reftest suites
"all_reftest_suites": {
"crashtest": {
'options': ["--suite=crashtest"],
'tests': ["tests/reftest/tests/testing/crashtest/crashtests.list"]
},
@@ -262,17 +259,17 @@ config = {
},
],
"vcs_output_timeout": 1000,
"minidump_save_path": "%(abs_work_dir)s/../minidumps",
"buildbot_max_log_size": 52428800,
"default_blob_upload_servers": [
"https://blobupload.elasticbeanstalk.com",
],
- "unstructured_flavors": {"mochitest": ['jetpack'],
+ "unstructured_flavors": {"mochitest": [],
"xpcshell": [],
"gtest": [],
"mozmill": [],
"cppunittest": [],
"jittest": [],
"mozbase": [],
},
"blob_uploader_auth_file": os.path.join(os.getcwd(), "oauth.txt"),
--- a/testing/mozharness/scripts/desktop_unittest.py
+++ b/testing/mozharness/scripts/desktop_unittest.py
@@ -484,18 +484,17 @@ class DesktopUnittest(TestingMixin, Merc
return suites
def _query_try_flavor(self, category, suite):
flavors = {
"mochitest": [("plain.*", "mochitest"),
("browser-chrome.*", "browser-chrome"),
("mochitest-devtools-chrome.*", "devtools-chrome"),
- ("chrome", "chrome"),
- ("jetpack.*", "jetpack")],
+ ("chrome", "chrome")],
"xpcshell": [("xpcshell", "xpcshell")],
"reftest": [("reftest", "reftest"),
("crashtest", "crashtest")]
}
for suite_pattern, flavor in flavors.get(category, []):
if re.compile(suite_pattern).match(suite):
return flavor
--- a/testing/testsuite-targets.mk
+++ b/testing/testsuite-targets.mk
@@ -86,34 +86,30 @@ REMOTE_CPPUNITTESTS = \
--localLib=$(DEPTH)/dist/fennec \
--deviceIP=${TEST_DEVICE} \
$(TEST_PATH) $(EXTRA_TEST_ARGS)
# Usage: |make [TEST_PATH=...] [EXTRA_TEST_ARGS=...] cppunittests-remote|.
cppunittests-remote:
$(call REMOTE_CPPUNITTESTS);
-jetpack-tests:
- cd $(topsrcdir)/addon-sdk/source && $(PYTHON) bin/cfx -b $(abspath $(browser_path)) --parseable testpkgs
-
pgo-profile-run:
$(PYTHON) $(topsrcdir)/build/pgo/profileserver.py $(EXTRA_TEST_ARGS)
# Package up the tests and test harnesses
include $(topsrcdir)/toolkit/mozapps/installer/package-name.mk
PKG_STAGE = $(DIST)/test-stage
stage-all: \
stage-config \
stage-mach \
stage-extensions \
stage-mochitest \
stage-jstests \
- stage-jetpack \
test-packages-manifest \
$(NULL)
ifdef MOZ_WEBRTC
stage-all: stage-steeplechase
endif
ifdef COMPILE_ENVIRONMENT
stage-all: stage-cppunittests
@@ -174,17 +170,16 @@ endif
# make-stage-dir is a prerequisite to all the stage-* targets in testsuite-targets.mk.
make-stage-dir: install-test-files
rm -rf $(PKG_STAGE)
$(NSINSTALL) -D $(PKG_STAGE)
$(NSINSTALL) -D $(PKG_STAGE)/bin
$(NSINSTALL) -D $(PKG_STAGE)/bin/components
$(NSINSTALL) -D $(PKG_STAGE)/certs
$(NSINSTALL) -D $(PKG_STAGE)/config
- $(NSINSTALL) -D $(PKG_STAGE)/jetpack
$(NSINSTALL) -D $(PKG_STAGE)/modules
$(NSINSTALL) -D $(PKG_STAGE)/tools/mach
stage-config: make-stage-dir
$(NSINSTALL) -D $(PKG_STAGE)/config
@(cd $(topsrcdir)/testing/config && tar $(TAR_CREATE_FLAGS) - *) | (cd $(PKG_STAGE)/config && tar -xf -)
stage-mach: make-stage-dir
@@ -226,19 +221,16 @@ endif
cp $(DEPTH)/mozinfo.json $(PKG_STAGE)/gtest
stage-android: make-stage-dir
$(NSINSTALL) $(topsrcdir)/mobile/android/fonts $(DEPTH)/_tests/reftest
$(NSINSTALL) $(topsrcdir)/mobile/android/fonts $(DEPTH)/_tests/testing/mochitest
$(NSINSTALL) -D $(DEPTH)/_tests/reftest/hyphenation
$(NSINSTALL) $(wildcard $(topsrcdir)/intl/locales/*/hyphenation/*.dic) $(DEPTH)/_tests/reftest/hyphenation
-stage-jetpack: make-stage-dir
- $(MAKE) -C $(DEPTH)/addon-sdk stage-tests-package
-
CPP_UNIT_TEST_BINS=$(wildcard $(DIST)/cppunittests/*)
stage-cppunittests: make-stage-dir
$(NSINSTALL) -D $(PKG_STAGE)/cppunittest
ifdef STRIP_COMPILED_TESTS
$(foreach bin,$(CPP_UNIT_TEST_BINS),$(OBJCOPY) $(or $(STRIP_FLAGS),--strip-unneeded) $(bin) $(bin:$(DIST)/cppunittests/%=$(PKG_STAGE)/cppunittest/%);)
else
cp -RL $(CPP_UNIT_TEST_BINS) $(PKG_STAGE)/cppunittest
@@ -283,14 +275,13 @@ check::
package-tests-prepare-dest \
package-tests-common \
make-stage-dir \
stage-all \
stage-config \
stage-mochitest \
stage-jstests \
stage-android \
- stage-jetpack \
stage-steeplechase \
stage-instrumentation-tests \
test-packages-manifest \
check \
$(NULL)
deleted file mode 100644
--- a/toolkit/components/addoncompat/ShimWaiver.jsm
+++ /dev/null
@@ -1,15 +0,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/.
-
-this.EXPORTED_SYMBOLS = ["ShimWaiver"];
-
-this.ShimWaiver = {
- getProperty(obj, prop) {
- let rv = obj[prop];
- if (rv instanceof Function) {
- rv = rv.bind(obj);
- }
- return rv;
- }
-};
--- a/toolkit/components/addoncompat/moz.build
+++ b/toolkit/components/addoncompat/moz.build
@@ -15,10 +15,9 @@ EXTRA_COMPONENTS += [
'multiprocessShims.js',
]
EXTRA_JS_MODULES += [
'CompatWarning.jsm',
'Prefetcher.jsm',
'RemoteAddonsChild.jsm',
'RemoteAddonsParent.jsm',
- 'ShimWaiver.jsm'
]
deleted file mode 100644
--- a/toolkit/components/osfile/tests/xpcshell/test_loader.js
+++ /dev/null
@@ -1,33 +0,0 @@
-/* Any copyright is dedicated to the Public Domain.
- * http://creativecommons.org/publicdomain/zero/1.0/ */
-
-"use strict";
-
-/**
- * Test that OS.File can be loaded using the CommonJS loader.
- */
-
-var { Loader } = Components.utils.import("resource://gre/modules/commonjs/toolkit/loader.js", {});
-
-
-add_task(async function() {
- let dataDir = Services.io.newFileURI(do_get_file("test_loader/", true)).spec + "/";
- let loader = Loader.Loader({
- paths: {"": dataDir }
- });
-
- let require = Loader.Require(loader, Loader.Module("module_test_loader", "foo"));
- do_print("Require is ready");
- try {
- require("module_test_loader");
- } catch (error) {
- dump("Bootstrap error: " +
- (error.message ? error.message : String(error)) + "\n" +
- (error.stack || error.fileName + ": " + error.lineNumber) + "\n");
-
- throw error;
- }
-
- do_print("Require has worked");
-});
-
deleted file mode 100644
--- a/toolkit/components/osfile/tests/xpcshell/test_loader/module_test_loader.js
+++ /dev/null
@@ -1,9 +0,0 @@
-/* Any copyright is dedicated to the Public Domain.
- * http://creativecommons.org/publicdomain/zero/1.0/ */
-
-"use strict";
-
-// Load OS.File from a module loaded with the CommonJS/addon-sdk loader
-
-var {Cu} = require("chrome");
-Cu.import("resource://gre/modules/osfile.jsm");
--- a/toolkit/components/osfile/tests/xpcshell/xpcshell.ini
+++ b/toolkit/components/osfile/tests/xpcshell/xpcshell.ini
@@ -1,21 +1,17 @@
[DEFAULT]
head = head.js
-support-files =
- test_loader/module_test_loader.js
-
[test_compression.js]
[test_constants.js]
[test_creationDate.js]
[test_duration.js]
[test_exception.js]
[test_file_URL_conversion.js]
-[test_loader.js]
[test_logging.js]
[test_makeDir.js]
[test_open.js]
[test_osfile_async.js]
[test_osfile_async_append.js]
[test_osfile_async_bytes.js]
[test_osfile_async_copy.js]
[test_osfile_async_flush.js]
--- a/toolkit/modules/moz.build
+++ b/toolkit/modules/moz.build
@@ -149,16 +149,17 @@ with Files('WindowsRegistry.jsm'):
BUG_COMPONENT = ('Toolkit', 'General')
XPCSHELL_TESTS_MANIFESTS += ['tests/xpcshell/xpcshell.ini']
BROWSER_CHROME_MANIFESTS += ['tests/browser/browser.ini']
MOCHITEST_CHROME_MANIFESTS += ['tests/chrome/chrome.ini']
TESTING_JS_MODULES += [
+ 'HiddenFrame.jsm',
'tests/modules/MockDocument.jsm',
'tests/modules/PromiseTestUtils.jsm',
'tests/xpcshell/TestIntegration.jsm',
]
SPHINX_TREES['toolkit_modules'] = 'docs'
EXTRA_JS_MODULES += [
@@ -191,17 +192,16 @@ EXTRA_JS_MODULES += [
'Finder.jsm',
'FinderHighlighter.jsm',
'FinderIterator.jsm',
'FormLikeFactory.jsm',
'Geometry.jsm',
'GMPExtractorWorker.js',
'GMPInstallManager.jsm',
'GMPUtils.jsm',
- 'HiddenFrame.jsm',
'Http.jsm',
'IndexedDB.jsm',
'InlineSpellChecker.jsm',
'InlineSpellCheckerContent.jsm',
'Integration.jsm',
'JSONFile.jsm',
'LoadContextInfo.jsm',
'Log.jsm',
--- a/toolkit/toolkit.mozbuild
+++ b/toolkit/toolkit.mozbuild
@@ -137,18 +137,16 @@ DIRS += [
'/startupcache',
'/js/ductwork/debugger',
'/other-licenses/snappy',
]
if 'gtk' in CONFIG['MOZ_WIDGET_TOOLKIT']:
DIRS += ['/toolkit/system/gnome']
-DIRS += ['/addon-sdk']
-
if CONFIG['ENABLE_MARIONETTE']:
DIRS += [
'/testing/firefox-ui',
'/testing/marionette',
]
if CONFIG['ENABLE_GECKODRIVER']:
DIRS += ['/testing/geckodriver']
--- a/tools/lint/py2.yml
+++ b/tools/lint/py2.yml
@@ -1,15 +1,14 @@
---
py2:
description: Python 2 compatibility check
include: ['.']
exclude:
- accessible/xpcom/AccEventGen.py
- - addon-sdk
- browser
- build
- client.py
- config
- configure.py
- devtools/shared/css/generated/mach_commands.py
- dom
- editor
--- a/tools/lint/py3.yml
+++ b/tools/lint/py3.yml
@@ -1,14 +1,13 @@
---
py3:
description: Python 3 compatibility check
include: ['.']
exclude:
- - addon-sdk/source
- browser/app
- browser/components
- browser/extensions
- build
- client.py
- config
- dom/bindings
- dom/canvas/test