| # Copyright 2016 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 advertisements_data |
| |
| |
| AUTHOR = 'chromeos-chameleon' |
| NAME = 'bluetooth_AdapterLEAdvertising.single' |
| PURPOSE = 'Test bluetooth adapter advertising.' |
| CRITERIA = 'Adapter should advertise with correct parameters.' |
| ATTRIBUTES = 'suite:bluetooth' |
| TIME = 'SHORT' |
| TEST_CATEGORY = 'Functional' |
| TEST_CLASS = 'bluetooth' |
| TEST_TYPE = 'server' |
| DEPENDENCIES = 'bluetooth' |
| |
| DOC = """ |
| This test case verifies that the Bluetooth adapter of the DUT can |
| behave as a Bluetooth low-energy device and register a single |
| advertisement with data and parameters correctly. This test case also |
| verifies that the single advertisement could be registered and |
| unregistered continuously. |
| |
| Specifically, the subtests included in this autotest verify the |
| following operations and parameters. |
| - test_register_advertisement |
| * A single advertisement is registered successfully. |
| * The advertising min/max intervals are set correctly. |
| . The intervals are set to specified values. |
| . The intervals are set to default values after reset. |
| * The manufacturer id is set correctly. |
| * The service UUIDs are set correctly. |
| * The service data is set correctly. |
| * Advertising is enabled consequently. |
| - test_set_advertising_intervals |
| * The new advertising intervals are set correctly. |
| - test_reset_advertising |
| * The single advertisement instance is removed. |
| * Advertising is disabled consequently. |
| """ |
| |
| |
| MIN_ADV_INTERVAL_MS = 300 |
| MAX_ADV_INTERVAL_MS = 400 |
| |
| |
| args_dict = utils.args_to_dict(args) |
| |
| def run(machine): |
| host = hosts.create_host(machine) |
| job.run_test('bluetooth_AdapterLEAdvertising', host=host, |
| advertisements=advertisements_data.ADVERTISEMENTS, |
| multi_advertising=False, |
| min_adv_interval_ms=MIN_ADV_INTERVAL_MS, |
| max_adv_interval_ms=MAX_ADV_INTERVAL_MS) |
| |
| parallel_simple(run, machines) |