[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