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

AUTHOR = 'Chromium OS team'
NAME = 'tast.informational-chrome'
TIME = 'MEDIUM'
TEST_TYPE = 'Server'
ATTRIBUTES = 'suite:bvt-tast-informational, suite:chrome-informational'
MAX_RESULT_SIZE_KB = 1024 * 1024

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

DOC = '''
Run the Tast informational Chrome 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 Chrome-dependent Tast-based informational tests against a remote
DUT. It only reports failure if the tast process itself (rather than individual
Tast tests) fails.

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

def run(machine):
    # TODO(crbug.com/992303): Fix android condition.
    job.run_test('tast',
                 host=hosts.create_host(machine),
                 test_exprs=['('
                             '!disabled && '
                             '("group:mainline" || !"group:*") && '
                             'informational && '
                             '"dep:chrome" && '
                             '!"dep:android*"'
                             ')'],
                 ignore_test_failures=True, max_run_sec=3*60*60, command_args=args)

parallel_simple(run, machines)
