blob: 2da73edfe89538980088baa5cf6a3d70162db203 [file] [log] [blame]
# Copyright (c) 2013 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 import error
from autotest_lib.client.common_lib import utils
from autotest_lib.server.cros import host_lock_manager
from autotest_lib.server.cros import sonic_client_utils
AUTHOR = "Chrome OS Team"
NAME = "sonic_AppTest"
PURPOSE = "Demonstrate the ability to start the chromecast app."
CRITERIA = "This test will fail if the app fails to start."
TEST_CLASS = "sonic"
TEST_TYPE = "server"
DOC = """
This is a sonic test that will cast a tab.
Tab cast is achieved through desktopui_SonicExtension, which is a client
test that handles all the extension manipulation necessary to talk to the
sonic device. Note that the sonic host and the DUT need to be on the same
Usage: test_that <ip of Cros DUT> --board=<boardname of DUT>
--args="sonic_hostname=<ip of sonichost>"
args_dict = utils.args_to_dict(args)
def run(machine):
extension_dir = args_dict.get('extension_dir')
lock_manager = host_lock_manager.HostLockManager()
# If the hostname of a sonic device to use with this test
# is passed through --args, just try to lock it, otherwise
# look for an unlocked host with the sonic label. The context
# manager handles unlocking hosts locked through the lock_manager.
with host_lock_manager.HostsLockedBy(lock_manager):
sonic_hostname = args_dict.get('sonic_hostname')
if sonic_hostname:
sonic_hostname = sonic_client_utils.acquire_sonic(lock_manager)'Using sonic host: %s', sonic_hostname)
cros_host = hosts.create_host(machine)
sonic_host = hosts.create_host(sonic_hostname)
job.run_test('sonic_AppTest', cros_host=cros_host,
sonic_host=sonic_host, extension_dir=extension_dir,
parallel_simple(run, machines)