xref: /aosp_15_r20/external/autotest/server/site_tests/tast/control.firmware-detachable (revision 9c5db1993ded3edbeafc8092d69fe5de2ee02df7)
1# Copyright 2022 The ChromiumOS Authors.
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.client.common_lib import utils
6from autotest_lib.server.site_tests.tast import tast
7
8AUTHOR = 'Chromium OS Firmware EngProd team'
9NAME = 'tast.firmware-detachables'
10TIME = 'LENGTHY'
11TEST_TYPE = 'Server'
12DEPENDENCIES = 'servo_state:WORKING'
13ATTRIBUTES = 'suite:faft_detachable'
14MAX_RESULT_SIZE_KB = 1024 * 1024
15PY_VERSION = 3
16JOB_RETRIES = 0
17
18# tast.py uses binaries installed from autotest_server_package.tar.bz2.
19REQUIRE_SSP = True
20
21DOC = '''
22Run Tast tests for EC firmware.
23
24The tests are part of 'group:firmware'. The 'firmware_detachable'
25sub-attribute limits it to detachable tests. Once the test is stable change
26the attribute to one of the others.
27'''
28
29command_args, varslist = tast.split_arguments(args)
30args_dict = utils.args_to_dict(command_args)
31assert 'servo_state:WORKING' in DEPENDENCIES
32servo_args = hosts.CrosHost.get_servo_arguments(args_dict)
33
34def run(machine):
35    job.run_test('tast',
36                 host=hosts.create_host(machine, servo_args=servo_args),
37                 test_exprs=['("group:firmware" && firmware_detachable)'],
38                 ignore_test_failures=True,
39                 max_run_sec=16200, # 4h30m
40                 command_args=command_args,
41                 varslist=varslist,
42                 ephemeraldevserver='false',
43                 )
44
45parallel_simple(run, machines)
46