blob: 27a19eb0db960c852cf26ba01887ad84409fd449 [file] [log] [blame] [edit]
# Copyright 2019 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.
from autotest_lib.server import utils
AUTHOR = "mruthven"
NAME = "firmware_Cr50DeepSleepStress.reboot_faft_cr50_tot"
PURPOSE = "Verify deep sleep"
ATTRIBUTES = "suite:faft_cr50_tot"
TIME = "LONG"
TEST_TYPE = "server"
DEPENDENCIES = "servo_state:WORKING"
DOC = """
Cr50 should enter deep sleep every time the system goes into S5. Run
power_SuspendStress and verify the deep sleep count matches the number of
suspend iterations.
This test is applicable when using ToT cr50 module.
TODO(crbug.com/1014572) Drop this control file once suites can inject test args.
"""
args_dict = utils.args_to_dict(args)
servo_args = hosts.CrosHost.get_servo_arguments(args_dict)
# crbug.com/1014572: Inject test args.
args_dict['tot_test_run'] = 'true'
def run(machine):
host = hosts.create_host(machine, servo_args=servo_args)
basic = args_dict.get("basic", "").lower() == "true"
default_count = 10 if basic else 100
suspend_count = int(args_dict.get("suspend_count", default_count))
reset_type = args_dict.get("reset_type", "reboot")
job.run_test("firmware_Cr50DeepSleepStress", host=host, cmdline_args=args,
suspend_count=suspend_count, reset_type=reset_type)
parallel_simple(run, machines)