1# Copyright 2018 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.client.common_lib import utils 6 7AUTHOR = 'Chromium OS team' 8NAME = 'tast.informational' 9TIME = 'MEDIUM' 10TEST_TYPE = 'Server' 11DEPENDENCIES = 'servo_state:WORKING' 12ATTRIBUTES = 'suite:bvt-tast-informational' 13MAX_RESULT_SIZE_KB = 1024 * 1024 14JOB_RETRIES = 0 # Do not retry informational tests. 15 16# tast.py uses binaries installed from autotest_server_package.tar.bz2. 17REQUIRE_SSP = True 18 19DOC = ''' 20Run the Tast informational test suite. 21 22Tast is an integration-testing framework analagous to the test-running portion 23of Autotest. See https://chromium.googlesource.com/chromiumos/platform/tast/ for 24more information. 25 26This test runs non-Chrome-dependent and non-Android-dependent Tast-based 27informational tests against a remote DUT. It only reports failure if the tast 28process itself (rather than individual Tast tests) fails. 29 30Tast tests that soft-clear the TPM require encstateful to be in a reasonable 31state beforehand. This test clears the TPM and reboots the remote DUT before 32running the Tast tests, in case the encstateful encryption key is messed up 33before this test. 34 35See http://go/tast-failures for information about investigating failures. 36''' 37 38args_dict = utils.args_to_dict(args) 39assert 'servo_state:WORKING' in DEPENDENCIES 40servo_args = hosts.CrosHost.get_servo_arguments(args_dict) 41 42def run(machine): 43 job.run_test('tast', 44 host=hosts.create_host(machine, servo_args=servo_args), 45 test_exprs=['(' 46 '"group:mainline" && ' 47 'informational && ' 48 '!"name:crostini.*" && ' 49 '!"dep:plugin_vm" && ' 50 '!"dep:chrome" && ' 51 '!"dep:android*"' 52 ')'], 53 ignore_test_failures=True, 54 max_run_sec=3*60*60, 55 command_args=args, 56 clear_tpm=True) 57 58parallel_simple(run, machines) 59