# Copyright 2021 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.

AUTHOR = 'Chromium OS team'
NAME = 'tast.borealis-weekly'
TIME = 'LONG'
TEST_TYPE = 'Server'
ATTRIBUTES = 'suite:borealis_per-week'
MAX_RESULT_SIZE_KB = 1024 * 1024
PY_VERSION = 3

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

DOC = '''
Run the Tast borealis 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 Tast-based borealis tests against a remote DUT.

See http://go/tast-failures for information about investigating failures.
'''

def run(machine):
    host=hosts.create_host(machine)
    host.reboot()
    job.run_test('tast',
                 host=host,
                 test_exprs=['("group:borealis" && borealis_weekly)'],
                 ignore_test_failures=True, max_run_sec=10800,
                 command_args=args)

parallel_simple(run, machines)
