blob: 43ba915df0863dadfc962c397e626dfbde8d53d6 [file] [log] [blame]
# 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, rearrange the
# environment behind the DUT's back and watch what happens when the
# DUT wakes up.
{ "name":"Suspend",
"steps":[ # Channel 1,6,11
[ "create", { "type":"hostap" } ],
# Connect the DUT to an AP
[ "config", { "channel":"2412", "mode":"11b",
"ssid_suffix": "t1"} ],
[ "connect", { "security":"none" } ],
[ "client_ping", { "count":"10" } ],
# Put the system to sleep for 10 seconds
[ "client_suspend", { "suspend_time": "10" } ],
# For this short of a duration, the DUT should still consider itself
# connected to the AP and simply resume without re-associating
[ "client_ping", { "count":"10" } ],
# TODO(pstew): Do a test run where the AP is configured to forget
# the DUT fairly quickly, and suspend the DUT long enough that this
# happens.
# TODO(pstew): Try this with more and different (more widely spaced)
# channels, different bands, differnt operating modes, crypto, etc.
# Ask the DUT to sleep for 20 seconds while we switch things around,
# then see how long it takes for the DUT to return the service to the
# "ready" state. As a result, the arguments to this command are a
# combination of suspend and wait_service arguments. In this case,
# except for "suspend_time", all arguments are to wait_change. Note
# that the wait_change occurs AFTER the suspend, 20 seconds later in
# this specific example.
[ "wait_service_suspend_bg",
{ "suspend_time": "20", # How long to sleep
"run_timeout":20, # Maximum time to wait
"debug":True, # Output all state changes
"states": [
(None, '+ready') # Wait for "ready" state
] } ],
# Locally, let's wait 10 seconds to make sure the DUT is really asleep
# before we proceed.
[ "sleep", { "time":"15" } ],
# Change the channel that the AP sits on. Switch bands too, which has
# the side-effect on our APs of changing the MAC address as well
[ "config", { "channel":"5240", "mode":"11a",
"ssid_suffix": "t1"} ],
# Wait for the DUT to wake up and return the results of wait_suspend
[ "wait_service_suspend_end", { } ],
[ "client_ping", { "count":"10" } ],
[ "destroy" ],
],
}