# Copyright (c) 2010 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 tests how fast the DUT responds to beacon loss when an AP completely
# disappears.  With a beacon interval of 100TU we expect the DUT to recognize
# the AP is gone in ~1 sec (10 consecutive beacons).  Pad this in case it
# automatically scans before marking the connection lost.
{ "name":"BeaconLoss",
  "steps":[
    [ "create",               { "type":"hostap" } ],
    [ "config",               { "channel":"2412", "mode":"11b" } ],
    [ "connect",              { "security":"none" } ],
    [ "client_ping",          { "count":"10" } ],
    [ "sleep",                { "time":"5" } ],
    [ "deconfig",             { "silent":None } ],  # Exit AP without DEAUTH
    [ "wait_service",         { "run_timeout":20,   # Timeout is 20 seconds
#                               "max_idle":5.5,     # Idle must happen in 5.5s
                                "debug":True,       # Print state transitions
                                "states":[
                                  (None, '-ready')  # Wait for transition to a
                                ] } ],              # 'non-ready' state.

    # Do the test again, this time forcing a scan on the DUT just before the
    # AP disappears.
    [ "config",               { "channel":"2412", "mode":"11b" } ],
    [ "connect",              { "security":"none" } ],
    [ "client_ping",          { "count":"10" } ],
    [ "scan" ],
    [ "deconfig",             { "silent":None } ],  # Exit AP without DEAUTH
    [ "wait_service",         { "run_timeout":20,   # Timeout is 20 seconds
#                               "max_idle":5.5,     # Idle must happen in 5.5s
                                "debug":True,       # Print state transitions
                                "states":[
                                  (None, '-ready')  # Wait for transition to a
                                ] } ],              # 'non-ready' state.
    [ "destroy" ],
  ],
}
