We need support in our harness to install and uninstall Firefox builds from the appropriate installers. David, what would be the best class in Marionette to subclass for that enhancement? Once I know that I can give more details in what is necessary to do.

Thanks David! So what we would have to do here is the following:
* Add additional checks for the binary if it is an installer [mozinstall.is_installer()] before the option reaches the code in BaseMarionetteTestRunner.
* If it is not an installer pass-through the binary option
* If it is an installer, call mozinstall.install() and force the returned path as new binary for BaseMarionetteTestRunner. Also set a flag that Firefox got installed.
* Run the tests as usual
* Check if the install flag is set. If yes, call mozinstall.uninstall() for that installed Firefox, so it's getting removed.
I'm cc'ing Bob here just in case he wants to work on something else beside the software-update and about window lib, and I would get to it.

Created attachment 8573226[details][review]
github_pull_request.txt
The proposed solution from IRC is indeed working pretty well! This referenced PR adds support for mozinstall to our harness, and also let Travis CI use it.

Comment on attachment 8573226[details][review]
github_pull_request.txt
I left a few comments/questions I'd like to resolve before landing, but this is a straightforward change and is pretty much good to go.