author | William Lachance <wlach@mozilla.com> |
Mon, 21 Apr 2014 11:03:51 -0400 | |
changeset 179402 | a0daa735e86571693584755f2b4badd67ce3a2d3 |
parent 179401 | dcc3ce7fcd23ffb3c9d281edd91a7c7939191284 |
child 179403 | 408e7a1d91a1758b8fdc9451c0de88e049c9f4ea |
push id | 26622 |
push user | ryanvm@gmail.com |
push date | Mon, 21 Apr 2014 19:47:37 +0000 |
treeherder | mozilla-central@78b0aaa91320 [default view] [failures only] |
perfherder | [talos] [build metrics] [platform microbench] (compared to previous push) |
reviewers | ahal |
bugs | 996862 |
milestone | 31.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
|
--- a/build/mobile/b2gautomation.py +++ b/build/mobile/b2gautomation.py @@ -8,17 +8,16 @@ import os import Queue import re import shutil import tempfile import time import traceback from automation import Automation -from devicemanager import NetworkTools from mozprocess import ProcessHandlerMixin class StdOutProc(ProcessHandlerMixin): """Process handler for b2g which puts all output in a Queue. """ def __init__(self, cmd, queue, **kwargs): @@ -124,20 +123,16 @@ class B2GRemoteAutomation(Automation): # if remote profile is specified, use that instead if (self._remoteProfile): profileDir = self._remoteProfile cmd, args = Automation.buildCommandLine(self, app, debuggerInfo, profileDir, testURL, extraArgs) return app, args - def getLanIp(self): - nettools = NetworkTools() - return nettools.getLanIp() - def waitForFinish(self, proc, utilityPath, timeout, maxTime, startTime, debuggerInfo, symbolsPath): """ Wait for tests to finish (as evidenced by a signature string in logcat), or for a given amount of time to elapse with no output. """ timeout = timeout or 120 while True:
--- a/build/mobile/remoteautomation.py +++ b/build/mobile/remoteautomation.py @@ -5,17 +5,17 @@ import time import re import os import tempfile import shutil import subprocess from automation import Automation -from devicemanager import NetworkTools, DMError +from devicemanager import DMError import mozcrash # signatures for logcat messages that we don't care about much fennecLogcatFilters = [ "The character encoding of the HTML document was not declared", "Use of Mutation Events is deprecated. Use MutationObserver instead.", "Unexpected value from nativeGetEnabledTags: 0" ] class RemoteAutomation(Automation): @@ -170,20 +170,16 @@ class RemoteAutomation(Automation): try: args.remove('-foreground') except: pass #TODO: figure out which platform require NO_EM_RESTART # return app, ['--environ:NO_EM_RESTART=1'] + args return app, args - def getLanIp(self): - nettools = NetworkTools() - return nettools.getLanIp() - def Process(self, cmd, stdout = None, stderr = None, env = None, cwd = None): if stdout == None or stdout == -1 or stdout == subprocess.PIPE: stdout = self._remoteLog return self.RProcess(self._devicemanager, cmd, stdout, stderr, env, cwd, self._appName) # be careful here as this inner class doesn't have access to outer class members class RProcess(object):
--- a/layout/tools/reftest/Makefile.in +++ b/layout/tools/reftest/Makefile.in @@ -31,16 +31,17 @@ endif $(srcdir)/runreftestb2g.py \ $(srcdir)/b2g_desktop.py \ automation.py \ $(topsrcdir)/testing/mozbase/mozdevice/mozdevice/devicemanager.py \ $(topsrcdir)/testing/mozbase/mozdevice/mozdevice/devicemanagerADB.py \ $(topsrcdir)/testing/mozbase/mozdevice/mozdevice/devicemanagerSUT.py \ $(topsrcdir)/testing/mozbase/mozdevice/mozdevice/droid.py \ $(topsrcdir)/testing/mozbase/mozdevice/mozdevice/Zeroconf.py \ + $(topsrcdir)/testing/mozbase/moznetwork/moznetwork/moznetwork.py \ $(topsrcdir)/build/mobile/b2gautomation.py \ $(topsrcdir)/build/automationutils.py \ $(topsrcdir)/build/mobile/remoteautomation.py \ $(topsrcdir)/testing/mochitest/server.js \ $(topsrcdir)/build/pgo/server-locations.txt \ $(NULL) _HARNESS_PP_FILES = \
--- a/layout/tools/reftest/remotereftest.py +++ b/layout/tools/reftest/remotereftest.py @@ -11,16 +11,17 @@ import traceback # We need to know our current directory so that we can serve our test files from it. SCRIPT_DIRECTORY = os.path.abspath(os.path.realpath(os.path.dirname(sys.argv[0]))) from runreftest import RefTest from runreftest import ReftestOptions from automation import Automation import devicemanager import droid +import moznetwork from remoteautomation import RemoteAutomation, fennecLogcatFilters class RemoteOptions(ReftestOptions): def __init__(self, automation): ReftestOptions.__init__(self, automation) defaults = {} defaults["logFile"] = "reftest.log" @@ -48,17 +49,17 @@ class RemoteOptions(ReftestOptions): 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") defaults["remoteProductName"] = "fennec" self.add_option("--remote-webserver", action="store", type = "string", dest = "remoteWebServer", help = "IP Address of the webserver hosting the reftest content") - defaults["remoteWebServer"] = automation.getLanIp() + defaults["remoteWebServer"] = moznetwork.get_ip() self.add_option("--http-port", action = "store", type = "string", dest = "httpPort", help = "port of the web server for http traffic") defaults["httpPort"] = automation.DEFAULT_HTTP_PORT self.add_option("--ssl-port", action = "store", type = "string", dest = "sslPort",
--- a/layout/tools/reftest/runreftestb2g.py +++ b/layout/tools/reftest/runreftestb2g.py @@ -15,16 +15,17 @@ from automation import Automation from b2gautomation import B2GRemoteAutomation from b2g_desktop import run_desktop_reftests from runreftest import RefTest from runreftest import ReftestOptions from remotereftest import ReftestServer from mozdevice import DeviceManagerADB, DMError from marionette import Marionette +import moznetwork class B2GOptions(ReftestOptions): def __init__(self, automation=None, **kwargs): defaults = {} if not automation: automation = B2GRemoteAutomation(None, "fennec", context_chrome=True) @@ -137,17 +138,17 @@ class B2GOptions(ReftestOptions): options.remoteProfile = options.remoteTestRoot + "/profile" productRoot = options.remoteTestRoot + "/" + self.automation._product if options.utilityPath == self.automation.DIST_BIN: options.utilityPath = productRoot + "/bin" if options.remoteWebServer == None: if os.name != "nt": - options.remoteWebServer = self.automation.getLanIp() + options.remoteWebServer = moznetwork.get_ip() else: print "ERROR: you must specify a --remote-webserver=<ip address>\n" return None options.webServer = options.remoteWebServer if options.geckoPath and not options.emulator: self.error("You must specify --emulator if you specify --gecko-path")
--- a/testing/mochitest/Makefile.in +++ b/testing/mochitest/Makefile.in @@ -20,16 +20,17 @@ SERV_FILES = \ mochitest_options.py \ manifest.webapp \ $(topsrcdir)/testing/mozbase/mozdevice/mozdevice/devicemanager.py \ $(topsrcdir)/testing/mozbase/mozdevice/mozdevice/devicemanagerADB.py \ $(topsrcdir)/testing/mozbase/mozdevice/mozdevice/devicemanagerSUT.py \ $(topsrcdir)/testing/mozbase/manifestdestiny/manifestparser/manifestparser.py \ $(topsrcdir)/testing/mozbase/mozdevice/mozdevice/droid.py \ $(topsrcdir)/testing/mozbase/mozdevice/mozdevice/Zeroconf.py \ + $(topsrcdir)/testing/mozbase/moznetwork/moznetwork/moznetwork.py \ $(topsrcdir)/build/automationutils.py \ $(topsrcdir)/build/mobile/remoteautomation.py \ gen_template.pl \ server.js \ chunkifyTests.js \ manifestLibrary.js \ harness.xul \ browser-test-overlay.xul \
--- a/testing/mochitest/runtestsremote.py +++ b/testing/mochitest/runtestsremote.py @@ -20,16 +20,17 @@ from runtests import Mochitest from runtests import MochitestServer from mochitest_options import MochitestOptions import devicemanager import droid import manifestparser import mozinfo import mozlog +import moznetwork SCRIPT_DIR = os.path.abspath(os.path.realpath(os.path.dirname(__file__))) log = mozlog.getLogger('Mochi-Remote') class RemoteOptions(MochitestOptions): def __init__(self, automation, **kwargs): defaults = {} @@ -126,17 +127,17 @@ class RemoteOptions(MochitestOptions): self.set_defaults(**defaults) def verifyRemoteOptions(self, options, automation): if not options.remoteTestRoot: options.remoteTestRoot = automation._devicemanager.getDeviceRoot() if options.remoteWebServer == None: if os.name != "nt": - options.remoteWebServer = automation.getLanIp() + options.remoteWebServer = moznetwork.get_ip() else: log.error("you must specify a --remote-webserver=<ip address>") return None options.webServer = options.remoteWebServer if (options.deviceIP == None): log.error("you must provide a device IP")