# Copyright 2024 The ChromiumOS Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

AUTHOR = 'The ChromiumOS Authors'
NAME = 'tast.wificell-func-unstable'
METADATA = {
    "contacts": ["chromeos-wifi-champs@google.com"],
    'bug_component': 'b:1034523', # ChromeOS > Test > Harness > Tauto
    'criteria': 'Tauto wrapper for specified tast tests',
}
TIME = 'MEDIUM'
TEST_TYPE = 'Server'
ATTRIBUTES = 'suite:wifi_matfunc_flaky'
MAX_RESULT_SIZE_KB = 1024 * 1024
PY_VERSION = 3
DEPENDENCIES = 'peripheral_wifi_state:WORKING'

DOC = '''
Run the unstable Tast tests which verify basic WiFi functions using wificell fixture.

"group:wificell" indicates that the test runs on a wificell fixture. Its
sub-attributes:
  * "wificell_func": the test is used to verify basic WiFi functionality.
  * "wificell_unstable": the test is unstable or yet to be verified as stable.

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.

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

def run(machine):
    job.run_test('tast',
                 host=hosts.create_host(machine),
                 test_exprs=['("group:wificell" && wificell_func && '
                             'wificell_unstable && !wificell_func_be)'],
                 ignore_test_failures=True, max_run_sec=10800,
                 command_args=args)

parallel_simple(run, machines)
