# Copyright 2023 The ChromiumOS Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

AUTHOR = 'ChromiumOS team'
NAME = 'tast.flex-criticalstaging'
METADATA = {
  "contacts": [
    "chromeos-flex-eng@google.com",
    "josephsussman@google.com"
  ],
  "bug_component": "b:998633", # ChromeOS > Platform > Enablement > ChromeOS Flex
  "hw_agnostic": False
}
TIME = 'MEDIUM'
TEST_TYPE = 'Server'
ATTRIBUTES = 'suite:flex-criticalstaging'
MAX_RESULT_SIZE_KB = 1024 * 1024
PY_VERSION = 3
JOB_RETRIES = 0  # Do not retry informational tests.

# tast.py uses binaries installed from autotest_server_package.tar.bz2.
REQUIRE_SSP = True

DOC = '''
Run the criticalstaging tests without clearing the TPM.

ChromeOS Flex DUTs do not support automated TPM reset (b/246592434).
See go/cros-flex-hw-testing for more information.
'''

def run(machine):
    job.run_test('tast',
                 host=hosts.create_host(machine),
                 test_exprs=['('
                     '"group:mainline" && '
                     '"group:criticalstaging"'
                 ')'],
                 ignore_test_failures=True,
                 max_run_sec=4*60*60,
                 command_args=args,
                 clear_tpm=False)

parallel_simple(run, machines)
