# Copyright 2020 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.wificell-atten-roam-perf'
TIME = 'LENGTHY'
TEST_TYPE = 'Server'
ATTRIBUTES = 'suite:wifi_atten_roam_perf'
MAX_RESULT_SIZE_KB = 1024 * 1024

DOC = '''
Run Tast test which check WiFi roaming performance/correctness.
'''

def run(machine):
    job.run_test('tast',
                 host=hosts.create_host(machine),
                 test_exprs=['("group:wificell_roam" && wificell_roam_perf)'],
                 ignore_test_failures=True, max_run_sec=18000,
                 command_args=args)

parallel_simple(run, machines)
