blob: 729aa8a77f0794507747f1848ec62456cd9ccf78 [file] [log] [blame]
# Copyright 2019 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.
from autotest_lib.server import utils
from autotest_lib.server.cros.bluetooth import bluetooth_test
AUTHOR = 'chromeos-bluetooth'
NAME = 'bluetooth_AdapterCLSanity.cl_adapter_pairing_test'
PURPOSE = 'Test bluetooth adapter pairing and connecting to a bluetooth device.'
CRITERIA = 'Adapter should work in correct states.'
ATTRIBUTES = 'suite:bluetooth, suite:bluetooth_e2e'
TIME = 'SHORT'
TEST_CATEGORY = 'Functional'
TEST_CLASS = 'bluetooth'
TEST_TYPE = 'server'
DEPENDENCIES = 'bluetooth, chameleon:bt_hid'
DOC = """
Verify that the bluetooth adapter of the DUT could pair and connect
to a bluetooth device.
Specifically, the following subtests are executed in this autotest.
- test_reset_on_adapter
- test_pairable
- test_discover_device
- test_stop_discovery
- test_device_name
- test_device_class_of_service
- test_device_class_of_device
- test_pairing
- test_connection_by_adapter
- test_disconnection_by_adapter
- test_connection_by_device
- test_disconnection_by_device
- test_remove_pairing
"""
args_dict = utils.args_to_dict(args)
#
# Bluetooth peers can be named hostname-<chameleon> or hostname-<btpeer[1-4]
# Check for both until we transition to new peer names
# TODO(b:149637050) Cleanup this code
#
chameleon_args = hosts.CrosHost.get_chameleon_arguments(args_dict)
btpeer_args = hosts.CrosHost.get_btpeer_arguments(args_dict)
def run(machine):
host = hosts.create_host(machine, chameleon_args=chameleon_args)
host.initialize_btpeer(btpeer_args)
job.run_test('bluetooth_AdapterCLSanity', host=host,
num_iterations=1, test_name=NAME.split('.')[1])
parallel_simple(run, machines)