# 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 test run seeks to place the DUT in suspend-to-RAM for longer
# than the AP will wait for it, to see if/how the DUT notices that
# it's been disassociated.
#
# RSN+CCMP/WPA-PSK authentication
{ "name":"SuspendRSN",
  "steps":[             # Channel [1,6,11]
    [ "create",         { "type":"hostap" } ],

    # Connect the DUT to an AP
    [ "config",         { "channel":"2412", "mode":"11g",
                          "wpa":"2", "wpa_key_mgmt":"WPA-PSK",
                          "wpa_pairwise":"CCMP",
                          "wpa_passphrase":"chromeos",
                          "ap_max_inactivity" : '10'} ],
    [ "connect",        { "security":"rsn", "psk":"chromeos" } ],
    [ "client_ping",    { "count":"10" } ],

    # Put the system to sleep for 20 seconds
    [ "client_suspend_bg", { "suspend_time": "20" } ],

    # Wait for DUT to go to sleep
    [ "sleep",          { "time":"15" } ],

    # Deauth the DUT while it sleeps
    [ "client_deauth",  { } ],

    # Wait for DUT to wake up
    [ "client_suspend_end",  { } ],

    # If the DUT realizes that it has been deauthed, then it should
    # reassociate quickly and the ping below should succeeed.
    [ "client_ping",    { "count":"10" } ],

    # Pull some time differences out of the logs
    [ "log_time_diff",  { "from":"Low-level resume complete",
                          "to":"Reason: 7",
                          "perf":"deauth" } ],
    [ "log_time_diff",  { "from":"Low-level resume complete",
                          "to":": associated",
                          "perf":"reassociated" } ],
    [ "log_time_diff",  { "from":"Low-level resume complete",
                          "to":" -> COMPLETED",
                          "perf":"reconnect" } ],
    [ "destroy" ],

  ],
}
