blob: 3123205008de6d2153e797e0be2877e3cba3fea1 [file] [log] [blame]
# 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.
import logging
from autotest_lib.client.common_lib.error import TestFail
from autotest_lib.server.cros import chrome_sideloader
AUTHOR = 'ChromeOS SW Engprod Team (chromeos-sw-engprod@google.com)'
NAME = 'tast.nearby-share-cb2cb-chrome-from-tls'
TIME = 'MEDIUM'
TEST_TYPE = 'Server'
MAX_RESULT_SIZE_KB = 1024 * 1024
# tast.py uses binaries installed from autotest_server_package.tar.bz2.
REQUIRE_SSP = True
# This mount point controls the version of chrome to use
CHROME_MOUNT_POINT = '/opt/google/chrome'
# Location to put the sideloaded chrome artifacts
CHROME_DIR = '/usr/local/chrome'
DOC = '''
Runs the Tast Nearby Share remote tests with a custom chrome binary.
These Nearby Share tests require two chromebooks, so we must provision
both DUTs with the custom chrome binary before the tests are kicked off.
This test is used by Chrome builder for Nearby Share CI/CQ purposes.
A chrome builder creates a chrome binary and artifacts,
which is in turn provisioned to both DUTs through TLS.
Tast tests uses the sideloaded version of chrome for testing.
'''
def run(machine):
primary_dut = hosts.create_host(machine)
companions = hosts.create_companion_hosts(companion_hosts)
if not companions:
raise TestFail('Missing companion hosts')
secondary_dut = companions[0]
logging.info("Running %s on primary_dut: %s and companion_host:%s", NAME,
primary_dut, secondary_dut)
# Setup both DUTs to use the chrome binary from TLS
for host in [primary_dut, secondary_dut]:
chrome_sideloader.setup_host(
host, CHROME_DIR, CHROME_MOUNT_POINT)
# Register a clean up callback to reset the chrome mount.
def cleanup():
for host in [primary_dut, secondary_dut]:
chrome_sideloader.cleanup_host(
host, CHROME_DIR, CHROME_MOUNT_POINT)
job.add_post_run_hook(cleanup)
job.run_test('tast',
host=primary_dut,
test_exprs=['("group:nearby-share-remote")'],
download_data_lazily=False,
ignore_test_failures=False,
max_run_sec=3600,
companion_duts={'cd1': secondary_dut},
command_args=args
)
parallel_simple(run, machines)