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