# 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 = 'ARC Engprod Team'
NAME = 'tast.mtp'
TIME = 'MEDIUM'
TEST_TYPE = 'Server'
ATTRIBUTES = 'suite:mtp'
PY_VERSION = 3

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

DOC = """
This suite is used to run tast tests with 'mtp' group which verify that android app can
read files on external Android device with MTP (Media Transfer Protocol).
"""

def run(machine):
    job.run_test('tast',
                 host=hosts.create_host(machine),
                 test_exprs=['("group:mtp")'],
                 ignore_test_failures=True, max_run_sec=10800,
                 command_args=args)
parallel_simple(run, machines)
