OSDN Git Service

HCI: Add LocalName test
authorMyles Watson <mylesgw@google.com>
Fri, 17 Jan 2020 17:37:25 +0000 (09:37 -0800)
committerMyles Watson <mylesgw@google.com>
Tue, 21 Jan 2020 22:40:01 +0000 (14:40 -0800)
Bug: 147444951
Test: ./cert/run_device_cert.sh
Change-Id: I9d3345d2316357beac727c9245134a8994aba25b

gd/hci/cert/controller_test.py
gd/hci/facade/controller_facade.cc
gd/hci/facade/controller_facade.proto

index 9760566..a81f956 100644 (file)
@@ -21,6 +21,7 @@ import sys
 
 sys.path.append(os.environ['ANDROID_BUILD_TOP'] + '/system/bt/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
@@ -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()
@@ -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)
index 25fd2f7..155c0ec 100644 (file)
@@ -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()) {
index 8776f2b..edf9de7 100644 (file)
@@ -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) {}
 }
 
@@ -13,6 +15,10 @@ message AddressMsg {
   bytes address = 1;
 }
 
+message NameMsg {
+  bytes name = 1;
+}
+
 message PageNumberMsg {
   uint32 page_number = 1;
 }