Loading system/gd/cert/android_devices_config.json 0 → 100644 +52 −0 Original line number Diff line number Diff line { "_description": "Bluetooth cert testing", "testbed": [ { "_description": "Two Android devices cert testbed", "name": "AndroidDeviceCert", "GdDevice": [ { "grpc_port": "8899", "grpc_root_server_port": "8897", "signal_port": "8895", "label": "stack_under_test", "serial_number": "DUT", "cmd": [ "adb", "-s", "$(serial_number)", "shell", "/system/bin/stack_with_facade", "--grpc-port=$(grpc_port)", "--root-server-port=$(grpc_root_server_port)", "--signal-port=$(signal_port)" ] } ], "GdCertDevice": [ { "grpc_port": "8898", "grpc_root_server_port": "8896", "signal_port": "8894", "label": "cert_stack", "serial_number": "CERT", "cmd": [ "adb", "-s", "$(serial_number)", "shell", "/system/bin/bluetooth_cert_stack", "--grpc-port=$(grpc_port)", "--root-server-port=$(grpc_root_server_port)", "--signal-port=$(signal_port)" ] } ] } ], "logpath": "/tmp/logs" } system/gd/cert/gd_base_test.py +31 −27 Original line number Diff line number Diff line Loading @@ -37,7 +37,12 @@ class GdBaseTestClass(BaseTestClass): log_path_base = configs.get('log_path', '/tmp/logs') rootcanal_logpath = os.path.join(log_path_base, 'rootcanal_logs.txt') self.rootcanal_logs = open(rootcanal_logpath, 'w') gd_devices = self.testbed_configs.get("GdDevice") gd_cert_devices = self.testbed_configs.get("GdCertDevice") self.rootcanal_running = False if 'rootcanal' in configs["testbed_configs"]: self.rootcanal_running = True rootcanal_config = configs["testbed_configs"]['rootcanal'] rootcanal_hci_port = str(rootcanal_config.get("hci_port", "6402")) self.rootcanal_process = subprocess.Popen( Loading @@ -52,11 +57,8 @@ class GdBaseTestClass(BaseTestClass): stdout=self.rootcanal_logs, stderr=self.rootcanal_logs ) gd_devices = self.testbed_configs.get("GdDevice") for gd_device in gd_devices: gd_device["rootcanal_port"] = rootcanal_hci_port gd_cert_devices = self.testbed_configs.get("GdCertDevice") for gd_cert_device in gd_cert_devices: gd_cert_device["rootcanal_port"] = rootcanal_hci_port Loading @@ -69,10 +71,12 @@ class GdBaseTestClass(BaseTestClass): def teardown_class(self): self.unregister_controllers() if self.rootcanal_running: self.rootcanal_process.send_signal(signal.SIGINT) rootcanal_return_code = self.rootcanal_process.wait() self.rootcanal_logs.close() if rootcanal_return_code != 0 and rootcanal_return_code != -signal.SIGINT: if rootcanal_return_code != 0 and\ rootcanal_return_code != -signal.SIGINT: logging.error("rootcanal stopped with code: %d" % rootcanal_return_code) return False system/gd/cert/gd_device_base.py +11 −2 Original line number Diff line number Diff line Loading @@ -32,11 +32,18 @@ ANDROID_HOST_OUT = os.environ.get('ANDROID_HOST_OUT') WAIT_CHANNEL_READY_TIMEOUT = 10 def replace_vars(string, config): serial_number = config.get("serial_number") if serial_number is None: serial_number = "" rootcanal_port = config.get("rootcanal_port") if rootcanal_port is None: rootcanal_port = "" return string.replace("$ANDROID_HOST_OUT", ANDROID_HOST_OUT) \ .replace("$(grpc_port)", config.get("grpc_port")) \ .replace("$(grpc_root_server_port)", config.get("grpc_root_server_port")) \ .replace("$(rootcanal_port)", config.get("rootcanal_port")) \ .replace("$(signal_port)", config.get("signal_port")) .replace("$(rootcanal_port)", rootcanal_port) \ .replace("$(signal_port)", config.get("signal_port")) \ .replace("$(serial_number)", serial_number) class GdDeviceBase: def __init__(self, grpc_port, grpc_root_server_port, signal_port, cmd, Loading @@ -58,6 +65,8 @@ class GdDeviceBase: cmd.append("--btsnoop=" + btsnoop_path) tester_signal_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) tester_signal_socket.setsockopt( socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) socket_address = ('localhost', int(signal_port)) tester_signal_socket.bind(socket_address) tester_signal_socket.listen(1) Loading system/gd/cert/run_device_cert.sh 0 → 100755 +3 −0 Original line number Diff line number Diff line #! /bin/bash act.py -c $ANDROID_BUILD_TOP/packages/modules/Bluetooth/system/gd/cert/android_devices_config.json -tf $ANDROID_BUILD_TOP/packages/modules/Bluetooth/system/gd/cert/cert_testcases -tp $ANDROID_BUILD_TOP/packages/modules/Bluetooth/system/gd Loading
system/gd/cert/android_devices_config.json 0 → 100644 +52 −0 Original line number Diff line number Diff line { "_description": "Bluetooth cert testing", "testbed": [ { "_description": "Two Android devices cert testbed", "name": "AndroidDeviceCert", "GdDevice": [ { "grpc_port": "8899", "grpc_root_server_port": "8897", "signal_port": "8895", "label": "stack_under_test", "serial_number": "DUT", "cmd": [ "adb", "-s", "$(serial_number)", "shell", "/system/bin/stack_with_facade", "--grpc-port=$(grpc_port)", "--root-server-port=$(grpc_root_server_port)", "--signal-port=$(signal_port)" ] } ], "GdCertDevice": [ { "grpc_port": "8898", "grpc_root_server_port": "8896", "signal_port": "8894", "label": "cert_stack", "serial_number": "CERT", "cmd": [ "adb", "-s", "$(serial_number)", "shell", "/system/bin/bluetooth_cert_stack", "--grpc-port=$(grpc_port)", "--root-server-port=$(grpc_root_server_port)", "--signal-port=$(signal_port)" ] } ] } ], "logpath": "/tmp/logs" }
system/gd/cert/gd_base_test.py +31 −27 Original line number Diff line number Diff line Loading @@ -37,7 +37,12 @@ class GdBaseTestClass(BaseTestClass): log_path_base = configs.get('log_path', '/tmp/logs') rootcanal_logpath = os.path.join(log_path_base, 'rootcanal_logs.txt') self.rootcanal_logs = open(rootcanal_logpath, 'w') gd_devices = self.testbed_configs.get("GdDevice") gd_cert_devices = self.testbed_configs.get("GdCertDevice") self.rootcanal_running = False if 'rootcanal' in configs["testbed_configs"]: self.rootcanal_running = True rootcanal_config = configs["testbed_configs"]['rootcanal'] rootcanal_hci_port = str(rootcanal_config.get("hci_port", "6402")) self.rootcanal_process = subprocess.Popen( Loading @@ -52,11 +57,8 @@ class GdBaseTestClass(BaseTestClass): stdout=self.rootcanal_logs, stderr=self.rootcanal_logs ) gd_devices = self.testbed_configs.get("GdDevice") for gd_device in gd_devices: gd_device["rootcanal_port"] = rootcanal_hci_port gd_cert_devices = self.testbed_configs.get("GdCertDevice") for gd_cert_device in gd_cert_devices: gd_cert_device["rootcanal_port"] = rootcanal_hci_port Loading @@ -69,10 +71,12 @@ class GdBaseTestClass(BaseTestClass): def teardown_class(self): self.unregister_controllers() if self.rootcanal_running: self.rootcanal_process.send_signal(signal.SIGINT) rootcanal_return_code = self.rootcanal_process.wait() self.rootcanal_logs.close() if rootcanal_return_code != 0 and rootcanal_return_code != -signal.SIGINT: if rootcanal_return_code != 0 and\ rootcanal_return_code != -signal.SIGINT: logging.error("rootcanal stopped with code: %d" % rootcanal_return_code) return False
system/gd/cert/gd_device_base.py +11 −2 Original line number Diff line number Diff line Loading @@ -32,11 +32,18 @@ ANDROID_HOST_OUT = os.environ.get('ANDROID_HOST_OUT') WAIT_CHANNEL_READY_TIMEOUT = 10 def replace_vars(string, config): serial_number = config.get("serial_number") if serial_number is None: serial_number = "" rootcanal_port = config.get("rootcanal_port") if rootcanal_port is None: rootcanal_port = "" return string.replace("$ANDROID_HOST_OUT", ANDROID_HOST_OUT) \ .replace("$(grpc_port)", config.get("grpc_port")) \ .replace("$(grpc_root_server_port)", config.get("grpc_root_server_port")) \ .replace("$(rootcanal_port)", config.get("rootcanal_port")) \ .replace("$(signal_port)", config.get("signal_port")) .replace("$(rootcanal_port)", rootcanal_port) \ .replace("$(signal_port)", config.get("signal_port")) \ .replace("$(serial_number)", serial_number) class GdDeviceBase: def __init__(self, grpc_port, grpc_root_server_port, signal_port, cmd, Loading @@ -58,6 +65,8 @@ class GdDeviceBase: cmd.append("--btsnoop=" + btsnoop_path) tester_signal_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) tester_signal_socket.setsockopt( socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) socket_address = ('localhost', int(signal_port)) tester_signal_socket.bind(socket_address) tester_signal_socket.listen(1) Loading
system/gd/cert/run_device_cert.sh 0 → 100755 +3 −0 Original line number Diff line number Diff line #! /bin/bash act.py -c $ANDROID_BUILD_TOP/packages/modules/Bluetooth/system/gd/cert/android_devices_config.json -tf $ANDROID_BUILD_TOP/packages/modules/Bluetooth/system/gd/cert/cert_testcases -tp $ANDROID_BUILD_TOP/packages/modules/Bluetooth/system/gd