Loading system/gd/cert/cert_main.cc +17 −0 Original line number Diff line number Diff line Loading @@ -16,7 +16,12 @@ #include "stack_manager.h" #include <sys/socket.h> #include <sys/types.h> #include <sys/un.h> #include <unistd.h> #include <csignal> #include <cstring> #include <string> #include <thread> Loading Loading @@ -50,6 +55,8 @@ int main(int argc, const char** argv) { const std::string arg_rootcanal_port = "--rootcanal-port="; const std::string arg_btsnoop_path = "--btsnoop="; std::string btsnoop_path; const std::string arg_tester_signal_socket = "--tester-signal-socket="; std::string tester_signal_path; for (int i = 1; i < argc; i++) { std::string arg = argv[i]; if (arg.find(arg_grpc_root_server_port) == 0) { Loading @@ -68,10 +75,20 @@ int main(int argc, const char** argv) { btsnoop_path = arg.substr(arg_btsnoop_path.size()); ::bluetooth::hal::SnoopLogger::SetFilePath(btsnoop_path); } if (arg.find(arg_tester_signal_socket) == 0) { tester_signal_path = arg.substr(arg_tester_signal_socket.size()); } } signal(SIGINT, interrupt_handler); grpc_root_server.StartServer("0.0.0.0", root_server_port, grpc_port); int tester_signal_socket = socket(AF_UNIX, SOCK_STREAM, 0); struct sockaddr_un addr; memset(&addr, 0, sizeof(addr)); addr.sun_family = AF_UNIX; strncpy(addr.sun_path, tester_signal_path.c_str(), tester_signal_path.size() + 1); connect(tester_signal_socket, (sockaddr*)&addr, sizeof(addr)); close(tester_signal_socket); auto wait_thread = std::thread([] { grpc_root_server.RunGrpcLoop(); }); wait_thread.join(); Loading system/gd/cert/gd_device_base.py +13 −2 Original line number Diff line number Diff line Loading @@ -18,6 +18,7 @@ import logging import os from builtins import open import signal import socket import subprocess import time Loading Loading @@ -52,14 +53,24 @@ class GdDeviceBase: btsnoop_path = os.path.join(log_path_base, '%s_btsnoop_hci.log' % label) cmd.append("--btsnoop=" + btsnoop_path) tester_signal_socket = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) socket_address = os.path.join( log_path_base, '%s_socket' % type_identifier) tester_signal_socket.bind(socket_address) tester_signal_socket.listen(1) cmd.append("--tester-signal-socket=" + socket_address) self.backing_process = subprocess.Popen( cmd, cwd=ANDROID_BUILD_TOP, env=os.environ.copy(), stdout=self.backing_process_logs, stderr=self.backing_process_logs) time.sleep(1) # We need some time for backing_process to start server # TODO: pass a fd that can be signaled when the process is ready tester_signal_socket.accept() tester_signal_socket.close() self.grpc_root_server_channel = grpc.insecure_channel("localhost:" + grpc_root_server_port) self.grpc_port = int(grpc_port) self.grpc_channel = grpc.insecure_channel("localhost:" + grpc_port) Loading system/gd/facade/facade_main.cc +17 −0 Original line number Diff line number Diff line Loading @@ -16,7 +16,12 @@ #include "stack_manager.h" #include <sys/socket.h> #include <sys/types.h> #include <sys/un.h> #include <unistd.h> #include <csignal> #include <cstring> #include <string> #include <thread> Loading Loading @@ -50,6 +55,8 @@ int main(int argc, const char** argv) { const std::string arg_rootcanal_port = "--rootcanal-port="; const std::string arg_btsnoop_path = "--btsnoop="; std::string btsnoop_path; const std::string arg_tester_signal_socket = "--tester-signal-socket="; std::string tester_signal_path; for (int i = 1; i < argc; i++) { std::string arg = argv[i]; if (arg.find(arg_grpc_root_server_port) == 0) { Loading @@ -68,10 +75,20 @@ int main(int argc, const char** argv) { btsnoop_path = arg.substr(arg_btsnoop_path.size()); ::bluetooth::hal::SnoopLogger::SetFilePath(btsnoop_path); } if (arg.find(arg_tester_signal_socket) == 0) { tester_signal_path = arg.substr(arg_tester_signal_socket.size()); } } signal(SIGINT, interrupt_handler); grpc_root_server.StartServer("0.0.0.0", root_server_port, grpc_port); int tester_signal_socket = socket(AF_UNIX, SOCK_STREAM, 0); struct sockaddr_un addr; memset(&addr, 0, sizeof(addr)); addr.sun_family = AF_UNIX; strncpy(addr.sun_path, tester_signal_path.c_str(), tester_signal_path.size() + 1); connect(tester_signal_socket, (sockaddr*)&addr, sizeof(addr)); close(tester_signal_socket); auto wait_thread = std::thread([] { grpc_root_server.RunGrpcLoop(); }); wait_thread.join(); Loading Loading
system/gd/cert/cert_main.cc +17 −0 Original line number Diff line number Diff line Loading @@ -16,7 +16,12 @@ #include "stack_manager.h" #include <sys/socket.h> #include <sys/types.h> #include <sys/un.h> #include <unistd.h> #include <csignal> #include <cstring> #include <string> #include <thread> Loading Loading @@ -50,6 +55,8 @@ int main(int argc, const char** argv) { const std::string arg_rootcanal_port = "--rootcanal-port="; const std::string arg_btsnoop_path = "--btsnoop="; std::string btsnoop_path; const std::string arg_tester_signal_socket = "--tester-signal-socket="; std::string tester_signal_path; for (int i = 1; i < argc; i++) { std::string arg = argv[i]; if (arg.find(arg_grpc_root_server_port) == 0) { Loading @@ -68,10 +75,20 @@ int main(int argc, const char** argv) { btsnoop_path = arg.substr(arg_btsnoop_path.size()); ::bluetooth::hal::SnoopLogger::SetFilePath(btsnoop_path); } if (arg.find(arg_tester_signal_socket) == 0) { tester_signal_path = arg.substr(arg_tester_signal_socket.size()); } } signal(SIGINT, interrupt_handler); grpc_root_server.StartServer("0.0.0.0", root_server_port, grpc_port); int tester_signal_socket = socket(AF_UNIX, SOCK_STREAM, 0); struct sockaddr_un addr; memset(&addr, 0, sizeof(addr)); addr.sun_family = AF_UNIX; strncpy(addr.sun_path, tester_signal_path.c_str(), tester_signal_path.size() + 1); connect(tester_signal_socket, (sockaddr*)&addr, sizeof(addr)); close(tester_signal_socket); auto wait_thread = std::thread([] { grpc_root_server.RunGrpcLoop(); }); wait_thread.join(); Loading
system/gd/cert/gd_device_base.py +13 −2 Original line number Diff line number Diff line Loading @@ -18,6 +18,7 @@ import logging import os from builtins import open import signal import socket import subprocess import time Loading Loading @@ -52,14 +53,24 @@ class GdDeviceBase: btsnoop_path = os.path.join(log_path_base, '%s_btsnoop_hci.log' % label) cmd.append("--btsnoop=" + btsnoop_path) tester_signal_socket = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) socket_address = os.path.join( log_path_base, '%s_socket' % type_identifier) tester_signal_socket.bind(socket_address) tester_signal_socket.listen(1) cmd.append("--tester-signal-socket=" + socket_address) self.backing_process = subprocess.Popen( cmd, cwd=ANDROID_BUILD_TOP, env=os.environ.copy(), stdout=self.backing_process_logs, stderr=self.backing_process_logs) time.sleep(1) # We need some time for backing_process to start server # TODO: pass a fd that can be signaled when the process is ready tester_signal_socket.accept() tester_signal_socket.close() self.grpc_root_server_channel = grpc.insecure_channel("localhost:" + grpc_root_server_port) self.grpc_port = int(grpc_port) self.grpc_channel = grpc.insecure_channel("localhost:" + grpc_port) Loading
system/gd/facade/facade_main.cc +17 −0 Original line number Diff line number Diff line Loading @@ -16,7 +16,12 @@ #include "stack_manager.h" #include <sys/socket.h> #include <sys/types.h> #include <sys/un.h> #include <unistd.h> #include <csignal> #include <cstring> #include <string> #include <thread> Loading Loading @@ -50,6 +55,8 @@ int main(int argc, const char** argv) { const std::string arg_rootcanal_port = "--rootcanal-port="; const std::string arg_btsnoop_path = "--btsnoop="; std::string btsnoop_path; const std::string arg_tester_signal_socket = "--tester-signal-socket="; std::string tester_signal_path; for (int i = 1; i < argc; i++) { std::string arg = argv[i]; if (arg.find(arg_grpc_root_server_port) == 0) { Loading @@ -68,10 +75,20 @@ int main(int argc, const char** argv) { btsnoop_path = arg.substr(arg_btsnoop_path.size()); ::bluetooth::hal::SnoopLogger::SetFilePath(btsnoop_path); } if (arg.find(arg_tester_signal_socket) == 0) { tester_signal_path = arg.substr(arg_tester_signal_socket.size()); } } signal(SIGINT, interrupt_handler); grpc_root_server.StartServer("0.0.0.0", root_server_port, grpc_port); int tester_signal_socket = socket(AF_UNIX, SOCK_STREAM, 0); struct sockaddr_un addr; memset(&addr, 0, sizeof(addr)); addr.sun_family = AF_UNIX; strncpy(addr.sun_path, tester_signal_path.c_str(), tester_signal_path.size() + 1); connect(tester_signal_socket, (sockaddr*)&addr, sizeof(addr)); close(tester_signal_socket); auto wait_thread = std::thread([] { grpc_root_server.RunGrpcLoop(); }); wait_thread.join(); Loading