| # 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_flaky, 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) |
| chameleon_args = hosts.CrosHost.get_chameleon_arguments(args_dict) |
| newblue_enable = args_dict['newblue'] == 'enable'\ |
| if 'newblue' in args_dict else False |
| |
| def run(machine): |
| host = hosts.create_host(machine, chameleon_args=chameleon_args) |
| bluetooth_test.enable_newblue(host=host, enable=newblue_enable) |
| job.run_test('bluetooth_AdapterCLSanity', host=host, |
| num_iterations=1, test_name=NAME.split('.')[1]) |
| |
| parallel_simple(run, machines) |