Bug 1454404 - Pass adb path from Android mach commands to test harnesses; r=jmaher
authorGeoff Brown <gbrown@mozilla.com>
Mon, 16 Apr 2018 14:05:32 -0600
changeset 413988 a064cecfa429da6dd820793a8ebf5aa9df511b13
parent 413987 8eaced3b0ff4e49cbb31bce9133aec928ee9a0d8
child 413989 a2f017455c094a23f6e069f8d725ae9667065178
push id33854
push usercbrindusan@mozilla.com
push dateTue, 17 Apr 2018 09:54:05 +0000
treeherdermozilla-central@f94b64e00202 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersjmaher
bugs1454404
milestone61.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 1454404 - Pass adb path from Android mach commands to test harnesses; r=jmaher
layout/tools/reftest/reftestcommandline.py
layout/tools/reftest/remotereftest.py
testing/mochitest/mochitest_options.py
testing/mochitest/rungeckoview.py
testing/mochitest/runrobocop.py
testing/mochitest/runtestsremote.py
testing/remotecppunittests.py
testing/xpcshell/remotexpcshelltests.py
testing/xpcshell/xpcshellcommandline.py
--- a/layout/tools/reftest/reftestcommandline.py
+++ b/layout/tools/reftest/reftestcommandline.py
@@ -405,17 +405,17 @@ class RemoteArgumentsParser(ReftestArgum
                           xrePath="",
                           utilityPath="",
                           localLogName=None)
 
         self.add_argument("--adbpath",
                           action="store",
                           type=str,
                           dest="adb_path",
-                          default="adb",
+                          default=None,
                           help="path to adb")
 
         self.add_argument("--deviceSerial",
                           action="store",
                           type=str,
                           dest="deviceSerial",
                           help="adb serial number of remote device to test")
 
--- a/layout/tools/reftest/remotereftest.py
+++ b/layout/tools/reftest/remotereftest.py
@@ -144,17 +144,17 @@ class RemoteReftest(RefTest):
         self.run_by_manifest = False
         self.scriptDir = scriptDir
         self.localLogName = options.localLogName
 
         verbose = False
         if options.log_tbpl_level == 'debug' or options.log_mach_level == 'debug':
             verbose = True
             print "set verbose!"
-        self.device = ADBAndroid(adb=options.adb_path,
+        self.device = ADBAndroid(adb=options.adb_path or 'adb',
                                  device=options.deviceSerial,
                                  test_root=options.remoteTestRoot,
                                  verbose=verbose)
 
         if options.remoteTestRoot is None:
             options.remoteTestRoot = posixpath.join(self.device.test_root, "reftest")
         options.remoteProfile = posixpath.join(options.remoteTestRoot, "profile")
         options.remoteLogFile = posixpath.join(options.remoteTestRoot, "reftest.log")
--- a/testing/mochitest/mochitest_options.py
+++ b/testing/mochitest/mochitest_options.py
@@ -850,17 +850,17 @@ class AndroidArguments(ArgumentContainer
     args = [
         [["--deviceSerial"],
          {"dest": "deviceSerial",
           "help": "ip address of remote device to test",
           "default": None,
           }],
         [["--adbpath"],
          {"dest": "adbPath",
-          "default": "adb",
+          "default": None,
           "help": "Path to adb binary.",
           "suppress": True,
           }],
         [["--remote-webserver"],
          {"dest": "remoteWebServer",
           "default": None,
           "help": "ip address where the remote web server is hosted at",
           }],
--- a/testing/mochitest/rungeckoview.py
+++ b/testing/mochitest/rungeckoview.py
@@ -34,34 +34,34 @@ class GeckoviewOptions(OptionParser):
                         default="org.mozilla.geckoview_example",
                         help="geckoview_example package name")
         self.add_option("--deviceSerial",
                         action="store", type="string", dest="deviceSerial",
                         default=None,
                         help="serial ID of remote device to test")
         self.add_option("--adbpath",
                         action="store", type="string", dest="adbPath",
-                        default="adb",
+                        default=None,
                         help="Path to adb binary.")
         self.add_option("--remoteTestRoot",
                         action="store", type="string", dest="remoteTestRoot",
                         default=None,
                         help="remote directory to use as test root \
                               (eg. /mnt/sdcard/tests or /data/local/tests)")
 
 
 class GeckoviewTestRunner:
     """
        A quick-and-dirty test harness to verify the geckoview_example
        app starts without crashing.
     """
 
     def __init__(self, log, options):
         self.log = log
-        self.device = ADBAndroid(adb=options.adbPath,
+        self.device = ADBAndroid(adb=options.adbPath or 'adb',
                                  device=options.deviceSerial,
                                  test_root=options.remoteTestRoot)
         self.options = options
         self.appname = self.options.app.split('/')[-1]
         self.logcat = None
         self.build_profile()
         self.log.debug("options=%s" % vars(options))
 
--- a/testing/mochitest/runrobocop.py
+++ b/testing/mochitest/runrobocop.py
@@ -42,17 +42,17 @@ class RobocopTestRunner(MochitestDesktop
         """
            Simple one-time initialization.
         """
         MochitestDesktop.__init__(self, options.flavor, vars(options))
 
         verbose = False
         if options.log_tbpl_level == 'debug' or options.log_mach_level == 'debug':
             verbose = True
-        self.device = ADBAndroid(adb=options.adbPath,
+        self.device = ADBAndroid(adb=options.adbPath or 'adb',
                                  device=options.deviceSerial,
                                  test_root=options.remoteTestRoot,
                                  verbose=verbose)
 
         # Check that Firefox is installed
         expected = options.app.split('/')[-1]
         if not self.device.is_app_installed(expected):
             raise Exception("%s is not installed on this device" % expected)
--- a/testing/mochitest/runtestsremote.py
+++ b/testing/mochitest/runtestsremote.py
@@ -35,17 +35,17 @@ class MochiRemote(MochitestDesktop):
             verbose = True
         if hasattr(options, 'log'):
             delattr(options, 'log')
 
         self.certdbNew = True
         self.chromePushed = False
         self.mozLogName = "moz.log"
 
-        self.device = ADBAndroid(adb=options.adbPath,
+        self.device = ADBAndroid(adb=options.adbPath or 'adb',
                                  device=options.deviceSerial,
                                  test_root=options.remoteTestRoot,
                                  verbose=verbose)
 
         if options.remoteTestRoot is None:
             options.remoteTestRoot = self.device.test_root
         options.dumpOutputDirectory = options.remoteTestRoot
         self.remoteLogFile = posixpath.join(options.remoteTestRoot, "logs", "mochitest.log")
--- a/testing/remotecppunittests.py
+++ b/testing/remotecppunittests.py
@@ -23,17 +23,17 @@ except ImportError:
     build_obj = None
 
 
 class RemoteCPPUnitTests(cppunittests.CPPUnitTests):
 
     def __init__(self, options, progs):
         cppunittests.CPPUnitTests.__init__(self)
         self.options = options
-        self.device = ADBAndroid(adb=options.adb_path,
+        self.device = ADBAndroid(adb=options.adb_path or 'adb',
                                  device=options.device_serial,
                                  test_root=options.remote_test_root)
         self.remote_test_root = posixpath.join(self.device.test_root, "cppunittests")
         self.remote_bin_dir = posixpath.join(self.remote_test_root, "b")
         self.remote_tmp_dir = posixpath.join(self.remote_test_root, "tmp")
         self.remote_home_dir = posixpath.join(self.remote_test_root, "h")
         if options.setup:
             self.setup_bin(progs)
@@ -170,17 +170,17 @@ class RemoteCPPUnittestOptions(cppunitte
         self.add_option("--deviceSerial", action="store",
                         type="string", dest="device_serial",
                         help="serial ID of device")
         defaults["device_serial"] = None
 
         self.add_option("--adbPath", action="store",
                         type="string", dest="adb_path",
                         help="Path to adb")
-        defaults["adb_path"] = "adb"
+        defaults["adb_path"] = None
 
         self.add_option("--noSetup", action="store_false",
                         dest="setup",
                         help="do not copy any files to device (to be used only if "
                         "device is already setup)")
         defaults["setup"] = True
 
         self.add_option("--localLib", action="store",
--- a/testing/xpcshell/remotexpcshelltests.py
+++ b/testing/xpcshell/remotexpcshelltests.py
@@ -236,17 +236,17 @@ class XPCShellRemote(xpcshell.XPCShellTe
 
     def __init__(self, options, log):
         xpcshell.XPCShellTests.__init__(self, log)
 
         self.options = options
         verbose = False
         if options['log_tbpl_level'] == 'debug' or options['log_mach_level'] == 'debug':
             verbose = True
-        self.device = ADBAndroid(adb=options['adbPath'],
+        self.device = ADBAndroid(adb=options['adbPath'] or 'adb',
                                  device=options['deviceSerial'],
                                  test_root=options['remoteTestRoot'],
                                  verbose=verbose)
         self.remoteTestRoot = posixpath.join(self.device.test_root, "xpc")
         # Add Android version (SDK level) to mozinfo so that manifest entries
         # can be conditional on android_version.
         mozinfo.info['android_version'] = self.device.version
 
--- a/testing/xpcshell/xpcshellcommandline.py
+++ b/testing/xpcshell/xpcshellcommandline.py
@@ -142,17 +142,17 @@ def add_remote_arguments(parser):
 
     parser.add_argument("--apk", action="store", type=str, dest="localAPK",
                         help="local path to Fennec APK")
 
     parser.add_argument("--deviceSerial", action="store", type=str, dest="deviceSerial",
                         help="serial ID of device")
 
     parser.add_argument("--adbPath", action="store", type=str, dest="adbPath",
-                        default="adb",
+                        default=None,
                         help="Path to adb")
 
     parser.add_argument("--noSetup", action="store_false", dest="setup", default=True,
                         help="do not copy any files to device (to be used only if "
                              "device is already setup)")
 
     parser.add_argument("--local-lib-dir", action="store", type=str, dest="localLib",
                         help="local path to library directory")