| OLD | NEW | 
| (Empty) |  | 
 |   1 # Copyright (c) 2010 The Chromium OS Authors. All rights reserved. | 
 |   2 # Use of this source code is governed by a BSD-style license that can be | 
 |   3 # found in the LICENSE file. | 
 |   4  | 
 |   5 # This test run is designed to test that the connection manager is able | 
 |   6 # to roam to a previously connected AP when it loses connectivity to its | 
 |   7 # current AP on resume.  To accomplish this, we join one AP (so we are | 
 |   8 # sure that flimflam remembers it), then join a second AP which we | 
 |   9 # shut down while the DUT is suspended.  We sit around and observe | 
 |  10 # if and how long it takes for the connection manager to re-acquire | 
 |  11 # connectivity to the first AP.  We expect the DUT will resume, find | 
 |  12 # the previous AP is gone, and then roam to the other AP. | 
 |  13 { "name":"SuspendRoam", | 
 |  14   "steps":[ | 
 |  15     [ "create",         { "type":"hostap" } ], | 
 |  16  | 
 |  17     # NB: use a fixed SSID so we know what to reference below | 
 |  18     [ "config",         { "channel":"2412", "mode":"11g", | 
 |  19                           "ssid": 'SuspendRoam_t1'} ], | 
 |  20  | 
 |  21     # Connect to the first AP.  This just guarantees that this AP has | 
 |  22     # been placed in the connection manager profile. | 
 |  23     [ "connect",        { "security":"none" } ], | 
 |  24     [ "client_ping",    { "count":"10" } ], | 
 |  25     [ "deconfig" ], | 
 |  26  | 
 |  27     # Configure and connect to the second AP. | 
 |  28     [ "config",         { "channel":"2462", "mode":"11g", | 
 |  29                           "ssid_suffix": 't2'} ], | 
 |  30     [ "connect",        { "security":"none" } ], | 
 |  31     [ "client_ping",    { "count":"10" } ], | 
 |  32     [ "deconfig" ], | 
 |  33  | 
 |  34     # Ask the DUT to sleep for 20 seconds while we switch things around, | 
 |  35     # then see how long it takes for the DUT to return the service to the | 
 |  36     # "ready" state.  As a result, the arguments to this command are a | 
 |  37     # combination of suspend and wait_service arguments.  In this case, | 
 |  38     # except for "suspend_time", all arguments are to wait_change.  Note | 
 |  39     # that the wait_change occurs AFTER the suspend, 20 seconds later in | 
 |  40     # this specific example.  Note also that we must specify the SSID of | 
 |  41     # the previous AP to wait for; otherwise this will wait for the AP | 
 |  42     # we just deconfig'd to come ready (and fail). | 
 |  43     [ "wait_service_suspend_bg", | 
 |  44                         { "suspend_time": "20",  # How long to sleep | 
 |  45                           "run_timeout":20,      # Maximum time to wait | 
 |  46                           "debug":True,          # Output all state changes | 
 |  47                           "states": [             # Wait for "ready" state | 
 |  48                             ('SuspendRoam_t1', 'ready') | 
 |  49                           ] } ], | 
 |  50  | 
 |  51     # Locally, let's wait 10 seconds to make sure the DUT is really asleep | 
 |  52     # before we proceed. | 
 |  53     [ "sleep",          { "time":"15" } ], | 
 |  54  | 
 |  55     # Shut down the second AP and bring the first one back up | 
 |  56     [ "config",         { "channel":"2412", "mode":"11g", | 
 |  57                           "ssid": 'SuspendRoam_t1'} ], | 
 |  58  | 
 |  59     # Wait for the DUT to wake up and return the results of wait_suspend | 
 |  60     [ "wait_service_suspend_end",   { } ], | 
 |  61  | 
 |  62     [ "client_ping",    { "count":"10" } ], | 
 |  63  | 
 |  64     [ "destroy" ], | 
 |  65   ], | 
 |  66 } | 
| OLD | NEW |