diff --git a/examples/mobly/bench/one_device_bench_test.py b/examples/mobly/bench/one_device_bench_test.py new file mode 100644 index 0000000..6fbc101 --- /dev/null +++ b/examples/mobly/bench/one_device_bench_test.py @@ -0,0 +1,47 @@ +from mobly import base_test +from mobly import test_runner +from mobly.controllers import android_device + + +class OneDeviceBenchTest(base_test.BaseTestClass): + + def setup_class(self): + self.ads = self.register_controller(android_device) + self.dut = self.ads[0] + self.dut.load_snippet("bench", "com.github.google.bumble.btbench") + + def test_rfcomm_client_ping(self): + runner = self.dut.bench.runRfcommClient( + "ping", "DC:E5:5B:E5:51:2C", 100, 970, 100 + ) + print("### Initial status:", runner) + final_status = self.dut.bench.waitForRunnerCompletion(runner["id"]) + print("### Final status:", final_status) + + def test_rfcomm_client_send(self): + runner = self.dut.bench.runRfcommClient( + "send", "DC:E5:5B:E5:51:2C", 100, 970, 0 + ) + print("### Initial status:", runner) + final_status = self.dut.bench.waitForRunnerCompletion(runner["id"]) + print("### Final status:", final_status) + + def test_l2cap_client_ping(self): + runner = self.dut.bench.runL2capClient( + "ping", "4B:2A:67:76:2B:E3", 128, True, 100, 970, 100 + ) + print("### Initial status:", runner) + final_status = self.dut.bench.waitForRunnerCompletion(runner["id"]) + print("### Final status:", final_status) + + def test_l2cap_client_send(self): + runner = self.dut.bench.runL2capClient( + "send", "7E:90:D0:F2:7A:11", 131, True, 100, 970, 0 + ) + print("### Initial status:", runner) + final_status = self.dut.bench.waitForRunnerCompletion(runner["id"]) + print("### Final status:", final_status) + + +if __name__ == "__main__": + test_runner.main() diff --git a/examples/mobly/bench/sample_config.yml b/examples/mobly/bench/sample_config.yml new file mode 100644 index 0000000..7a1a0d4 --- /dev/null +++ b/examples/mobly/bench/sample_config.yml @@ -0,0 +1,9 @@ +TestBeds: + - Name: BenchTestBed + Controllers: + AndroidDevice: + - serial: 37211FDJG000DJ + local_bt_address: 94:45:60:5E:03:B0 + + - serial: 23071FDEE001F7 + local_bt_address: DC:E5:5B:E5:51:2C diff --git a/examples/mobly/bench/two_devices_bench_test.py b/examples/mobly/bench/two_devices_bench_test.py new file mode 100644 index 0000000..4a47263 --- /dev/null +++ b/examples/mobly/bench/two_devices_bench_test.py @@ -0,0 +1,38 @@ +import time + +from mobly import base_test +from mobly import test_runner +from mobly.controllers import android_device + + +class TwoDevicesBenchTest(base_test.BaseTestClass): + def setup_class(self): + self.ads = self.register_controller(android_device) + self.dut1 = self.ads[0] + self.dut1.load_snippet("bench", "com.github.google.bumble.btbench") + self.dut2 = self.ads[1] + self.dut2.load_snippet("bench", "com.github.google.bumble.btbench") + + def test_rfcomm_client_send_receive(self): + print("### Starting Receiver") + receiver = self.dut2.bench.runRfcommServer("receive") + receiver_id = receiver["id"] + print("--- Receiver status:", receiver) + while not receiver["model"]["running"]: + print("--- Waiting for Receiver to be running...") + time.sleep(1) + receiver = self.dut2.bench.getRunner(receiver_id) + + print("### Starting Sender") + sender = self.dut1.bench.runRfcommClient( + "send", "DC:E5:5B:E5:51:2C", 100, 970, 100 + ) + print("--- Sender status:", sender) + + print("--- Waiting for Sender to complete...") + sender_result = self.dut1.bench.waitForRunnerCompletion(sender["id"]) + print("--- Sender result:", sender_result) + + +if __name__ == "__main__": + test_runner.main()