[26] chaos: include pcaps for all connections
Stash the pcaps for all connections.
BUG=chromium-os:39192
TEST=Manual
Change-Id: Ifcad28b4382bd761aaa3223627ad501c754f5f2a
Reviewed-on: https://gerrit.chromium.org/gerrit/44323
Reviewed-by: Kris Rambish <krisr@chromium.org>
Tested-by: Kris Rambish <krisr@chromium.org>
diff --git a/server/site_tests/network_WiFiInteropChaos/network_WiFiInteropChaos.py b/server/site_tests/network_WiFiInteropChaos/network_WiFiInteropChaos.py
index 1c56530..8e23d46 100644
--- a/server/site_tests/network_WiFiInteropChaos/network_WiFiInteropChaos.py
+++ b/server/site_tests/network_WiFiInteropChaos/network_WiFiInteropChaos.py
@@ -49,28 +49,32 @@
d.disconnect(ssid) # To be sure!
with profile_manager.ProfileManager(host) as pm:
for i in xrange(tries):
+ connection_success = True
try:
self.capturer.start_capture(frequency, bandwidth)
- logging.info('Connecting to %s. Attempt %d', ssid, i)
+ logging.info('Connecting to %s. Attempt %d', ssid, i+1)
c.connect(ssid, security=security, psk=psk)
pm.clear_global_profile()
except (connector.ConnectException,
connector.ConnectFailed,
connector.ConnectTimeout) as e:
logging.info('Failed to connect to %s.', ssid)
- self.capturer.stop_capture()
- capture_file = os.path.join(self.outputdir,
- 'connect_fail_%s.trc' % bss)
- self.capturer.get_capture_file(capture_file)
- msg = ('DUT failed to connect to "%s %s" on attempt %d. '
- 'Reason: %s' % (ap.get_brand(), ap.get_model(), i+1,
- str(e)))
- raise error.TestFail(msg)
+ connection_success = False
except error.CmdError as e:
raise error.TestError(e)
finally:
self.capturer.stop_capture()
+ file_name = 'success' if connection_success else 'fail'
+ capture_file = os.path.join(self.outputdir,
+ 'connect_%s_%s_try_%d.trc' %
+ (file_name, bss, i+1))
+ self.capturer.get_capture_file(capture_file)
d.disconnect(ssid) # To be sure!
+ if not connection_success:
+ msg = ('DUT failed to connect to "%s %s" on try %d. '
+ 'Reason: %s' % (ap.get_brand(), ap.get_model(),
+ i+1, str(e)))
+ raise error.TestFail(msg)
def run_once(self, host, capturer=None, ap=None, tries=1):
@@ -87,7 +91,7 @@
self.capturer = capturer
mac_addresses = host.run('ip link show').stdout
- logging.info('Device MAC addresses\n %s' % mac_addresses)
+ logging.info('Device MAC addresses\n %s', mac_addresses)
# Loop through AP's and connect to them one by one.
# Capture all fail to connect test cases and raise