Bug 1549669 - [raptor] Handle "--disable-e10s" argument to avoid causing fennec tests to fail r=perftest-reviewers,whimboo,ahal,rwood
authoralexandru.ionescu <alexandru.ionescu@softvision.ro>
Tue, 14 May 2019 11:50:00 +0000
changeset 473762 7abc1485ca90e0283665aa49a73aff7578f20d6e
parent 473761 3d3527abff681615f5a3dde9bd844b60b80f292d
child 473763 23ab80e6ec5318991ef646bc74515bd4347d0da1
push id36013
push usercsabou@mozilla.com
push dateTue, 14 May 2019 16:01:08 +0000
treeherdermozilla-central@230016dbba05 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersperftest-reviewers, whimboo, ahal, rwood
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 1549669 - [raptor] Handle "--disable-e10s" argument to avoid causing fennec tests to fail r=perftest-reviewers,whimboo,ahal,rwood Differential Revision: https://phabricator.services.mozilla.com/D30171
--- a/testing/mozharness/mozharness/mozilla/testing/raptor.py
+++ b/testing/mozharness/mozharness/mozilla/testing/raptor.py
@@ -158,16 +158,22 @@ class Raptor(TestingMixin, MercurialScri
             "help": "Use Raptor to measure memory usage.",
         [["--debug-mode"], {
             "dest": "debug_mode",
             "action": "store_true",
             "default": False,
             "help": "Run Raptor in debug mode (open browser console, limited page-cycles, etc.)",
+        [["--disable-e10s"], {
+            "dest": "e10s",
+            "action": "store_false",
+            "default": True,
+            "help": "Run without multiple processes (e10s).",
+        }],
     ] + testing_config_options + copy.deepcopy(code_coverage_config_options)
     def __init__(self, **kwargs):
         kwargs.setdefault('config_options', self.config_options)
         kwargs.setdefault('all_actions', ['clobber',
--- a/testing/raptor/raptor/cmdline.py
+++ b/testing/raptor/raptor/cmdline.py
@@ -124,16 +124,18 @@ def create_parser(mach_interface=False):
             help='How long to wait (ms) after browser start-up before starting the tests')
     add_arg('--browser-cycles', dest="browser_cycles", type=int,
             help="The number of times a cold load test is repeated (for cold load tests only, "
             "where the browser is shutdown and restarted between test iterations)")
     add_arg('--print-tests', action=_PrintTests,
             help="Print all available Raptor tests")
     add_arg('--debug-mode', dest="debug_mode", action="store_true",
             help="Run Raptor in debug mode (open browser console, limited page-cycles, etc.)")
+    add_arg('--disable-e10s', dest="e10s", action="store_false", default=True,
+            help="Run without multiple processes (e10s).")
     if not mach_interface:
         add_arg('--run-local', dest="run_local", default=False, action="store_true",
                 help="Flag that indicates if raptor is running locally or in production")
         add_arg('--obj-path', dest="obj_path", default=None,
                 help="Browser build obj_path (received when running in production)")
     return parser
--- a/testing/raptor/raptor/raptor.py
+++ b/testing/raptor/raptor/raptor.py
@@ -82,17 +82,17 @@ class SignalHandlerException(Exception):
 class Raptor(object):
     """Container class for Raptor"""
     def __init__(self, app, binary, run_local=False, obj_path=None,
                  gecko_profile=False, gecko_profile_interval=None, gecko_profile_entries=None,
                  symbols_path=None, host=None, power_test=False, memory_test=False,
                  is_release_build=False, debug_mode=False, post_startup_delay=None,
-                 interrupt_handler=None, **kwargs):
+                 interrupt_handler=None, e10s=True, **kwargs):
         # Override the magic --host HOST_IP with the value of the environment variable.
         if host == 'HOST_IP':
             host = os.environ['HOST_IP']
         self.config = {
             'app': app,
             'binary': binary,
@@ -104,16 +104,17 @@ class Raptor(object):
             'gecko_profile_interval': gecko_profile_interval,
             'gecko_profile_entries': gecko_profile_entries,
             'symbols_path': symbols_path,
             'host': host,
             'power_test': power_test,
             'memory_test': memory_test,
             'is_release_build': is_release_build,
             'enable_control_server_wait': memory_test,
+            'e10s': e10s,
         self.raptor_venv = os.path.join(os.getcwd(), 'raptor-venv')
         self.log = get_default_logger(component='raptor-main')
         self.control_server = None
         self.playback = None
         self.benchmark = None
         self.benchmark_port = 0
@@ -901,17 +902,17 @@ class RaptorAndroid(Raptor):
                 # Additional command line arguments that the app will read and use (e.g.
                 # with a custom profile)
                 extras = {}
                 if extra_args:
                     extras['args'] = " ".join(extra_args)
                 # add e10s=True
-                extras['use_multiprocess'] = True
+                extras['use_multiprocess'] = self.config['e10s']