diff options
Diffstat (limited to 'devtools/client/aboutdebugging/test/browser/helper-adb.js')
-rw-r--r-- | devtools/client/aboutdebugging/test/browser/helper-adb.js | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/devtools/client/aboutdebugging/test/browser/helper-adb.js b/devtools/client/aboutdebugging/test/browser/helper-adb.js new file mode 100644 index 0000000000..f5e6adfc6b --- /dev/null +++ b/devtools/client/aboutdebugging/test/browser/helper-adb.js @@ -0,0 +1,59 @@ +/* Any copyright is dedicated to the Public Domain. + http://creativecommons.org/publicdomain/zero/1.0/ */ + +"use strict"; + +/* import-globals-from head.js */ + +async function checkAdbNotRunning() { + info("Check if ADB is already running before the test starts"); + const { + check, + } = require("resource://devtools/client/shared/remote-debugging/adb/adb-running-checker.js"); + const isAdbAlreadyRunning = await check(); + if (isAdbAlreadyRunning) { + throw new Error( + "The ADB process is already running on this machine, it should be " + + "stopped before running this test" + ); + } +} +/* exported checkAdbNotRunning */ + +// Returns a promise that resolves when the adb process exists and is running. +async function waitForAdbStart() { + info("Wait for ADB to start"); + const { + adbProcess, + } = require("resource://devtools/client/shared/remote-debugging/adb/adb-process.js"); + const { + check, + } = require("resource://devtools/client/shared/remote-debugging/adb/adb-running-checker.js"); + return asyncWaitUntil(async () => { + const isProcessReady = adbProcess.ready; + const isRunning = await check(); + return isProcessReady && isRunning; + }); +} +/* exported waitForAdbStart */ + +// Attempt to stop ADB. Will only work if ADB was started by the current Firefox instance. +// Returns a promise that resolves when the adb process is no longer running. +async function stopAdbProcess() { + info("Attempt to stop ADB"); + const { + adbProcess, + } = require("resource://devtools/client/shared/remote-debugging/adb/adb-process.js"); + await adbProcess.stop(); + + info("Wait for ADB to stop"); + const { + check, + } = require("resource://devtools/client/shared/remote-debugging/adb/adb-running-checker.js"); + return asyncWaitUntil(async () => { + const isProcessReady = adbProcess.ready; + const isRunning = await check(); + return !isProcessReady && !isRunning; + }); +} +/* exported stopAdbProcess */ |