# 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-android'
TIME = 'MEDIUM'
TEST_TYPE = 'Server'
ATTRIBUTES = 'suite:bvt-tast-informational, suite:chrome-informational'
MAX_RESULT_SIZE_KB = 50 * 1024

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

DOC = '''
Run the Tast informational ARC 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 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.

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

def run(machine):
    job.run_test('tast',
                 host=hosts.create_host(machine),
                 test_exprs=['(!disabled && !"group:*" && informational && '
                             '"dep:android")'],
                 ignore_test_failures=True)

parallel_simple(run, machines)
