network_3GSmokeTest: Run with wardmodem.
Update network_3GSmokeTest to use a wardmodem context. By default this context
is a noop.
Also add a control file to run the test with wardmodem.
BUG=chromium:263191
TEST=run network_3GSmokeTest.wardmodem
Change-Id: I295c2076a47ea9a7c5a7f3fda719e74c23ba2c3d
Reviewed-on: https://chromium-review.googlesource.com/169222
Reviewed-by: Ben Chan <benchan@chromium.org>
Commit-Queue: Prathmesh Prabhu <pprabhu@chromium.org>
Tested-by: Prathmesh Prabhu <pprabhu@chromium.org>
diff --git a/client/site_tests/network_3GSmokeTest/control.wardmodem_e362 b/client/site_tests/network_3GSmokeTest/control.wardmodem_e362
new file mode 100644
index 0000000..3d26ef8
--- /dev/null
+++ b/client/site_tests/network_3GSmokeTest/control.wardmodem_e362
@@ -0,0 +1,28 @@
+# Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+AUTHOR = "ChromeOS Team"
+NAME = "network_3GSmokeTest.wardmodem_e362"
+PURPOSE = "Verify 3G modem can connect to the network."
+CRITERIA = """
+This test will fail if one of the following conditions occur:
+ - 3G modem fails to connect to network
+ - the modem is not left in a working state
+"""
+TIME = "SHORT"
+TEST_CATEGORY = "Functional"
+TEST_CLASS = "network"
+TEST_TYPE = "client"
+EXPERIMENTAL = "True"
+DOC = """
+ Tests that 3G modem can connect to the network
+
+ The test attempts to connect using an E362 wardmodem. The test then
+ disconnects from the network, and verifies that the modem still
+ responds to modem manager DBUS API calls. It repeats the
+ connect/disconnect sequence several times.
+ Since this test uses the wardmodem, it has no hardware dependencies.
+"""
+
+job.run_test('network_3GSmokeTest', use_wardmodem=True, wardmodem_modem='e362')
diff --git a/client/site_tests/network_3GSmokeTest/network_3GSmokeTest.py b/client/site_tests/network_3GSmokeTest/network_3GSmokeTest.py
index c1026fb..a79bc45 100644
--- a/client/site_tests/network_3GSmokeTest/network_3GSmokeTest.py
+++ b/client/site_tests/network_3GSmokeTest/network_3GSmokeTest.py
@@ -20,6 +20,7 @@
# TODO(armansito): We should really move cros/cellular/pseudomodem/mm1.py to
# cros/cellular/, as it deprecates the old mm1.py. See crosbug.com/37005
from autotest_lib.client.cros.cellular.pseudomodem import pseudomodem
+from autotest_lib.client.cros.cellular.wardmodem import wardmodem
# Default timeouts in seconds
@@ -151,7 +152,12 @@
def run_once(self, connect_count=5, use_pseudomodem=False,
- pseudomodem_family='3GPP', sleep_kludge=5, fetch_timeout=120):
+ pseudomodem_family='3GPP', use_wardmodem=False,
+ wardmodem_modem=None, sleep_kludge=5, fetch_timeout=120):
+ if use_pseudomodem and use_wardmodem:
+ raise error.TestFail('Can not run with Pseudomodem and Wardmodem '
+ 'at the same time.')
+
self.connect_count = connect_count
self.use_pseudomodem = use_pseudomodem
self.sleep_kludge = sleep_kludge
@@ -159,9 +165,12 @@
with backchannel.Backchannel():
with pseudomodem.TestModemManagerContext(
- use_pseudomodem,family=pseudomodem_family):
- with cell_tools.OtherDeviceShutdownContext('cellular'):
- time.sleep(3)
- self.flim = flimflam.FlimFlam()
- self.flim.SetDebugTags(SHILL_LOG_SCOPES)
- self.run_once_internal()
+ use_pseudomodem,family=pseudomodem_family):
+ with wardmodem.WardModemContext(use_wardmodem,
+ args=['--modem',
+ wardmodem_modem]):
+ with cell_tools.OtherDeviceShutdownContext('cellular'):
+ time.sleep(3)
+ self.flim = flimflam.FlimFlam()
+ self.flim.SetDebugTags(SHILL_LOG_SCOPES)
+ self.run_once_internal()