Loading system/gd/hci/cert/controller_test.py +25 −2 Original line number Diff line number Diff line Loading @@ -21,6 +21,7 @@ import sys sys.path.append(os.environ['ANDROID_BUILD_TOP'] + '/packages/modules/Bluetooth/system/gd') from acts import asserts from cert.gd_base_test_facade_only import GdFacadeOnlyBaseTestClass from google.protobuf import empty_pb2 as empty_proto from facade import rootservice_pb2 as facade_rootservice Loading Loading @@ -56,7 +57,10 @@ class ControllerTest(GdFacadeOnlyBaseTestClass): empty_proto.Empty()) dut_address_response = self.device_under_test.hci_controller.GetMacAddress( empty_proto.Empty()) return cert_address_response.address != dut_address_response.address asserts.assert_true( cert_address_response.address != dut_address_response.address, msg="Expected cert and dut address to be different %s" % cert_address_response.address) def test_get_local_extended_features(self): request = controller_facade.PageNumberMsg() Loading @@ -67,4 +71,23 @@ class ControllerTest(GdFacadeOnlyBaseTestClass): request0.page_number = 0 dut_feature_response0 = self.device_under_test.hci_controller.GetLocalExtendedFeatures( request0) return dut_feature_response1.page != dut_feature_response0.page asserts.assert_true( dut_feature_response1.page != dut_feature_response0.page, msg="Expected cert dut feature pages to be different %d" % dut_feature_response1.page) def test_write_local_name(self): self.device_under_test.hci_controller.WriteLocalName( controller_facade.NameMsg(name=b'ImTheDUT')) self.cert_device.hci_controller.WriteLocalName( controller_facade.NameMsg(name=b'ImTheCert')) cert_name_msg = self.cert_device.hci_controller.GetLocalName( empty_proto.Empty()).name dut_name_msg = self.device_under_test.hci_controller.GetLocalName( empty_proto.Empty()).name asserts.assert_true( dut_name_msg == b'ImTheDUT', msg="unexpected dut name %s" % dut_name_msg) asserts.assert_true( cert_name_msg == b'ImTheCert', msg="unexpected cert name %s" % cert_name_msg) system/gd/hci/facade/controller_facade.cc +13 −0 Original line number Diff line number Diff line Loading @@ -48,6 +48,19 @@ class ControllerFacadeService : public ControllerFacade::Service { return ::grpc::Status::OK; } ::grpc::Status GetLocalName(::grpc::ServerContext* context, const ::google::protobuf::Empty* request, NameMsg* response) override { std::string local_name = controller_->GetControllerLocalName(); response->set_name(local_name); return ::grpc::Status::OK; } ::grpc::Status WriteLocalName(::grpc::ServerContext* context, const NameMsg* request, ::google::protobuf::Empty* response) override { controller_->WriteLocalName(request->name()); return ::grpc::Status::OK; } ::grpc::Status GetLocalExtendedFeatures(::grpc::ServerContext* context, const PageNumberMsg* request, FeaturesMsg* response) override { if (request->page_number() > controller_->GetControllerLocalExtendedFeaturesMaxPageNumber()) { Loading system/gd/hci/facade/controller_facade.proto +6 −0 Original line number Diff line number Diff line Loading @@ -6,6 +6,8 @@ import "google/protobuf/empty.proto"; service ControllerFacade { rpc GetMacAddress(google.protobuf.Empty) returns (AddressMsg) {} rpc WriteLocalName(NameMsg) returns (google.protobuf.Empty) {} rpc GetLocalName(google.protobuf.Empty) returns (NameMsg) {} rpc GetLocalExtendedFeatures(PageNumberMsg) returns (FeaturesMsg) {} } Loading @@ -13,6 +15,10 @@ message AddressMsg { bytes address = 1; } message NameMsg { bytes name = 1; } message PageNumberMsg { uint32 page_number = 1; } Loading Loading
system/gd/hci/cert/controller_test.py +25 −2 Original line number Diff line number Diff line Loading @@ -21,6 +21,7 @@ import sys sys.path.append(os.environ['ANDROID_BUILD_TOP'] + '/packages/modules/Bluetooth/system/gd') from acts import asserts from cert.gd_base_test_facade_only import GdFacadeOnlyBaseTestClass from google.protobuf import empty_pb2 as empty_proto from facade import rootservice_pb2 as facade_rootservice Loading Loading @@ -56,7 +57,10 @@ class ControllerTest(GdFacadeOnlyBaseTestClass): empty_proto.Empty()) dut_address_response = self.device_under_test.hci_controller.GetMacAddress( empty_proto.Empty()) return cert_address_response.address != dut_address_response.address asserts.assert_true( cert_address_response.address != dut_address_response.address, msg="Expected cert and dut address to be different %s" % cert_address_response.address) def test_get_local_extended_features(self): request = controller_facade.PageNumberMsg() Loading @@ -67,4 +71,23 @@ class ControllerTest(GdFacadeOnlyBaseTestClass): request0.page_number = 0 dut_feature_response0 = self.device_under_test.hci_controller.GetLocalExtendedFeatures( request0) return dut_feature_response1.page != dut_feature_response0.page asserts.assert_true( dut_feature_response1.page != dut_feature_response0.page, msg="Expected cert dut feature pages to be different %d" % dut_feature_response1.page) def test_write_local_name(self): self.device_under_test.hci_controller.WriteLocalName( controller_facade.NameMsg(name=b'ImTheDUT')) self.cert_device.hci_controller.WriteLocalName( controller_facade.NameMsg(name=b'ImTheCert')) cert_name_msg = self.cert_device.hci_controller.GetLocalName( empty_proto.Empty()).name dut_name_msg = self.device_under_test.hci_controller.GetLocalName( empty_proto.Empty()).name asserts.assert_true( dut_name_msg == b'ImTheDUT', msg="unexpected dut name %s" % dut_name_msg) asserts.assert_true( cert_name_msg == b'ImTheCert', msg="unexpected cert name %s" % cert_name_msg)
system/gd/hci/facade/controller_facade.cc +13 −0 Original line number Diff line number Diff line Loading @@ -48,6 +48,19 @@ class ControllerFacadeService : public ControllerFacade::Service { return ::grpc::Status::OK; } ::grpc::Status GetLocalName(::grpc::ServerContext* context, const ::google::protobuf::Empty* request, NameMsg* response) override { std::string local_name = controller_->GetControllerLocalName(); response->set_name(local_name); return ::grpc::Status::OK; } ::grpc::Status WriteLocalName(::grpc::ServerContext* context, const NameMsg* request, ::google::protobuf::Empty* response) override { controller_->WriteLocalName(request->name()); return ::grpc::Status::OK; } ::grpc::Status GetLocalExtendedFeatures(::grpc::ServerContext* context, const PageNumberMsg* request, FeaturesMsg* response) override { if (request->page_number() > controller_->GetControllerLocalExtendedFeaturesMaxPageNumber()) { Loading
system/gd/hci/facade/controller_facade.proto +6 −0 Original line number Diff line number Diff line Loading @@ -6,6 +6,8 @@ import "google/protobuf/empty.proto"; service ControllerFacade { rpc GetMacAddress(google.protobuf.Empty) returns (AddressMsg) {} rpc WriteLocalName(NameMsg) returns (google.protobuf.Empty) {} rpc GetLocalName(google.protobuf.Empty) returns (NameMsg) {} rpc GetLocalExtendedFeatures(PageNumberMsg) returns (FeaturesMsg) {} } Loading @@ -13,6 +15,10 @@ message AddressMsg { bytes address = 1; } message NameMsg { bytes name = 1; } message PageNumberMsg { uint32 page_number = 1; } Loading