| # 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.critical-system-shard-2' |
| TIME = 'MEDIUM' |
| TEST_TYPE = 'Server' |
| DEPENDENCIES = 'servo_state:WORKING' |
| # System tests can't be broken by Android or Chrome changes, so these tests |
| # don't run in the PFQs. |
| ATTRIBUTES = 'suite:bvt-tast-cq, suite:cft-beta' |
| MAX_RESULT_SIZE_KB = 256 * 1024 |
| PY_VERSION = 3 |
| |
| # tast.py uses binaries installed from autotest_server_package.tar.bz2. |
| REQUIRE_SSP = True |
| |
| DOC = ''' |
| Run the Tast must-pass system 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 tests |
| that are required to pass against a remote DUT. It fails if any individual Tast |
| tests fail. |
| |
| 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 && ' |
| '!"dep:chrome" && ' |
| '!"name:crostini.*" && ' |
| '!"dep:android*"' |
| ')'], |
| ignore_test_failures=False, max_run_sec=3600, |
| totalshards=3, |
| shardindex=2, |
| command_args=args, |
| clear_tpm=True, |
| retries=2) |
| |
| parallel_simple(run, machines) |