• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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