This README will document the steps needed to setup multiple Fuchsia devices for Lacewing testing. We will be using two VIM3 devices running core.vim3
build and run a Lacewing test that uses both these devices.
Before proceeding further please ensure you have completed the Lacewing Getting Started Guide guide.
Connect the two VIM3 devices to the host machine.
If needed, build and flash Fuchsia on VIM3s.
Stabilize the connection for multi-device setup. For each device, follow the below steps
If this was done correctly, you will see the newly created profile under “USB Ethernet”.
Click on the name of the profile you created. If done correctly, a Checkmark will appear next to the new name profile.
Afterwards, ensure that this stable connection is complete via
$ ffx target list NAME SERIAL TYPE STATE ADDRS/IP RCS fuchsia-f80f-f96b-6f59 04140YCABZZ25M core.vim3 Product [fe80::4a9c:d65:1e95:999e%enxf80ff96b6f58] Y fuchsia-201f-3b62-e9d3* 1C281F4ABZZ07Z core.vim3 Product [fe80::f02f:c160:bfbf:3690%enx201f3b62e9d2] Y
Finally, determine if you need to provide a local Mobly config yaml file.
Bluetooth_Test.yamlto point our testbeds to those devices.
TestBeds: - Name: Testbed-One-BT Controllers: FuchsiaDevice: - name: fuchsia-201f-3b62-e9d3 - name: fuchsia-f80f-f96b-6f59Save this file inside the same folder as the test. Finally, update the BUILD.gn that you had created in Lacewing Getting Started Guide. Below is an example of an updated BUILD.gn with the local_config_source for this multi device test
python_mobly_test("test_multi_device") { main_source = "test_multi_device.py" # The library below provides device interaction APIs. libraries = [ "//src/testing/end_to_end/honeydew", "//src/testing/end_to_end/mobly_base_tests:fuchsia_base_test", ] local_config_source = "Bluetooth_Test.yaml" params_source = "params.yaml" }
Finally, let's run the test!
$ fx set core.vim3 \ --args=core_realm_shards+="[\"//src/testing/sl4f:sl4f_core_shard\"]" \ --with //src/testing/end_to_end/examples $ fx test //src/testing/end_to_end/examples/test_multi_device:multi_device_test_sl4f --e2e --output