Bug 1239987 - Change testing/marionette/client to use marionette.transport; r?automatedtester
--- a/testing/marionette/client/marionette/b2g_update_test.py
+++ b/testing/marionette/client/marionette/b2g_update_test.py
@@ -7,23 +7,25 @@ import imp
import os
import re
import subprocess
import time
import types
import weakref
from marionette_driver.marionette import Marionette
+from marionette_driver import transport
+
from .marionette_test import MarionetteTestCase
-from marionette_transport import MarionetteTransport
from b2ginstance import B2GInstance
from .runtests import MarionetteTestRunner, cli
-class B2GUpdateMarionetteClient(MarionetteTransport):
+
+class B2GUpdateMarionetteClient(transport.TcpTransport):
RETRY_TIMEOUT = 5
CONNECT_TIMEOUT = 30
SEND_TIMEOUT = 60 * 5
MAX_RETRIES = 24
def __init__(self, addr, port, runner):
super(B2GUpdateMarionetteClient, self).__init__(addr, port, self.CONNECT_TIMEOUT)
self.runner = runner
@@ -31,28 +33,29 @@ class B2GUpdateMarionetteClient(Marionet
def connect(self):
""" When using ADB port forwarding, the ADB server will actually accept
connections even though there isn't a listening socket open on the
device. Here we add a retry loop since we have to restart the debug
server / b2g process for update tests
"""
for i in range(self.MAX_RETRIES):
try:
- MarionetteTransport.connect(self)
+ transport.TcpTransport.connect(self)
break
except:
if i == self.MAX_RETRIES - 1:
raise
time.sleep(self.RETRY_TIMEOUT)
self.runner.port_forward()
# Upon success, reset the socket timeout to something more reasonable
self.sock.settimeout(self.SEND_TIMEOUT)
+
class B2GUpdateTestRunner(MarionetteTestRunner):
match_re = re.compile(r'update_(smoke)?test_(.*)\.py$')
def __init__(self, **kwargs):
MarionetteTestRunner.__init__(self, **kwargs)
if self.emulator or self.bin:
raise Exception('Update tests do not support emulator or custom binaries')
--- a/testing/marionette/client/marionette/runtests.py
+++ b/testing/marionette/client/marionette/runtests.py
@@ -1,17 +1,16 @@
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
import sys
from marionette import __version__
from marionette_driver import __version__ as driver_version
-from marionette_transport import __version__ as transport_version
from marionette.marionette_test import MarionetteTestCase, MarionetteJSTestCase
from marionette.runner import (
BaseMarionetteTestRunner,
BaseMarionetteArguments,
BrowserMobProxyArguments,
)
import mozlog
@@ -37,21 +36,19 @@ class MarionetteHarness(object):
self._parser_class = parser_class
self.args = args or self.parse_args()
def parse_args(self, logger_defaults=None):
parser = self._parser_class(usage='%(prog)s [options] test_file_or_dir <test_file_or_dir> ...')
parser.add_argument('--version', action='version',
help="Show version information.",
version="%(prog)s {version}"
- " (using marionette-driver: {driver_version}, "
- "marionette-transport: {transport_version})".format(
+ " (using marionette-driver: {driver_version}, ".format(
version=__version__,
- driver_version=driver_version,
- transport_version=transport_version
+ driver_version=driver_version
))
mozlog.commandline.add_logging_group(parser)
args = parser.parse_args()
parser.verify_usage(args)
logger = mozlog.commandline.setup_logging(
args.logger_name, args, logger_defaults or {"tbpl": sys.stdout})
--- a/testing/marionette/client/marionette/tests/unit/test_transport.py
+++ b/testing/marionette/client/marionette/tests/unit/test_transport.py
@@ -1,19 +1,19 @@
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
import json
from marionette import MarionetteTestCase, skip_unless_protocol
-from marionette_transport import (
+from marionette_driver.transport import (
Command,
Proto2Command,
Proto2Response,
- Response
+ Response,
)
get_current_url = ("getCurrentUrl", None)
execute_script = ("executeScript", {"script": "return 42"})
class TestMessageSequencing(MarionetteTestCase):
@property