1# Copyright 2017 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 5from autotest_lib.server import utils 6 7AUTHOR = "mruthven" 8NAME = "firmware_Cr50DeepSleepStress.faft_cr50_tot" 9PURPOSE = "Verify deep sleep" 10ATTRIBUTES = "suite:faft_cr50_tot" 11TIME = "LONG" 12TEST_TYPE = "server" 13DEPENDENCIES = "servo_state:WORKING" 14 15DOC = """ 16Cr50 should enter deep sleep every time the system goes into S3. Run 17power_SuspendStress and verify the deep sleep count matches the number of 18suspend iterations. 19 20This test is applicable when using ToT cr50 module. 21TODO(crbug.com/1014572) Drop this control file once suites can inject test args. 22""" 23 24args_dict = utils.args_to_dict(args) 25servo_args = hosts.CrosHost.get_servo_arguments(args_dict) 26 27# crbug.com/1014572: Inject test args. 28args_dict['tot_test_run'] = 'true' 29 30def run(machine): 31 host = hosts.create_host(machine, servo_args=servo_args) 32 33 basic = args_dict.get("basic", "").lower() == "true" 34 default_count = 10 if basic else 100 35 suspend_count = int(args_dict.get("suspend_count", default_count)) 36 reset_type = args_dict.get("reset_type", "mem") 37 38 job.run_test("firmware_Cr50DeepSleepStress", host=host, cmdline_args=args, 39 suspend_count=suspend_count, reset_type=reset_type) 40 41parallel_simple(run, machines) 42