Bug 1542920 - Enable Marionette by default. r=froydnj
authorNick Alexander <nalexander@mozilla.com>
Wed, 10 Apr 2019 14:11:17 +0000
changeset 468866 f12fa368889233417d827198fb5ab99ab6cdee65
parent 468865 ce76d73f8eb37408e15f839b1444988158635923
child 468867 4799fcf678c3367b4582d5e46667056c6864f57a
push id35852
push userdvarga@mozilla.com
push dateThu, 11 Apr 2019 04:19:28 +0000
treeherdermozilla-central@710344cf9b5a [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersfroydnj
bugs1542920
milestone68.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1542920 - Enable Marionette by default. r=froydnj In particular, this enables Marionette in local Fennec builds, which were the only place it wasn't enabled by default. (Automation builds all enabled Marionette.) That default is getting in the way of the Performance Team (and others!) testing GeckoView-based products easily. Differential Revision: https://phabricator.services.mozilla.com/D26815
mobile/android/config/mozconfigs/common
testing/marionette/doc/Testing.md
toolkit/moz.configure
--- a/mobile/android/config/mozconfigs/common
+++ b/mobile/android/config/mozconfigs/common
@@ -35,18 +35,16 @@ if [ -z "$NO_NDK" -a -z "$USE_ARTIFACT" 
 fi
 
 ac_add_options --enable-update-channel=${MOZ_UPDATE_CHANNEL}
 
 ac_add_options --with-google-safebrowsing-api-keyfile=/builds/sb-gapi.data
 ac_add_options --with-google-location-service-api-keyfile=/builds/gls-gapi.data
 ac_add_options --with-mozilla-api-keyfile=/builds/mozilla-fennec-geoloc-api.key
 
-ac_add_options --enable-marionette
-
 # MOZ_INSTALL_TRACKING does not guarantee MOZ_UPDATE_CHANNEL will be set so we
 # provide a default state. Currently, the default state provides a default
 # keyfile because an assertion will be thrown if MOZ_INSTALL_TRACKING is
 # specified but a keyfile is not. This assertion can catch if we misconfigure a
 # release or beta build and it does not have a valid keyfile.
 #
 # However, by providing a default keyfile, if we misconfigure beta or release,
 # the default keyfile may be used instead and the assertion won't catch the
--- a/testing/marionette/doc/Testing.md
+++ b/testing/marionette/doc/Testing.md
@@ -78,18 +78,17 @@ but has the additional benefit of also w
 [functional tests]: PythonTests.html
 [Firefox Nightly]: https://nightly.mozilla.org/
 
 
 ### Android
 
 Prerequisites:
 
-*   You have [built Fennec](https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Build_Instructions/Simple_Firefox_for_Android_build) with
-    `ac_add_options --enable-marionette` in your mozconfig.
+*   You have [built Fennec](https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Build_Instructions/Simple_Firefox_for_Android_build).
 *   You can run an Android [emulator](https://wiki.mozilla.org/Mobile/Fennec/Android/Testing#Running_tests_on_the_Android_emulator),
     which means you have the AVD you need.
 
 When running tests on Fennec, you can have Marionette runner take care of
 starting Fennec and an emulator, as shown below.
 
 	% ./mach marionette-test --emulator --app fennec
     --avd-home /path/to/.mozbuild/android-device/avd
--- a/toolkit/moz.configure
+++ b/toolkit/moz.configure
@@ -932,38 +932,30 @@ set_define('ENABLE_REMOTE_AGENT', remote
 
 # Marionette remote protocol
 # ==============================================================
 #
 # Marionette is the Gecko remote protocol used for various remote control,
 # automation, and testing purposes throughout Gecko, Firefox, and Fennec.
 # Marionette lives in ../testing/marionette.
 #
-# Marionette is not really a toolkit feature, as much as a Gecko engine
-# feature.  But it is enabled based on the toolkit (and target), so here
-# it lives.
+# Marionette is not really a toolkit feature, as much as a Gecko
+# engine feature.  But it is enabled based on the toolkit, so here it
+# lives.
 #
 # It also backs ../testing/geckodriver, which is Mozilla's WebDriver
 # implementation.
 #
 # For more information, see
 # https://developer.mozilla.org/en-US/docs/Mozilla/QA/Marionette.
 
-@depends(target)
-def marionette(target):
-    """Enable Marionette by default, except on Android."""
-    if target.os != 'Android':
-        return True
+option('--disable-marionette',
+       help='Disable Marionette remote protocol')
 
-imply_option('--enable-marionette', marionette, reason='Not Android')
-
-option('--enable-marionette',
-       help='Enable Marionette remote protocol')
-
-@depends('--enable-marionette')
+@depends('--disable-marionette')
 def marionette(value):
     if value:
         return True
 
 set_config('ENABLE_MARIONETTE', marionette)
 
 
 # geckodriver WebDriver implementation