1*9c5db199SXin Li# Copyright 2020 The Chromium OS Authors. All rights reserved. 2*9c5db199SXin Li# Use of this source code is governed by a BSD-style license that can be 3*9c5db199SXin Li# found in the LICENSE file. 4*9c5db199SXin Li 5*9c5db199SXin Lifrom autotest_lib.client.common_lib import utils 6*9c5db199SXin Lifrom autotest_lib.server.site_tests.tast import tast 7*9c5db199SXin Li 8*9c5db199SXin LiAUTHOR = 'Chromium OS Firmware EngProd team' 9*9c5db199SXin LiNAME = 'tast.firmware-smoke' 10*9c5db199SXin LiTIME = 'MEDIUM' 11*9c5db199SXin LiTEST_TYPE = 'Server' 12*9c5db199SXin LiDEPENDENCIES = 'servo_state:WORKING' 13*9c5db199SXin LiATTRIBUTES = 'suite:faft_smoke' 14*9c5db199SXin LiMAX_RESULT_SIZE_KB = 1024 * 1024 15*9c5db199SXin LiPY_VERSION = 3 16*9c5db199SXin LiJOB_RETRIES = 0 17*9c5db199SXin Li 18*9c5db199SXin Li# tast.py uses binaries installed from autotest_server_package.tar.bz2. 19*9c5db199SXin LiREQUIRE_SSP = True 20*9c5db199SXin Li 21*9c5db199SXin LiDOC = ''' 22*9c5db199SXin LiRun Tast tests for basic firmware functionality. 23*9c5db199SXin Li 24*9c5db199SXin LiThe tests are part of 'group:firmware'. The 'firmware_smoke' sub-attribute 25*9c5db199SXin Lilimits it to basic smoke-tests. 26*9c5db199SXin Li 27*9c5db199SXin LiExcludes tests with 'firmware_usb' sub-attribute, the firmware-smoke_usb 28*9c5db199SXin Licontrol file will run those. 29*9c5db199SXin Li 30*9c5db199SXin LiTast is an integration-testing framework analagous to the test-running portion 31*9c5db199SXin Liof Autotest. See https://chromium.googlesource.com/chromiumos/platform/tast/ 32*9c5db199SXin Lifor more information. 33*9c5db199SXin Li 34*9c5db199SXin LiSee http://go/tast-failures for information about investigating failures. 35*9c5db199SXin Li''' 36*9c5db199SXin Li 37*9c5db199SXin Licommand_args, varslist = tast.split_arguments(args) 38*9c5db199SXin Liargs_dict = utils.args_to_dict(command_args) 39*9c5db199SXin Liassert 'servo_state:WORKING' in DEPENDENCIES 40*9c5db199SXin Liservo_args = hosts.CrosHost.get_servo_arguments(args_dict) 41*9c5db199SXin Li 42*9c5db199SXin Lidef run(machine): 43*9c5db199SXin Li job.run_test('tast', 44*9c5db199SXin Li host=hosts.create_host(machine, servo_args=servo_args), 45*9c5db199SXin Li # TODO(b/188712428): Clean this up when TAST is fully 46*9c5db199SXin Li # supported by test-exec-service 47*9c5db199SXin Li test_exprs=['("group:firmware" && firmware_smoke && !firmware_usb)'], 48*9c5db199SXin Li ignore_test_failures=True, max_run_sec=10800, 49*9c5db199SXin Li command_args=command_args, 50*9c5db199SXin Li varslist=varslist) 51*9c5db199SXin Li 52*9c5db199SXin Liparallel_simple(run, machines) 53