Bug 1079931 - Update reftest remotereftest.py to support connecting to device by serial number, r=ahal.
--- a/layout/tools/reftest/remotereftest.py
+++ b/layout/tools/reftest/remotereftest.py
@@ -37,16 +37,21 @@ class RemoteOptions(ReftestOptions):
help = "Path to remote executable relative to device root using only forward slashes. Either this or app must be specified, but not both.")
defaults["remoteAppPath"] = None
self.add_option("--deviceIP", action="store",
type = "string", dest = "deviceIP",
help = "ip address of remote device to test")
defaults["deviceIP"] = None
+ self.add_option("--deviceSerial", action="store",
+ type = "string", dest = "deviceSerial",
+ help = "adb serial number of remote device to test")
+ defaults["deviceSerial"] = None
+
self.add_option("--devicePort", action="store",
type = "string", dest = "devicePort",
help = "port of remote device to test")
defaults["devicePort"] = 20701
self.add_option("--remote-product-name", action="store",
type = "string", dest = "remoteProductName",
help = "Name of product to test - either fennec or firefox, defaults to fennec")
@@ -444,24 +449,26 @@ class RemoteReftest(RefTest):
except:
print "Warning: cleaning up pidfile '%s' was unsuccessful from the test harness" % self.pidFile
def main(args):
automation = RemoteAutomation(None)
parser = RemoteOptions(automation)
options, args = parser.parse_args()
- if (options.deviceIP == None):
- print "Error: you must provide a device IP to connect to via the --device option"
+ if (options.dm_trans == 'sut' and options.deviceIP == None):
+ print "Error: If --dm_trans = sut, you must provide a device IP to connect to via the --deviceIP option"
return 1
try:
if (options.dm_trans == "adb"):
if (options.deviceIP):
dm = droid.DroidADB(options.deviceIP, options.devicePort, deviceRoot=options.remoteTestRoot)
+ elif (options.deviceSerial):
+ dm = droid.DroidADB(None, None, deviceSerial=options.deviceSerial, deviceRoot=options.remoteTestRoot)
else:
dm = droid.DroidADB(None, None, deviceRoot=options.remoteTestRoot)
else:
dm = droid.DroidSUT(options.deviceIP, options.devicePort, deviceRoot=options.remoteTestRoot)
except devicemanager.DMError:
print "Automation Error: exception while initializing devicemanager. Most likely the device is not in a testable state."
return 1