This patch makes changes to better handle the storage for the app/geckodriver to let us use non-rooted devices. The fixes here are needed to handle pulling/pushing the profile that gets used by fenix (both from raptor, and condprof). Note that `rm` doesn't always work depending on the storage/shell permissions currently in effect. Pushing overwrites existing files, and the pm clear's should handle other files, but there's still a possibility that some prior run data continues existing. A check is added when a non-rooted device is detected to ensure that the user understands the profile of the app will be deleted prior to running the test. Differential Revision: https://phabricator.services.mozilla.com/D299548
Mozbase
Mozbase is a set of easy-to-use Python packages forming a supplemental standard library for Mozilla. It provides consistency and reduces redundancy in automation and other system-level software. All of Mozilla's test harnesses use mozbase to some degree, including Talos, mochitest, and reftest.
Learn more about mozbase at the project page.
Read detailed docs online, or build them locally by running "make html" in the docs directory.