| # Copyright (c) 2020 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. |
| |
| AUTHOR = 'chromeos-bluetooth' |
| NAME = 'bluetooth_AdapterCLSanity.cl_sdp_service_search_request_basic_test' |
| ATTRIBUTES = ('suite:bluetooth_flaky') |
| TIME = 'SHORT' |
| TEST_CLASS = 'bluetooth' |
| TEST_TYPE = 'Server' |
| DEPENDENCIES = 'bluetooth, chameleon:bt_peer' |
| |
| DOC = """ |
| Verify the correct behaviour of the device when searching for services. |
| |
| The tester sends a Service Search Request to the DUT, searching the UUID of |
| SDP Server Service, which is known to exist. |
| Tester also searchs for Service Class ID = 0x0001, which should never exist. |
| In order to verify the correct behaviour of continuation state, some number of |
| fake Bluetooth services are registered on the device. This is needed to create |
| a request with a very long response, and to force the SDP server on the device |
| to use this continuation state functionality. |
| The tester also sends Service Search Requests with intentionally invalid PDU |
| size parameter and with generally incorrect syntax to verify that the IUT reacts |
| correctly in these cases. |
| |
| This test covers the following Bluetooth SIG test cases: |
| TP/SERVER/SS/BV-01-C |
| TP/SERVER/SS/BV-03-C |
| TP/SERVER/SS/BV-04-C |
| TP/SERVER/SS/BI-01-C |
| TP/SERVER/SS/BI-02-C |
| """ |
| |
| from autotest_lib.server import utils |
| |
| 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) |