autotest: Migrates network_WiFiRoaming/003SSIDMultiSwitchBack to new method.
Replaces a portion of network_WiFiRoaming/00SSIDMultiSwitchBack test
with script and control file in network_WiFi_SSIDMultiSwitchBack
directory. The 'low signal' tests will be submitted in a different CL.
New code conforms to test infrastructure changes provided to address
crbug.com/224443.
This roaming test configures 2 radios (different frequencies and BSSIDs) on
the same SSID, connects to one, and cuts its power to simulate an
out-of-range event. It then verifies that the DUT discovers this and
connects to the other radio. Wrote the test to use the
BeagleBone-connected RF attenuators (currently requires a specific
setup: chromeos3-grover-host1) to change the AP's transmit power rather
than the previous 'iw' command that didn't work, anyway.
This CL required various plumbing efforts in the test infrastructure:
- mulit_interface. Augmented RvRTestContextManager.configure to take, and
pass-through, multi_interface (did is_ibss while I was there) to allow
configuration of an AP to use 2 radios. Modified LinuxRouter to respond
to its multi_interface parameter.
- ap_num. Added ap_num to WifiTestContextManager.wait_for_connection and
.assert_ping_from_dut so that I could ping the second radio on an AP.
- port and MAX_ATTENUATION. Added port-specific attenuation calls to
Attenuator and made set_variable_attenuation public so that I could set
max attenuation (which is relative to the fixed_loss of the attenuator --
added MAX_ATTENUATION, as well).
BUG=chromium:263887
TEST=autotest (this one).
Change-Id: I00d3b445a22b0a94579f3b033b8f6039764d8c2a
Reviewed-on: https://chromium-review.googlesource.com/168457
Reviewed-by: Wade Guthrie <wdg@chromium.org>
Commit-Queue: Wade Guthrie <wdg@chromium.org>
Tested-by: Wade Guthrie <wdg@chromium.org>
diff --git a/server/site_linux_router.py b/server/site_linux_router.py
index 19b0fa0..09a8718 100644
--- a/server/site_linux_router.py
+++ b/server/site_linux_router.py
@@ -357,14 +357,17 @@
conf['obss_interval'] = configuration.obss_interval
conf.update(configuration.get_security_hostapd_conf())
- self.start_hostapd(conf, {})
+ # TODO(wiley): Remove this multi_interface flag when the bridge router
+ # class is gone.
+ params = {'multi_interface': 1} if multi_interface else {}
+ self.start_hostapd(conf, params)
# Configure transmit power
tx_power_params = {'interface': conf['interface']}
# TODO(wiley) support for setting transmit power
self.set_txpower(tx_power_params)
if self.force_local_server:
self.start_local_server(conf['interface'])
- self._post_start_hook({})
+ self._post_start_hook(params)
logging.info('AP configured.')
self.hostapd['configured'] = True