| # 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. |
| |
| # This test run is designed to check that the connection manager |
| # re-scans a few times before quiescing after losing a connection. |
| # We simulate this by shutting off an AP in full sight of the |
| # DUT, waiting for a bit, and then re-instating the AP. We choose |
| # a hidden AP since this requires the connection manager to do the |
| # scans (since only the connection manager knows to scan for them, |
| # as opposed to wpa_supplicant). |
| { "name": "RetryConnectHidden", |
| "steps":[ |
| [ "create", { "type": "hostap" } ], |
| |
| # Create a hidden-ssid AP. |
| [ "config", { "channel": "2412", "mode": "11g", |
| "hidessid": None } ], |
| |
| # Connect with the intent of retaining this information in the profile |
| # so we should auto-connect to it later. |
| [ "connect", { "security": "none", "hidden":True } ], |
| |
| # Shut down the AP in full view of the DUT. |
| [ "deconfig" ], |
| |
| # Wait for the connection manager to acknowledge the connection loss. |
| [ "wait_service", { "run_timeout":40, # Timeout is 40 seconds |
| "debug":True, # Print state transitions |
| "states":[ |
| (None, 'idle') # Wait for transition to a |
| ] } ], # 'idle' state. |
| |
| # Allow the client to settle down, so all of the immediate reactions |
| # to the disconnection by wpa_supplicant and the connection manager |
| # have completed. |
| [ "sleep", { "time":"20" } ], |
| |
| # Start the AP up again, at a different frequency. We start it up |
| # after a delay in order to simulate the situation where the initial |
| # connection-manager-initiated scan fails to detect the AP. Scanning |
| # isn't perfect, so we want to simulate that case. |
| [ "config", { "channel": "2462", "mode": "11g", |
| "hidessid": None } ], |
| |
| # Wait for the connection manager to bring the connection back up after |
| # scanning. |
| [ "wait_service", { "run_timeout":40, # Timeout is 40 seconds |
| "debug":True, # Print state transitions |
| "states":[ |
| (None, 'ready') # Wait for the default |
| ] } ], # service to become 'ready'. |
| |
| [ "destroy" ], |
| ], |
| } |