| # 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 |
| |
| AUTHOR = 'chromeos-bluetooth' |
| NAME = 'bluetooth_PeerUpdate' |
| PURPOSE = 'Update chameleond on Bluetooth peer device' |
| CRITERIA = 'Bluetooth peer should be present' |
| ATTRIBUTES = 'suite:bluetooth, suite:bluetooth_e2e, suite:bluetooth_flaky' |
| TIME = 'SHORT' # This test takes about 1 minutes while running locally |
| TEST_CATEGORY = 'Functional' |
| TEST_CLASS = 'bluetooth' |
| TEST_TYPE = 'server' |
| DEPENDENCIES = 'bluetooth, chameleon:bt_peer' |
| |
| DOC = """ |
| |
| This is not a test. This 'test' checks the chameleond version on the |
| Bluetooth peer and updates if it is less that expected version in the test. |
| |
| Use this test if you have made a change to chameleond which should be deployed |
| in the lab. |
| |
| Please follow the steps to update chameleond version in the lab. |
| |
| 1) Test and update chameleond code |
| - Deploy the change in chameleon in a local bt peer |
| and run bluetooth_AdapterQuickSanity against it. |
| - Increase self.bt_pkg_version in 'chameleond/drivers/fpga_tio.py' |
| - Merge the changes |
| |
| 2) Update test and merge changes to this test |
| |
| After chameleond changes are merged |
| - run make in chamleon folder |
| - copy dist/chameleond-0.0.2.tar.gz to server/site_tests/bluetooth_PeerUpdate |
| - Change CUR_BT_PKG_VERSION in bluetooth_PeerUpdate.py |
| - merge the change |
| |
| Once the change is merged, the test will be run in the lab and peer devices |
| will be updated. |
| |
| Note: Due to way the scheduler works, if there is more than one DUT of same |
| model, test will be run only on one of them. Thus the process is indeterministic |
| now but over a large period of time all the peer devices in the lab should(?) |
| be updated. |
| |
| """ |
| |
| args_dict = utils.args_to_dict(args) |
| chameleon_args = hosts.CrosHost.get_chameleon_arguments(args_dict) |
| |
| def run(machine): |
| host = hosts.create_host(machine, chameleon_args=chameleon_args) |
| job.run_test('bluetooth_PeerUpdate', host=host) |
| |
| parallel_simple(run, machines) |