summaryrefslogtreecommitdiffstats
path: root/devtools/client/framework/browser-toolbox/test/browser_browser_toolbox_shouldprocessupdates.js
diff options
context:
space:
mode:
Diffstat (limited to 'devtools/client/framework/browser-toolbox/test/browser_browser_toolbox_shouldprocessupdates.js')
-rw-r--r--devtools/client/framework/browser-toolbox/test/browser_browser_toolbox_shouldprocessupdates.js42
1 files changed, 42 insertions, 0 deletions
diff --git a/devtools/client/framework/browser-toolbox/test/browser_browser_toolbox_shouldprocessupdates.js b/devtools/client/framework/browser-toolbox/test/browser_browser_toolbox_shouldprocessupdates.js
new file mode 100644
index 0000000000..6f5e18791b
--- /dev/null
+++ b/devtools/client/framework/browser-toolbox/test/browser_browser_toolbox_shouldprocessupdates.js
@@ -0,0 +1,42 @@
+/* Any copyright is dedicated to the Public Domain.
+ http://creativecommons.org/publicdomain/zero/1.0/ */
+
+// There are shutdown issues for which multiple rejections are left uncaught.
+// See bug 1018184 for resolving these issues.
+const { PromiseTestUtils } = ChromeUtils.importESModule(
+ "resource://testing-common/PromiseTestUtils.sys.mjs"
+);
+PromiseTestUtils.allowMatchingRejectionsGlobally(/File closed/);
+
+// On debug test machine, it takes about 50s to run the test.
+requestLongerTimeout(4);
+
+add_task(async function () {
+ // Running devtools should prevent processing updates. By setting this
+ // environment variable and then inspecting it from the launched devtools
+ // process, we can witness update processing being skipped.
+ Services.env.set("MOZ_TEST_PROCESS_UPDATES", "1");
+
+ const ToolboxTask = await initBrowserToolboxTask();
+ await ToolboxTask.importFunctions({});
+
+ let result = await ToolboxTask.spawn(null, async () => {
+ const result = {
+ exists: Services.env.exists("MOZ_TEST_PROCESS_UPDATES"),
+ get: Services.env.get("MOZ_TEST_PROCESS_UPDATES"),
+ };
+ // Log so that we have a hope of debugging.
+ console.log("result", result);
+ return JSON.stringify(result);
+ });
+
+ result = JSON.parse(result);
+ ok(result.exists, "MOZ_TEST_PROCESS_UPDATES exists in subprocess");
+ is(
+ result.get,
+ "ShouldNotProcessUpdates(): DevToolsLaunching",
+ "MOZ_TEST_PROCESS_UPDATES is correct in subprocess"
+ );
+
+ await ToolboxTask.destroy();
+});