# Copyright 2018 The Chromium OS Authors. All rights reserved. # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. from autotest_lib.client.common_lib import utils AUTHOR = 'Chromium OS team' NAME = 'tast.informational' TIME = 'MEDIUM' TEST_TYPE = 'Server' DEPENDENCIES = 'servo_state:WORKING' ATTRIBUTES = 'suite:bvt-tast-informational' MAX_RESULT_SIZE_KB = 1024 * 1024 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 Tast informational test suite. Tast is an integration-testing framework analagous to the test-running portion of Autotest. See https://chromium.googlesource.com/chromiumos/platform/tast/ for more information. This test runs non-Chrome-dependent and non-Android-dependent Tast-based informational tests against a remote DUT. It only reports failure if the tast process itself (rather than individual Tast tests) fails. Tast tests that soft-clear the TPM require encstateful to be in a reasonable state beforehand. This test clears the TPM and reboots the remote DUT before running the Tast tests, in case the encstateful encryption key is messed up before this test. See http://go/tast-failures for information about investigating failures. ''' args_dict = utils.args_to_dict(args) assert 'servo_state:WORKING' in DEPENDENCIES servo_args = hosts.CrosHost.get_servo_arguments(args_dict) def run(machine): job.run_test('tast', host=hosts.create_host(machine, servo_args=servo_args), test_exprs=['(' '"group:mainline" && ' 'informational && ' '!"name:crostini.*" && ' '!"dep:plugin_vm" && ' '!"dep:chrome" && ' '!"dep:android*"' ')'], ignore_test_failures=True, max_run_sec=3*60*60, command_args=args, clear_tpm=True) parallel_simple(run, machines)