1*9c5db199SXin Li# Copyright 2022 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.hosts import gsc_devboard_host 7*9c5db199SXin Li 8*9c5db199SXin LiAUTHOR = 'Chromium OS BaseOS Engprod' 9*9c5db199SXin LiNAME = 'tast.firmware-Ti50Demo' 10*9c5db199SXin LiTIME = 'MEDIUM' 11*9c5db199SXin LiTEST_TYPE = 'Server' 12*9c5db199SXin LiMAX_RESULT_SIZE_KB = 50 * 1024 13*9c5db199SXin LiPY_VERSION = 3 14*9c5db199SXin Li 15*9c5db199SXin Li# tast.py uses binaries installed from autotest_server_package.tar.bz2. 16*9c5db199SXin LiREQUIRE_SSP = True 17*9c5db199SXin Li 18*9c5db199SXin LiDOC = ''' 19*9c5db199SXin LiRun firmware.Ti50Demo test. 20*9c5db199SXin Li 21*9c5db199SXin LiArgs: 22*9c5db199SXin Li ti50_build: ti50 build location -> gs://chromeos-releases/firmware-ti50-postsubmit/<build> 23*9c5db199SXin Li service_debugger_serial: serial of debugger connected to devboard, defaults to the first one found on the container 24*9c5db199SXin Li service_ip: devboard service ip, default is to start a new container 25*9c5db199SXin Li service_port: devboard service port, defaults to 39999 26*9c5db199SXin Li 27*9c5db199SXin LiExamples: 28*9c5db199SXin Li 29*9c5db199SXin Li # To run test on a devboard connected to workstation: 30*9c5db199SXin Li # Have setup SatLab gcr access according to official instructions. 31*9c5db199SXin Li # docker installed outside of chroot 32*9c5db199SXin Li # inside chroot, run src/third_party/autotest/files/utils/install_docker_chroot.sh 33*9c5db199SXin Li # devboard connected to workstation, fake dut ssh fowarded on localhost:2222 34*9c5db199SXin Li # outside chroot, start dockerd on local tcp port: dockerd -H tcp://127.0.0.1:2375 35*9c5db199SXin Li test_that --autotest_dir <path/to/autotest/files> --fast --args "ti50_build=gs://chromeos-releases/firmware-ti50-postsubmit/<build> service_debugger_serial=<serial>" localhost:2222 tast.firmware-Ti50Demo 36*9c5db199SXin Li 37*9c5db199SXin Li # To run test on a devboard connected to SatLab: 38*9c5db199SXin Li # Have setup complete SatLab according to official instructions. 39*9c5db199SXin Li # inside chroot, run src/third_party/autotest/files/utils/install_docker_chroot.sh 40*9c5db199SXin Li # devboard connected to SatLab, fake dut ssh fowarded on localhost:2222 41*9c5db199SXin Li # outside chroot, forward SatLab docker host: ssh -L 2377:192.168.231.1:2375 -N <mysatlab> 42*9c5db199SXin Li # start service manually on SatLab, note the printed service ip and port: DOCKER_HOST=127.0.0.1:2377 python -m utils.start_gsc_devboard_host 43*9c5db199SXin Li # outside chroot, forward service port: ssh -L 39999:<service ip>:<service port> -N <mysatlab> 44*9c5db199SXin Li test_that --autotest_dir <path/to/autotest/files> --fast --args "ti50_build=gs://chromeos-releases/firmware-ti50-postsubmit/<build> service_ip=<service ip> service_port=<service port>" localhost:2222 tast.firmware-Ti50Demo 45*9c5db199SXin Li''' 46*9c5db199SXin Li 47*9c5db199SXin Lidef run(machine): 48*9c5db199SXin Li args_dict = utils.args_to_dict(args) 49*9c5db199SXin Li devboard = hosts.create_host(machine, host_class=gsc_devboard_host.GSCDevboardHost, **args_dict) 50*9c5db199SXin Li 51*9c5db199SXin Li with devboard.service_context() as service_ep: 52*9c5db199SXin Li varslist = ['devboardsvc=' + service_ep] 53*9c5db199SXin Li buildurl = args_dict.get('ti50_build') 54*9c5db199SXin Li if buildurl is not None: 55*9c5db199SXin Li varslist += ['buildurl=' + buildurl] 56*9c5db199SXin Li job.run_test('tast', 57*9c5db199SXin Li host=hosts.create_host(machine), 58*9c5db199SXin Li max_run_sec=10800, 59*9c5db199SXin Li test_exprs=['firmware.Ti50Demo'], 60*9c5db199SXin Li varslist=varslist, 61*9c5db199SXin Li command_args=args) 62*9c5db199SXin Li 63*9c5db199SXin Liparallel_simple(run, machines) 64