History log of /external/autotest/server/cros/network/wifi_test_context_manager.py
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
b36d1bfa5b750f70b3f453c3b6748677c18025f4 09-Dec-2015 Roshan Pius <rpius@google.com> autotest(wifi): Store capabilities of DUT in WifiClient

Parse the output of 'iw list' and store the set of capabilities
supported by the DUT at the start of each test in WifiClient.
The tests/framework can use this cached capabilty set to validate the
configuration before the test begins. This is similar to what we already
do for router capabilties.

The publicly exposed capabilities for now are:
1. is_5ghz_supported()
2. is_vt_supported()
3. is_ibss_supported()

BUG=b:25129221
TEST=is_5ghz_supported()
`test_that chromeos1-dev-host2.cros
network_WiFi_SimpleConnect.wifi_check11a` on Dragonboard (N/A)
TEST=is_5ghz_supported()
`test_that chromeos1-dev-host2.cros
network_WiFi_SimpleConnect.wifi_check11a` on Edison (Pass)
TEST=is_vt_supported()
`test_that chromeos1-row3-rack9-host3.cros
network_WiFi_Perf.vht80` on Samus (Pass)
TEST=is_vt_supported()
`test_that --board=panther chromeos1-dev-host2.cros
network_WiFi_Perf.vht80` on Dragonboard (N/A)
TEST=is_ibss_supported()
`test_that chromeos1-row3-rack9-host3.cros
network_WiFi_IBSS.wifi_IBSS` on Samus (Pass)
TEST=
`test_that chromeos1-row3-rack9-host3.cros
network_WiFi_WakeOnSSID` on Samus (Pass)

Change-Id: I7c9b8d83191d81606387f0f573c02c8a4d785714
Reviewed-on: https://chromium-review.googlesource.com/317370
Commit-Ready: Roshan Pius <rpius@chromium.org>
Tested-by: Roshan Pius <rpius@chromium.org>
Reviewed-by: Christopher Wiley <wiley@chromium.org>
/external/autotest/server/cros/network/wifi_test_context_manager.py
883e743047d402a0613dc76a43f96ff2011d3d11 09-Dec-2015 Wei-Ning Huang <wnhuang@google.com> Revert "autotest(wifi): Move frequency check to wifi_test_context_manager."

This reverts commit 3db7082585927a084399e847fe5fc50753ef6d54, which
breaks several tests where DUT isn't pingable when configuring AP.

BUG=b/25129221
TEST=none

Change-Id: I3e0d746f2ba6ff6500f226bb3db5b9541cc0a676
Reviewed-on: https://chromium-review.googlesource.com/317010
Commit-Ready: Wei-Ning Huang <wnhuang@chromium.org>
Tested-by: Wei-Ning Huang <wnhuang@chromium.org>
Reviewed-by: Roshan Pius <rpius@chromium.org>
/external/autotest/server/cros/network/wifi_test_context_manager.py
c4c08e1bd0fe78a772a66f0aab60d1b8cebfdbd9 20-Nov-2015 Roshan Pius <rpius@google.com> autotest(wifi): Add support for Android XML RPC server

Adding support in the wifi test framework to use the new Android XML RPC
server. The XML RPC server running on AdbHost will convert the Shill XML
RPC test interface methods to corresponding Android framework API calls.
This support is added as a command line option for the time being so
that we can continue to use the existing |wpa_cli| commands for Android
testing until the new framework is fully ready.

While there:
Use OS_TYPE_* constants instead of hardcoded strings 'android' and
'brillo'.

BUG=b:25812231
TEST=`test_that --board=panther android1758-wifi-test-station-2.cros
network_WiFi_SimpleConnect.wifi_check11b` (Defaults to wpa_cli)
TEST=`test_that --board=panther android1758-wifi-test-station-2.cros
network_WiFi_SimpleConnect.wifi_check11b --args use_wpa_cli=0`
TEST=`test_that --board=panther android1758-wifi-test-station-2.cros
network_WiFi_SimpleConnect.wifi_check11b --args use_wpa_cli=1`

Change-Id: I53fcf3d3f661c47b9474b75d1f6d07bd426257be
Reviewed-on: https://chromium-review.googlesource.com/313610
Commit-Ready: Roshan Pius <rpius@chromium.org>
Tested-by: Roshan Pius <rpius@chromium.org>
Reviewed-by: Christopher Wiley <wiley@chromium.org>
/external/autotest/server/cros/network/wifi_test_context_manager.py
3db7082585927a084399e847fe5fc50753ef6d54 26-Oct-2015 Roshan Pius <rpius@google.com> autotest(wifi): Move frequency check to wifi_test_context_manager.

Move the check to see if DUT supports the provided frequency
configuration to central |WifiTestContextManager|.configure so that
we don't need to add this check separately for every test.

BUG=25129221
TEST=Ran network_WiFi_SimpleConnect.wifi_check11a &
network_WiFi_RoamDbus on dragonboard and ensured
that the test bailed out in both the cases.

Change-Id: I1bbc4ac544df2a6dd30a27a8d5b66a7d3fd775b9
Reviewed-on: https://chromium-review.googlesource.com/308568
Commit-Ready: Roshan Pius <rpius@chromium.org>
Tested-by: Roshan Pius <rpius@chromium.org>
Reviewed-by: Roshan Pius <rpius@chromium.org>
/external/autotest/server/cros/network/wifi_test_context_manager.py
4bebff79a962e28c36d6ab00d3cff5988189e228 03-Jun-2015 Kris Rambish <krisr@chromium.org> Only go to the afe if _is_conductive is needed.

Many tests do not care if the rig is conductive. This moves the
cautotest lookup to be only done if needed.

TEST=network_WiFi_RateControl with:
--args=conductive_rig=True/1 : run test don't hit afe
--args=conductive_rig=False/0 : abort test don't hit afe
--args="" : hit afe, run based on labels
BUG=None

Change-Id: Ife01d790cb6d531087a4e952fa195cf439895462
Reviewed-on: https://chromium-review.googlesource.com/275058
Reviewed-by: Kris Rambish <krisr@chromium.org>
Commit-Queue: Kris Rambish <krisr@chromium.org>
Trybot-Ready: Kris Rambish <krisr@chromium.org>
Tested-by: Kris Rambish <krisr@chromium.org>
/external/autotest/server/cros/network/wifi_test_context_manager.py
5ce4dd912fe9380d1642a910608ab4b180948e72 12-May-2015 mukesh agrawal <quiche@chromium.org> wifi_test_context_manager: fix exception message

In 359ec50885ed80bf51c481622f2062db2a7b89b0, I botched the
exception message for an unexpected connection failure.
Fix that.

BUG=chromium:487031
TEST=manual

Manual test: modified a network_WiFi_SimpleConnect to cause
a connection failure, and verified that the proper TestFail
exception was generated (proper exception: 'Expected connection
to ... to succeed, but it failed with reason: ...')

Change-Id: I2733784261fd7e0efe613fc202afb4feebdc5ef7
Reviewed-on: https://chromium-review.googlesource.com/270383
Trybot-Ready: mukesh agrawal <quiche@chromium.org>
Tested-by: mukesh agrawal <quiche@chromium.org>
Reviewed-by: Zeping Qiu <zqiu@chromium.org>
Commit-Queue: mukesh agrawal <quiche@chromium.org>
/external/autotest/server/cros/network/wifi_test_context_manager.py
359ec50885ed80bf51c481622f2062db2a7b89b0 07-May-2015 mukesh agrawal <quiche@chromium.org> network_WiFi_RegDomain: test connection to hidden networks

Add testing of hidden networks to network_WiFi_RegDomain.
In particular, check that connecting to a hidden network
succeeds or fails just as connecting to a visible network
does.

The reason for testing hidden networks specifically is that
they exercise an additional code path in wireless core
regulatory code.

Namely: in a passive-scanning situation, we will initially
be unable to probe for a hidden network. But once we've seen
beacons from an AP (including beacons with the broadcast SSID,
from an AP running a hidden SSID), we remove the passive
scanning restriction. [1]

Note: given the above, we could limit the hidden SSID testing
to just those cases where a channel is configured for passive
scanning. For now, though, we optimize for similicity, rather
than run time.

While there: add a |description| argument to
WiFiTestContextManager.assert_connect_wifi(), so that we
can disambiguate similar connections in log files.

[1] https://wireless.wiki.kernel.org/en/developers/regulatory/processing_rules

BUG=chromium:485204
TEST=network_WiFi_RegDomain (on candy)

Change-Id: Ib56ca34b087aa91d23e4470cb63d68b897b559ab
Reviewed-on: https://chromium-review.googlesource.com/269972
Trybot-Ready: mukesh agrawal <quiche@chromium.org>
Tested-by: mukesh agrawal <quiche@chromium.org>
Reviewed-by: Zeping Qiu <zqiu@chromium.org>
Commit-Queue: mukesh agrawal <quiche@chromium.org>
/external/autotest/server/cros/network/wifi_test_context_manager.py
4d8b1c16cbea0cc0d2ef01df7887a642293df253 26-Feb-2015 Kris Rambish <krisr@chromium.org> Add try block to cautotest connection.

If the cautotest frontend server is not available, continue.

BUG=chromium:462045
TEST=Manual; Ran it

Change-Id: I2209bea764f58c7eb9422448e422e2bb0214801f
Reviewed-on: https://chromium-review.googlesource.com/253775
Tested-by: Kris Rambish <krisr@chromium.org>
Reviewed-by: Paul Stewart <pstew@chromium.org>
Reviewed-by: Christopher Wiley <wiley@chromium.org>
Commit-Queue: Kris Rambish <krisr@chromium.org>
/external/autotest/server/cros/network/wifi_test_context_manager.py
003bf829b76d253c0d7e0fa3725bc309a496a5f9 22-Dec-2014 Christopher Wiley <wiley@chromium.org> autotest: Fix attenuator address inference for desktop testing

crbug.com/236657 broke WiFi testing outside the lab because test logic
throws an error when it sees that it cannot infer an attenuator DNS
name. Add back logic to tolerate failures for attenuator DNS name
inference only.

BUG=None
TEST=manually launched tests against desktop setups decide that
that attenuators are not present and that it is ok.

Change-Id: I2cc07f9ccc45ba94d00846e167c04ff49f60dd0a
Reviewed-on: https://chromium-review.googlesource.com/237311
Tested-by: Christopher Wiley <wiley@chromium.org>
Reviewed-by: Eric Caruso <ejcaruso@chromium.org>
Commit-Queue: Christopher Wiley <wiley@chromium.org>
/external/autotest/server/cros/network/wifi_test_context_manager.py
6b1d9e7eb7cc38012597d1ce4dcae2a6f39175a3 14-Dec-2014 Christopher Wiley <wiley@chromium.org> autotest: Consolidate WiFi/Bluetooth DNS name mangling

Adopt Bluetooth's style of rejecting IP addresses rather than
checking anything that doesn't look like the lab domain names.
Always prefer commandline specified hostnames to inferred hostnames.
While here, remove some WiFi test methods without callsites.

BUG=None
TEST=All of the following pass:
network_WiFi_SimpleConnect.wifi_checkWPA_TKIP (w/wo router_addr)
network_WiFi_AttenuatedPerf.ht40_c001
bluetooth_Sanity_Discovery

Change-Id: Ia76b0e159daeb6fe694dabd56a73fe544371de26
Reviewed-on: https://chromium-review.googlesource.com/236657
Reviewed-by: Christopher Wiley <wiley@chromium.org>
Commit-Queue: Christopher Wiley <wiley@chromium.org>
Tested-by: Christopher Wiley <wiley@chromium.org>
/external/autotest/server/cros/network/wifi_test_context_manager.py
6d32b76ea8fe77cce5ff818f1e85841d3988faf8 08-Dec-2014 Christopher Grant <cjgrant@google.com> Move wait-for-connection logic to WifiClient

The WiFiTestContextManager class offers a method to wait for a DUT
to connect to an AP. For reusability, move this logic to the
WiFiClient class, and have WiFiTestContextManager call on the client
when needed.

Tested by verifying the following in a private cell:
network_WiFi_DisableEnable
network_WiFi_Roam.wifi_roamWEP
network_WiFi_ConnectOnResume
network_WiFi_RoamSuspend
network_WiFi_RetryConnectHidden

BUG=None
TEST=re-ran a subset of WiFi cell tests in a private cell

Change-Id: Ife76c154dc37221e451beb24467c2e5b1eb5358a
Reviewed-on: https://chromium-review.googlesource.com/233779
Reviewed-by: Bindu Mahadev <bmahadev@chromium.org>
Reviewed-by: Christopher Wiley <wiley@chromium.org>
Commit-Queue: Christopher Grant <cjgrant@chromium.org>
Tested-by: Christopher Grant <cjgrant@chromium.org>
/external/autotest/server/cros/network/wifi_test_context_manager.py
0377af7fdf20180634b8cd2b021f0058e641ef2d 29-Oct-2014 Kris Rambish <krisr@chromium.org> Create a servo based WiFi suspend resume test.

BUG=chromium:358924
TEST=Manual; ran it

Change-Id: I40b0f724fecc343ff8784994c2d87841b32c532e
Reviewed-on: https://chromium-review.googlesource.com/212956
Reviewed-by: Kris Rambish <krisr@chromium.org>
Commit-Queue: Kris Rambish <krisr@chromium.org>
Tested-by: Kris Rambish <krisr@chromium.org>
/external/autotest/server/cros/network/wifi_test_context_manager.py
b1019d4a86d6a34b397cc1cb8de1f905c1c1155c 09-Jul-2014 Kris Rambish <krisr@chromium.org> Add perf timing to network_WiFi_SimpleConnect.

All three connection metrics are tracked and written to the
output file. By default the perf tracking is ON for all tests
except:
control.wifi_checkNonAsciiSSID
control.wifi_checkOddWPAPassphrases
control.wifi_checkRawPMK
control.wifi_checkSGI
control.wifi_checkSSIDLimits

BUG=chromium:338033
TEST=Ran it; manual.

Change-Id: I7b7242cce940a52a3410ff19300d688dded65d79
Reviewed-on: https://chromium-review.googlesource.com/207059
Tested-by: Kris Rambish <krisr@chromium.org>
Reviewed-by: Fang Deng <fdeng@chromium.org>
Reviewed-by: Kris Rambish <krisr@chromium.org>
Commit-Queue: Kris Rambish <krisr@chromium.org>
/external/autotest/server/cros/network/wifi_test_context_manager.py
9adeb2a17deb873553f654beddfa5750de80434d 19-Jun-2014 Christopher Wiley <wiley@chromium.org> Allow creation of WiFi router proxies outside of WiFi Tests

This enables us to construct just a LinuxRouter, instead of depending on
the WiFiTestContextManager and LinuxRouter to handle this process.

TEST=network_WiFi_SimpleConnect.wifi_checkWPA_TKIP still passes
BUG=chromium:365879

Change-Id: I3d79b84aafb7262801b3b93125025cab0ad17488
Reviewed-on: https://chromium-review.googlesource.com/204744
Reviewed-by: Christopher Wiley <wiley@chromium.org>
Tested-by: Christopher Wiley <wiley@chromium.org>
Commit-Queue: Christopher Wiley <wiley@chromium.org>
/external/autotest/server/cros/network/wifi_test_context_manager.py
594570dc4b2a3445054b58e50545416e4bc48f36 15-Mar-2014 Christopher Wiley <wiley@chromium.org> Wait for correct IP subnet changes during roaming

This allows roaming tests to pass when run against drivers
that do roaming without involving userspace. In these situations
we're briefly associated with the roaming target before we detect
that our DHCP lease is invalid and re-negotiate the lease. Tolerate
that window by also waiting for the IP address on the WiFi interface
to move to the correct subnet.

Add a library to make common netblock->mask/subnet/broadcast address
calculations. Pull duplicate logic to do this out of interface.py
and site_linux_router.py.

BUG=chromium:352847
TEST=wifi_matfunc continues to pass with this change.

Change-Id: I2e6786514aee533e36eb84e1329f19891d3744ba
Reviewed-on: https://chromium-review.googlesource.com/190173
Tested-by: Christopher Wiley <wiley@chromium.org>
Reviewed-by: Paul Stewart <pstew@chromium.org>
Commit-Queue: Christopher Wiley <wiley@chromium.org>
/external/autotest/server/cros/network/wifi_test_context_manager.py
aeef9b52c54a27098925b44d93f270a6d8f29e3b 11-Mar-2014 Christopher Wiley <wiley@chromium.org> Remove site_linux_server

This class doesn't make sense in the new world with only a router
and a DUT. We get most of the utility of what used to be the server
by creating delegate objects which understand how to use commands in
depth. For instance, netperf is run by the NetperfRunner rather than
being split between the client and the server. NetperfRunner now
uses proxy_object.wifi_ip without worrying whether the proxy object
is a DUT or a router. Netperf runner also looks up netperf commands
by itself rather than depending on the proxy object.

BUG=chromium:351555
TEST=All of wifi_matfunc passes with this change.

Change-Id: I093a488b0999cb6c418cab04ff02b3cf0f33136a
Reviewed-on: https://chromium-review.googlesource.com/189625
Tested-by: Christopher Wiley <wiley@chromium.org>
Reviewed-by: Paul Stewart <pstew@chromium.org>
Commit-Queue: Christopher Wiley <wiley@chromium.org>
/external/autotest/server/cros/network/wifi_test_context_manager.py
2461fe8a58dc190725be5b34d0e984edf9a5ce72 20-Feb-2014 Christopher Wiley <wiley@chromium.org> WiFi Attenuators are optional equipment for WiFi tests

Fix PingRunner to tolerate bad DNS names being passed for hostnames.
Fix WiFiTestContextManager to tolerate missing attenuator address
parameters when outside a test context.

BUG=chromium:345421
TEST=SimpleConnect tests pass in a lab context. When the check for
"is this host in a lab" is hacked to return False (and the router
address passed in via the command line), tests still pass.

Change-Id: Ie7b7347d85573513a98aaf02d485b1cb2d0bd887
Reviewed-on: https://chromium-review.googlesource.com/187309
Reviewed-by: Paul Stewart <pstew@chromium.org>
Commit-Queue: Christopher Wiley <wiley@chromium.org>
Tested-by: Christopher Wiley <wiley@chromium.org>
/external/autotest/server/cros/network/wifi_test_context_manager.py
ca4277fdaa2c17c9043460dca0449fa75802d9e1 12-Feb-2014 Christopher Wiley <wiley@chromium.org> Automatically detect attenuators in normal WiFi tests

Allow normal WiFi tests to run successfully in RvR cells by
detecting and configuring the attenuators to minimal attenuation.
This removes the need for a separate RvR context manager, which
removes the need for a separate RvR test base. Remove these extra
classes.

TEST=network_WiFi_SimpleConnect.wifi_checkWPA_TKIP still passes.
Attenuated perf tests continue to run as expected.
BUG=chromium:343224

Change-Id: Ibdb25c9ec989b750d7076fadbf43f1dfd6db4e4c
Reviewed-on: https://chromium-review.googlesource.com/186365
Tested-by: Christopher Wiley <wiley@chromium.org>
Reviewed-by: Paul Stewart <pstew@chromium.org>
Commit-Queue: Christopher Wiley <wiley@chromium.org>
/external/autotest/server/cros/network/wifi_test_context_manager.py
839855b1812ced88d46b2744da7b8674a4d1a666 04-Feb-2014 Christopher Wiley <wiley@chromium.org> autotest: Wait for connection and frequency changes during roaming

In the past, during roaming tests we waited for WiFi services to reach a
connected state, then asserted that they were connected on a particular
frequency. If this assertion failed, then we would call it a roaming
failure. This breaks down when a service fails to transition to
a disconnected state fast enough, for instance if the DEAUTH
notification is lost, or handled internally by the driver during roaming
situations. Fix this by waiting for a reasonable period of time
for both the service to enter an online state, and the frequency to
change.

TEST=network_WiFi_Roam passes reliably (20 times without failure) with
this change. wifi_matfunc continues to pass with this change.
BUG=chromium:340836

Change-Id: Ib390ed1ccad5954b286f582c35f850d87af9848b
Reviewed-on: https://chromium-review.googlesource.com/185050
Tested-by: Christopher Wiley <wiley@chromium.org>
Reviewed-by: Paul Stewart <pstew@chromium.org>
Commit-Queue: Christopher Wiley <wiley@chromium.org>
Reviewed-by: <dnkim1205@gmail.com>
/external/autotest/server/cros/network/wifi_test_context_manager.py
73115681214ba5a04a94ed4f8b7fc60989b5524a 17-Jan-2014 Christopher Wiley <wiley@chromium.org> autotest: Log signal perf keyvals in network_WiFi_VerifyRouter

Logging signal levels as perf keyvals enhances our ability to
quickly assess signal quality in WiFi cells. Also add some
logic to check that a router is pingable before trying to SSH
in. This makes error messages more specific to connectivity
problems with the router than a generic SSH timeout. Since
all tests can benefit from these checks, put them in the
WiFiTestContextManager.

TEST=When this test runs against a broken cell, informative
messages are printed.
BUG=None

Change-Id: Icfe1faced19780680ed12c3e712f21b59322fc6c
Reviewed-on: https://chromium-review.googlesource.com/183011
Tested-by: Christopher Wiley <wiley@chromium.org>
Reviewed-by: Paul Stewart <pstew@chromium.org>
Commit-Queue: Christopher Wiley <wiley@chromium.org>
/external/autotest/server/cros/network/wifi_test_context_manager.py
408d1814becea6bacde78abb0327bb09a5b542c7 14-Jan-2014 Christopher Wiley <wiley@chromium.org> autotest: Refactoring and cleanup for LinuxRouter

In general, this patch tries to remove some of the invisible state and
opaque configuration built into the router. As we've extended the
router to do more things, concepts like the "phytype" of the router no
longer make sense, because we can be multiple phytypes at once.
Fortunately, the phytype is easily inferred from the type of interface
we hope to configure. We also had a number of interfaces to configure
various aspects of how the router worked that we never used and added
complexity.

Removed params dict for LinuxRouter/LinuxSystem.
Deprecated self.router field for LinuxRouter.
Removed LinuxRouter.create_wifi_device() since we now have
hostapd/wpa_supplicant/ibss (phytype) specific method calls.
Removed LinuxRouter.destroy() method in favor of deconfig().

BUG=None
TEST=wifi_matfunc passes with these changes on a spring.

Change-Id: I1d77499b5e544813956e6f8018ca328c466046e8
Reviewed-on: https://chromium-review.googlesource.com/182636
Tested-by: Christopher Wiley <wiley@chromium.org>
Reviewed-by: Christopher Wiley <wiley@chromium.org>
Commit-Queue: Christopher Wiley <wiley@chromium.org>
/external/autotest/server/cros/network/wifi_test_context_manager.py
f671a5ac963909c63ff577754925a79a602fbb4e 14-Dec-2013 Christopher Wiley <wiley@chromium.org> autotest: Make WiFiClient an instance of LinuxSystem

This lets us consolidate some packet capture code and enables
us to use dual radio stumpies as both packet capture machines
and WiFiClients at the same time.

BUG=chromium:308214
TEST=wifi_matfunc still passes with these changes.
Taking packet captures with this modified WiFiClient still works.

Change-Id: Id143357f63be5ef2c8914cf0ff295408ab9b143b
Reviewed-on: https://chromium-review.googlesource.com/180097
Reviewed-by: Paul Stewart <pstew@chromium.org>
Tested-by: Christopher Wiley <wiley@chromium.org>
Commit-Queue: Christopher Wiley <wiley@chromium.org>
/external/autotest/server/cros/network/wifi_test_context_manager.py
8e95f8eff642260e94c24260e8b617c386d14887 19-Dec-2013 Christopher Wiley <wiley@chromium.org> autotest: Fix broken include of site_linux_cros_router

An earlier CL to remove site_linux_cros_router passed testing because I
forgot that test_that only adds files to the build root, and does not
delete removed files. Thus the testing that was done to verify that
change was done with site_linux_cros_router in place. When I removed
that file from my build root, these changes were also necessary.

TEST=wifi_matfunc passes with these changes.
BUG=chromium:328173

Change-Id: I8772505a71f56b62d05e77ca8393a207d035cf22
Reviewed-on: https://chromium-review.googlesource.com/180961
Tested-by: Christopher Wiley <wiley@chromium.org>
Reviewed-by: mukesh agrawal <quiche@chromium.org>
Commit-Queue: Christopher Wiley <wiley@chromium.org>
/external/autotest/server/cros/network/wifi_test_context_manager.py
99e9c4a2011cce9eb32750cb0f99fc8daeb2fdb0 09-Dec-2013 Christopher Wiley <wiley@chromium.org> autotest: Refactor logic to access iw link values into iw_runner

This lets us easily reuse this logic.

BUG=chromium:325924
TEST=wifi_matfunc still passes.

Change-Id: Iaa18e16645733952a5192b90cda565120be85e11
Reviewed-on: https://chromium-review.googlesource.com/179374
Reviewed-by: Christopher Wiley <wiley@chromium.org>
Commit-Queue: Christopher Wiley <wiley@chromium.org>
Tested-by: Christopher Wiley <wiley@chromium.org>
/external/autotest/server/cros/network/wifi_test_context_manager.py
1298dffdb3b8aaa4bbdee0bec45ff0e0e2472542 05-Dec-2013 Christopher Wiley <wiley@chromium.org> autotest: Install router credentials at configuration time

This removes one very unintuitive step from our router configuration
process.

TEST=network_WiFi_SimpleConnect 802.1x tests continue to pass
BUG=None

Change-Id: I8595c1b0c975843e0139e11a4981560746877352
Reviewed-on: https://chromium-review.googlesource.com/178860
Tested-by: Christopher Wiley <wiley@chromium.org>
Reviewed-by: Paul Stewart <pstew@chromium.org>
Commit-Queue: Christopher Wiley <wiley@chromium.org>
/external/autotest/server/cros/network/wifi_test_context_manager.py
96e818a327e5f0605da9198c7da596f45e7284ba 21-Nov-2013 Christopher Wiley <wiley@chromium.org> autotest: Use router address for both server and router in WiFi tests

We've been using single stumpy setups for a while now, and its time to
kill this legacy domain name once and for all.

TEST=wifi_matfunc passes with this change.
BUG=chromium:322182

Change-Id: Ieb645558a0f848a39444da16679abc7561fc9d2d
Reviewed-on: https://chromium-review.googlesource.com/177639
Tested-by: Christopher Wiley <wiley@chromium.org>
Reviewed-by: Paul Stewart <pstew@chromium.org>
Commit-Queue: Christopher Wiley <wiley@chromium.org>
/external/autotest/server/cros/network/wifi_test_context_manager.py
618e52bf080c734fb22defa89180d134a3dee664 15-Oct-2013 Christopher Wiley <wiley@chromium.org> autotest: Allow setting packet capture snaplen via command line

While here, change the "clean up this object's state method" to be
called |close()| like other objects for which we perform similar
operations. Change this close() method to delete package capture on the
DUT since we've already copied them into our local results and the
captures can take up a lot of space in /tmp.

Also let stop_capture() return a list remote files from captures
stopped. This lets tests perform operations on those captures like
inspect contents.

BUG=chromium:308780
TEST=A test that consumes these changes passes. snaplen flag has worked
when used from the command line.

Change-Id: Ib8e7bfbd3b62054ae3777e631407bcacca379350
Reviewed-on: https://chromium-review.googlesource.com/173636
Reviewed-by: Christopher Wiley <wiley@chromium.org>
Commit-Queue: Christopher Wiley <wiley@chromium.org>
Tested-by: Christopher Wiley <wiley@chromium.org>
/external/autotest/server/cros/network/wifi_test_context_manager.py
aa6155496d62c3936d97aca094739b835e9b9812 04-Oct-2013 Christopher Wiley <wiley@chromium.org> autotest: Make interop tests work on WpaCliProxy hosts

Since wpa_cli hosts don't have profiles, we can't manipulate profiles to
create a clean test context. Add a method init_test_network_state which
abstracts these details into platform specific operations.

The shill XMLRPC delegate simply returns False when it is unable to
disconnect from a given ssid. WpaCliProxy should do likewise rather
than complaining about missing keys in its created networks list.

TEST=Interop tests work against WpaCliProxy based hosts.
check11b still passes on a normal host.
BUG=chromium:302855

Change-Id: I5886df8154f46e3e1b43b325d2ac1a857cbaebc2
Reviewed-on: https://chromium-review.googlesource.com/171923
Tested-by: Christopher Wiley <wiley@chromium.org>
Reviewed-by: Paul Stewart <pstew@chromium.org>
Commit-Queue: Christopher Wiley <wiley@chromium.org>
/external/autotest/server/cros/network/wifi_test_context_manager.py
b838b292c5c079c55ca40611244c6772a211c728 26-Sep-2013 Wade Guthrie <wdg@chromium.org> autotest: Adds a couple very minor fixes.

BgscanConfiguration's set_auto_signal method wouldn't work as written
since it wasn't written as a full class method but a 'self' parameter
was required. Fixed that.

Reordered WiFiTestContextManager.wait_for_connection's checks because it
seemed to make more sense to verify all the connection's parameters
before taking the time to ping.

BUG=None
TEST=autotest

Change-Id: I5be309179bfee26dbc789a3f5be8ab4a5058b05e
Reviewed-on: https://chromium-review.googlesource.com/170695
Reviewed-by: Christopher Wiley <wiley@chromium.org>
Reviewed-by: Wade Guthrie <wdg@chromium.org>
Commit-Queue: Wade Guthrie <wdg@chromium.org>
Tested-by: Wade Guthrie <wdg@chromium.org>
/external/autotest/server/cros/network/wifi_test_context_manager.py
7c97ded5679b96d013c02be61ea77da2cb5f7b99 25-Sep-2013 Christopher Wiley <wiley@chromium.org> autotest: Add time syncing logic for ADB hosts

On ADB hosts, the date command always complains about failure but works
anyway with the right arguments. Adapt WiFiClient to expect this
behavior and customize sync_host_times to make sense for both WiFiClient
and the router/server. Do this by delegating down to an implementation
specific layer.

TEST=network_WiFi_Powersave exercises this code and passes.
BUG=chromium:297998

Change-Id: I49c8987efbbd3037a32de0e8ee01cf2957041e51
Reviewed-on: https://chromium-review.googlesource.com/170561
Reviewed-by: Christopher Wiley <wiley@chromium.org>
Commit-Queue: Christopher Wiley <wiley@chromium.org>
Tested-by: Christopher Wiley <wiley@chromium.org>
/external/autotest/server/cros/network/wifi_test_context_manager.py
fcaaf021798c3bf2abddab770d594e95fbd23b58 06-Sep-2013 Wade Guthrie <wdg@chromium.org> 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>
/external/autotest/server/cros/network/wifi_test_context_manager.py
757c3a01f9759db03990c9b4a79c43a278b9fbef 22-Jul-2013 Wade Guthrie <wdg@chromium.org> autotest: Adds wait_for_connection method to Wifi context.

BUG=None
TEST=autotest in dependent CQ
CQ-DEPEND=I44af2fea27e8e723b2e72cf490f5ab3b332361b8

Change-Id: Ic6f2aa1449a58ef66e657cc56f8c5e2035875462
Reviewed-on: https://chromium-review.googlesource.com/62881
Reviewed-by: Wade Guthrie <wdg@chromium.org>
Commit-Queue: Wade Guthrie <wdg@chromium.org>
Tested-by: Wade Guthrie <wdg@chromium.org>
/external/autotest/server/cros/network/wifi_test_context_manager.py
f4bc88b6ea84fe8acddd98bd060b78e06cd255d9 30-Aug-2013 Christopher Wiley <wiley@chromium.org> autotest: Clean up host objects in WiFi tests

Previously we failed to close() our host objects representing remote
routers and servers. This leaves master SSH connections idling in
the background. Clean these objects up in a uniform way in the WiFi
test context manager.

BUG=chromium:281542
TEST=test_that stops after test completion. This happened because it
is polling on a PIPE which through a nefarious series of child process
execs, ends up in the pending SSH processes.

Change-Id: I0bae0bce29bdd0f3ad563e08699b421560a6db94
Reviewed-on: https://chromium-review.googlesource.com/167573
Tested-by: Christopher Wiley <wiley@chromium.org>
Reviewed-by: Wade Guthrie <wdg@chromium.org>
Reviewed-by: Paul Stewart <pstew@chromium.org>
Commit-Queue: Christopher Wiley <wiley@chromium.org>
/external/autotest/server/cros/network/wifi_test_context_manager.py
3166e43574382ad8776da2abad5060ec45068c82 06-Aug-2013 Christopher Wiley <wiley@chromium.org> autotest: Clean up default SSID logic

This causes stumpy cells to stop having SSIDs that start with
chromeos1-shelf... This was happening because the path to the
ip command is different on stumpy cells, and this logic was hardcoding
this command. Fix this by moving the building up of default SSIDs to
inside the Linux router where it rightly belongs.

BUG=None
TEST=Ran wifi_matfunc suite, which shows that both old and new style
tests are compatible with this change. Ran a test out of
network_WiFiPerf which actually triggers the SSID generation logic
to prove that older WiFi tests also benefit from this change.

Change-Id: Ib33407503a0a1c6d8922d84e9c4458be43a6dd06
Reviewed-on: https://gerrit.chromium.org/gerrit/64955
Tested-by: Christopher Wiley <wiley@chromium.org>
Reviewed-by: mukesh agrawal <quiche@chromium.org>
Commit-Queue: Christopher Wiley <wiley@chromium.org>
/external/autotest/server/cros/network/wifi_test_context_manager.py
4318ced208f4035fefae1ea2891eb02d8f2591d1 02-Aug-2013 Christopher Wiley <wiley@chromium.org> autotest: Fix WiFi tests that use the TPM

Turn off the UI before loading a token into the TPM during WiFi tests.
This fixes an unfortunate side effect of disabling the UI where it
clears out the TPM on exit. This affected both:

network_WiFi_SimpleConnect.wifi_check1x_WPA
network_WiFi_SimpleConnect.wifi_check1x_WEP

This changes the semantics of WiFi tests in that the moment you bring up
a WiFi XMLRPC client, we take down the UI. Functionality is exposed to
start this UI again should we need it in the future, but we don't use
this currently.

While we're here, remove a redudant method call from WPAEAPConfig
and fix a mistaken super class reference.

BUG=None
TEST=wifi_check1x_WPA and wifi_check1x_WEP pass again.

Change-Id: I35785f741cfcf8147b566bd6bd89810831a5189f
Reviewed-on: https://gerrit.chromium.org/gerrit/64377
Commit-Queue: Christopher Wiley <wiley@chromium.org>
Reviewed-by: Christopher Wiley <wiley@chromium.org>
Tested-by: Christopher Wiley <wiley@chromium.org>
/external/autotest/server/cros/network/wifi_test_context_manager.py
94c66046744736ed334041ba416d18df81594ed5 26-Jul-2013 Christopher Wiley <wiley@chromium.org> autotest: Disable UI while WiFi tests are running

TEST=Tests which used to fail because of UI behavior on OOBE screen pass
again. Specifically, the periodic scan requests that UI launches are no
longer happening. More specifically, this allows network_WiFi_BgscanBackoff
to pass on Snow.

BUG=chromium:264061

Change-Id: Ica8d817a91b547e08aa33a3db38cc698f42721cf
Reviewed-on: https://gerrit.chromium.org/gerrit/63505
Tested-by: Christopher Wiley <wiley@chromium.org>
Reviewed-by: Paul Stewart <pstew@chromium.org>
Commit-Queue: Christopher Wiley <wiley@chromium.org>
/external/autotest/server/cros/network/wifi_test_context_manager.py
6aafdddb12ec6c324d6c9d4e931058effb083f0c 19-Jul-2013 Christopher Wiley <wiley@chromium.org> autotest: Refactor ping related logic into a delegate

Consolidate server and client related ping code into a centralized
delegate that we can reuse in both places. Removed dead logic to do
background pings, particularly since this logic was deemed dangerous
by the testlab team.

BUG=chromium:263197
TEST=Ran suite:wifi_matfunc with only unrelated test flake.

Change-Id: Iec07646639e5681886dd771a2dd7afb4b02e3aa7
Reviewed-on: https://gerrit.chromium.org/gerrit/62924
Reviewed-by: Paul Stewart <pstew@chromium.org>
Commit-Queue: Christopher Wiley <wiley@chromium.org>
Tested-by: Christopher Wiley <wiley@chromium.org>
/external/autotest/server/cros/network/wifi_test_context_manager.py
c95ddea41ce25cd12e3f3e1a0699fe16326c8c5d 10-Jul-2013 Christopher Wiley <wiley@chromium.org> autotest: Move wifi_client.py to server/cros/network

TEST=Ran check11b successfully. This indicates that objects were
imported and instantiated correctly.
BUG=chromium:258537

Change-Id: I8dba27a1992a8cd367e8e0470891fd03e24d3f62
Reviewed-on: https://gerrit.chromium.org/gerrit/61361
Tested-by: Christopher Wiley <wiley@chromium.org>
Reviewed-by: Paul Stewart <pstew@chromium.org>
Commit-Queue: Christopher Wiley <wiley@chromium.org>
/external/autotest/server/cros/network/wifi_test_context_manager.py
e4e8d994c4b53e97b0fc6c622f8fa80f6b64d92b 10-Jul-2013 Christopher Wiley <wiley@chromium.org> autotest: Move wifi_test_context_manager.py to server/cros/network

TEST=Ran check11b successfully. This indicates that objects were
imported and instantiated correctly.
BUG=chromium:258537

Change-Id: I84f1344eb5a5a711c8c1a0bfd631907b85a437d4
Reviewed-on: https://gerrit.chromium.org/gerrit/61349
Tested-by: Christopher Wiley <wiley@chromium.org>
Reviewed-by: Paul Stewart <pstew@chromium.org>
Commit-Queue: Christopher Wiley <wiley@chromium.org>
/external/autotest/server/cros/network/wifi_test_context_manager.py