OSDN Git Service

Simplify cert test setup
authorZach Johnson <zachoverflow@google.com>
Wed, 26 Feb 2020 21:24:48 +0000 (13:24 -0800)
committerZach Johnson <zachoverflow@google.com>
Wed, 26 Feb 2020 21:42:16 +0000 (13:42 -0800)
Pass the dut_module and cert_module as arguments to setting up
the class. Use named arguments for clarity.

Test: cert/run --host
Change-Id: Ica71783bee2fac28fdc60b8e6e48d84890821384

13 files changed:
gd/cert/cert_self_test.py
gd/cert/gd_base_test_facade_only.py
gd/hal/cert/simple_hal_test.py
gd/hci/cert/acl_manager_test.py
gd/hci/cert/controller_test.py
gd/hci/cert/direct_hci_test.py
gd/hci/cert/le_acl_manager_test.py
gd/hci/cert/le_advertising_manager_test.py
gd/hci/cert/le_scanning_manager_test.py
gd/l2cap/classic/cert/l2cap_test.py
gd/neighbor/cert/neighbor_test.py
gd/security/cert/simple_security_test.py
gd/shim/cert/stack_test.py

index 86edb4c..4d0fc16 100644 (file)
@@ -19,7 +19,7 @@ import time
 
 from mobly import asserts
 from datetime import datetime, timedelta
-from cert.gd_base_test_facade_only import GdFacadeOnlyBaseTestClass
+from acts.base_test import BaseTestClass
 from cert.event_callback_stream import EventCallbackStream
 from cert.event_asserts import EventAsserts
 
@@ -86,7 +86,7 @@ class FetchEvents:
         return None
 
 
-class CertSelfTest(GdFacadeOnlyBaseTestClass):
+class CertSelfTest(BaseTestClass):
 
     def setup_test(self):
         return True
index 7842044..8c8eddc 100644 (file)
@@ -15,6 +15,7 @@
 #   limitations under the License.
 
 from acts.base_test import BaseTestClass
+from facade import rootservice_pb2 as facade_rootservice
 
 import importlib
 import logging
@@ -27,7 +28,9 @@ ANDROID_BUILD_TOP = os.environ.get('ANDROID_BUILD_TOP')
 
 class GdFacadeOnlyBaseTestClass(BaseTestClass):
 
-    def setup_class(self):
+    def setup_class(self, dut_module, cert_module):
+        self.dut_module = dut_module
+        self.cert_module = cert_module
 
         gd_devices = self.controller_configs.get("GdDevice")
 
@@ -71,3 +74,22 @@ class GdFacadeOnlyBaseTestClass(BaseTestClass):
                 logging.error(
                     "rootcanal stopped with code: %d" % rootcanal_return_code)
                 return False
+
+    def setup_test(self):
+        self.device_under_test.rootservice.StartStack(
+            facade_rootservice.StartStackRequest(
+                module_under_test=facade_rootservice.BluetoothModule.Value(
+                    self.dut_module),))
+        self.cert_device.rootservice.StartStack(
+            facade_rootservice.StartStackRequest(
+                module_under_test=facade_rootservice.BluetoothModule.Value(
+                    self.cert_module),))
+
+        self.device_under_test.wait_channel_ready()
+        self.cert_device.wait_channel_ready()
+
+    def teardown_test(self):
+        self.device_under_test.rootservice.StopStack(
+            facade_rootservice.StopStackRequest())
+        self.cert_device.rootservice.StopStack(
+            facade_rootservice.StopStackRequest())
index 7094787..320fbd3 100644 (file)
@@ -28,6 +28,15 @@ import bluetooth_packets_python3 as bt_packets
 
 class SimpleHalTest(GdFacadeOnlyBaseTestClass):
 
+    def setup_class(self):
+        super().setup_class(dut_module='HAL', cert_module='HAL')
+
+    def setup_test(self):
+        super().setup_test()
+
+        self.send_dut_hci_command(hci_packets.ResetBuilder())
+        self.send_cert_hci_command(hci_packets.ResetBuilder())
+
     def send_cert_hci_command(self, command):
         self.cert_device.hal.SendHciCommand(
             hal_facade_pb2.HciCommandPacket(payload=bytes(command.Serialize())))
@@ -60,28 +69,6 @@ class SimpleHalTest(GdFacadeOnlyBaseTestClass):
         self.device_under_test.hal.SendHciAcl(
             hal_facade_pb2.HciAclPacket(payload=concatenated))
 
-    def setup_test(self):
-        self.device_under_test.rootservice.StartStack(
-            facade_rootservice_pb2.StartStackRequest(
-                module_under_test=facade_rootservice_pb2.BluetoothModule.Value(
-                    'HAL'),))
-        self.cert_device.rootservice.StartStack(
-            facade_rootservice_pb2.StartStackRequest(
-                module_under_test=facade_rootservice_pb2.BluetoothModule.Value(
-                    'HAL'),))
-
-        self.device_under_test.wait_channel_ready()
-        self.cert_device.wait_channel_ready()
-
-        self.send_dut_hci_command(hci_packets.ResetBuilder())
-        self.send_cert_hci_command(hci_packets.ResetBuilder())
-
-    def teardown_test(self):
-        self.device_under_test.rootservice.StopStack(
-            facade_rootservice_pb2.StopStackRequest())
-        self.cert_device.rootservice.StopStack(
-            facade_rootservice_pb2.StopStackRequest())
-
     def test_none_event(self):
         with EventCallbackStream(
                 self.device_under_test.hal.FetchHciEvent(
index 1f25c7d..39d1d86 100644 (file)
@@ -22,7 +22,6 @@ from cert.gd_base_test_facade_only import GdFacadeOnlyBaseTestClass
 from cert.event_callback_stream import EventCallbackStream
 from cert.event_asserts import EventAsserts
 from google.protobuf import empty_pb2 as empty_proto
-from facade import rootservice_pb2 as facade_rootservice
 from hci.facade import acl_manager_facade_pb2 as acl_manager_facade
 from neighbor.facade import facade_pb2 as neighbor_facade
 from hci.facade import controller_facade_pb2 as controller_facade
@@ -33,24 +32,8 @@ from bluetooth_packets_python3 import hci_packets
 
 class AclManagerTest(GdFacadeOnlyBaseTestClass):
 
-    def setup_test(self):
-        self.device_under_test.rootservice.StartStack(
-            facade_rootservice.StartStackRequest(
-                module_under_test=facade_rootservice.BluetoothModule.Value(
-                    'HCI_INTERFACES'),))
-        self.cert_device.rootservice.StartStack(
-            facade_rootservice.StartStackRequest(
-                module_under_test=facade_rootservice.BluetoothModule.Value(
-                    'HCI'),))
-
-        self.device_under_test.wait_channel_ready()
-        self.cert_device.wait_channel_ready()
-
-    def teardown_test(self):
-        self.device_under_test.rootservice.StopStack(
-            facade_rootservice.StopStackRequest())
-        self.cert_device.rootservice.StopStack(
-            facade_rootservice.StopStackRequest())
+    def setup_class(self):
+        super().setup_class(dut_module='HCI_INTERFACES', cert_module='HCI')
 
     def register_for_event(self, event_code):
         msg = hci_facade.EventCodeMsg(code=int(event_code))
index 4d10c84..9933339 100644 (file)
@@ -25,24 +25,9 @@ from hci.facade import controller_facade_pb2 as controller_facade
 
 class ControllerTest(GdFacadeOnlyBaseTestClass):
 
-    def setup_test(self):
-        self.device_under_test.rootservice.StartStack(
-            facade_rootservice.StartStackRequest(
-                module_under_test=facade_rootservice.BluetoothModule.Value(
-                    'HCI_INTERFACES'),))
-        self.cert_device.rootservice.StartStack(
-            facade_rootservice.StartStackRequest(
-                module_under_test=facade_rootservice.BluetoothModule.Value(
-                    'HCI_INTERFACES'),))
-
-        self.device_under_test.wait_channel_ready()
-        self.cert_device.wait_channel_ready()
-
-    def teardown_test(self):
-        self.device_under_test.rootservice.StopStack(
-            facade_rootservice.StopStackRequest())
-        self.cert_device.rootservice.StopStack(
-            facade_rootservice.StopStackRequest())
+    def setup_class(self):
+        super().setup_class(
+            dut_module='HCI_INTERFACES', cert_module='HCI_INTERFACES')
 
     def test_get_addresses(self):
         cert_address_response = self.cert_device.hci_controller.GetMacAddress(
index b9d8642..bcfedf9 100644 (file)
@@ -32,29 +32,16 @@ import bluetooth_packets_python3 as bt_packets
 
 class DirectHciTest(GdFacadeOnlyBaseTestClass):
 
+    def setup_class(self):
+        super().setup_class(dut_module='HCI', cert_module='HAL')
+
     def setup_test(self):
-        self.device_under_test.rootservice.StartStack(
-            facade_rootservice.StartStackRequest(
-                module_under_test=facade_rootservice.BluetoothModule.Value(
-                    'HCI'),))
-        self.cert_device.rootservice.StartStack(
-            facade_rootservice.StartStackRequest(
-                module_under_test=facade_rootservice.BluetoothModule.Value(
-                    'HAL'),))
-
-        self.device_under_test.wait_channel_ready()
-        self.cert_device.wait_channel_ready()
+        super().setup_test()
 
         self.cert_device.hal.SendHciCommand(
             hal_facade.HciCommandPacket(
                 payload=bytes(hci_packets.ResetBuilder().Serialize())))
 
-    def teardown_test(self):
-        self.device_under_test.rootservice.StopStack(
-            facade_rootservice.StopStackRequest())
-        self.cert_device.rootservice.StopStack(
-            facade_rootservice.StopStackRequest())
-
     def register_for_event(self, event_code):
         msg = hci_facade.EventCodeMsg(code=int(event_code))
         self.device_under_test.hci.RegisterEventHandler(msg)
index 1abf0a2..c103b9a 100644 (file)
@@ -29,24 +29,8 @@ from bluetooth_packets_python3 import hci_packets
 
 class LeAclManagerTest(GdFacadeOnlyBaseTestClass):
 
-    def setup_test(self):
-        self.device_under_test.rootservice.StartStack(
-            facade_rootservice.StartStackRequest(
-                module_under_test=facade_rootservice.BluetoothModule.Value(
-                    'HCI_INTERFACES'),))
-        self.cert_device.rootservice.StartStack(
-            facade_rootservice.StartStackRequest(
-                module_under_test=facade_rootservice.BluetoothModule.Value(
-                    'HCI'),))
-
-        self.device_under_test.wait_channel_ready()
-        self.cert_device.wait_channel_ready()
-
-    def teardown_test(self):
-        self.device_under_test.rootservice.StopStack(
-            facade_rootservice.StopStackRequest())
-        self.cert_device.rootservice.StopStack(
-            facade_rootservice.StopStackRequest())
+    def setup_class(self):
+        super().setup_class(dut_module='HCI_INTERFACES', cert_module='HCI')
 
     def register_for_event(self, event_code):
         msg = hci_facade.EventCodeMsg(code=int(event_code))
index 7d163bf..219f255 100644 (file)
@@ -32,24 +32,8 @@ from facade import common_pb2 as common
 
 class LeAdvertisingManagerTest(GdFacadeOnlyBaseTestClass):
 
-    def setup_test(self):
-        self.device_under_test.rootservice.StartStack(
-            facade_rootservice.StartStackRequest(
-                module_under_test=facade_rootservice.BluetoothModule.Value(
-                    'HCI_INTERFACES'),))
-        self.cert_device.rootservice.StartStack(
-            facade_rootservice.StartStackRequest(
-                module_under_test=facade_rootservice.BluetoothModule.Value(
-                    'HCI'),))
-
-        self.device_under_test.wait_channel_ready()
-        self.cert_device.wait_channel_ready()
-
-    def teardown_test(self):
-        self.device_under_test.rootservice.StopStack(
-            facade_rootservice.StopStackRequest())
-        self.cert_device.rootservice.StopStack(
-            facade_rootservice.StopStackRequest())
+    def setup_class(self):
+        super().setup_class(dut_module='HCI_INTERFACES', cert_module='HCI')
 
     def register_for_event(self, event_code):
         msg = hci_facade.EventCodeMsg(code=int(event_code))
index 5946a22..db7c1ff 100644 (file)
@@ -32,24 +32,9 @@ from facade import common_pb2 as common
 
 class LeScanningManagerTest(GdFacadeOnlyBaseTestClass):
 
-    def setup_test(self):
-        self.device_under_test.rootservice.StartStack(
-            facade_rootservice.StartStackRequest(
-                module_under_test=facade_rootservice.BluetoothModule.Value(
-                    'HCI_INTERFACES'),))
-        self.cert_device.rootservice.StartStack(
-            facade_rootservice.StartStackRequest(
-                module_under_test=facade_rootservice.BluetoothModule.Value(
-                    'HCI_INTERFACES'),))
-
-        self.device_under_test.wait_channel_ready()
-        self.cert_device.wait_channel_ready()
-
-    def teardown_test(self):
-        self.device_under_test.rootservice.StopStack(
-            facade_rootservice.StopStackRequest())
-        self.cert_device.rootservice.StopStack(
-            facade_rootservice.StopStackRequest())
+    def setup_class(self):
+        super().setup_class(
+            dut_module='HCI_INTERFACES', cert_module='HCI_INTERFACES')
 
     def register_for_event(self, event_code):
         msg = hci_facade.EventCodeMsg(code=int(event_code))
index 0577188..2ea9fe4 100644 (file)
@@ -35,18 +35,11 @@ SAMPLE_PACKET = l2cap_packets.CommandRejectNotUnderstoodBuilder(1)
 
 class L2capTest(GdFacadeOnlyBaseTestClass):
 
+    def setup_class(self):
+        super().setup_class(dut_module='L2CAP', cert_module='HCI_INTERFACES')
+
     def setup_test(self):
-        self.device_under_test.rootservice.StartStack(
-            facade_rootservice.StartStackRequest(
-                module_under_test=facade_rootservice.BluetoothModule.Value(
-                    'L2CAP'),))
-        self.cert_device.rootservice.StartStack(
-            facade_rootservice.StartStackRequest(
-                module_under_test=facade_rootservice.BluetoothModule.Value(
-                    'HCI_INTERFACES'),))
-
-        self.device_under_test.wait_channel_ready()
-        self.cert_device.wait_channel_ready()
+        super().setup_test()
 
         self.device_under_test.address = self.device_under_test.hci_controller.GetMacAddress(
             empty_proto.Empty()).address
@@ -255,12 +248,6 @@ class L2capTest(GdFacadeOnlyBaseTestClass):
         information_response = l2cap_packets.InformationResponseView(
             l2cap_control_view)
 
-    def teardown_test(self):
-        self.device_under_test.rootservice.StopStack(
-            facade_rootservice.StopStackRequest())
-        self.cert_device.rootservice.StopStack(
-            facade_rootservice.StopStackRequest())
-
     def _handle_control_packet(self, l2cap_packet):
         packet_bytes = l2cap_packet.payload
         l2cap_view = l2cap_packets.BasicFrameView(
index e6003c2..ebc466b 100644 (file)
@@ -32,24 +32,8 @@ import bluetooth_packets_python3 as bt_packets
 
 class NeighborTest(GdFacadeOnlyBaseTestClass):
 
-    def setup_test(self):
-        self.device_under_test.rootservice.StartStack(
-            facade_rootservice.StartStackRequest(
-                module_under_test=facade_rootservice.BluetoothModule.Value(
-                    'HCI_INTERFACES'),))
-        self.cert_device.rootservice.StartStack(
-            facade_rootservice.StartStackRequest(
-                module_under_test=facade_rootservice.BluetoothModule.Value(
-                    'HCI'),))
-
-        self.device_under_test.wait_channel_ready()
-        self.cert_device.wait_channel_ready()
-
-    def teardown_test(self):
-        self.device_under_test.rootservice.StopStack(
-            facade_rootservice.StopStackRequest())
-        self.cert_device.rootservice.StopStack(
-            facade_rootservice.StopStackRequest())
+    def setup_class(self):
+        super().setup_class(dut_module='HCI_INTERFACES', cert_module='HCI')
 
     def register_for_dut_event(self, event_code):
         msg = hci_facade.EventCodeMsg(code=int(event_code))
index ff7228e..54db712 100644 (file)
@@ -37,15 +37,11 @@ import bluetooth_packets_python3 as bt_packets
 
 class SimpleSecurityTest(GdFacadeOnlyBaseTestClass):
 
+    def setup_class(self):
+        super().setup_class(dut_module='SECURITY', cert_module='L2CAP')
+
     def setup_test(self):
-        self.device_under_test.rootservice.StartStack(
-            facade_rootservice_pb2.StartStackRequest(
-                module_under_test=facade_rootservice_pb2.BluetoothModule.Value(
-                    'SECURITY'),))
-        self.cert_device.rootservice.StartStack(
-            facade_rootservice_pb2.StartStackRequest(
-                module_under_test=facade_rootservice_pb2.BluetoothModule.Value(
-                    'L2CAP'),))
+        super().setup_test()
 
         self.device_under_test.address = self.device_under_test.controller_read_only_property.ReadLocalAddress(
             empty_proto.Empty()).address
@@ -80,12 +76,6 @@ class SimpleSecurityTest(GdFacadeOnlyBaseTestClass):
         self.device_under_test.hci_controller.WriteLocalName(
             controller_facade.NameMsg(name=self.dut_name))
 
-    def teardown_test(self):
-        self.device_under_test.rootservice.StopStack(
-            facade_rootservice_pb2.StopStackRequest())
-        self.cert_device.rootservice.StopStack(
-            facade_rootservice_pb2.StopStackRequest())
-
     def tmp_register_for_event(self, event_code):
         msg = hci_facade.EventCodeMsg(code=int(event_code))
         self.device_under_test.hci.RegisterEventHandler(msg)
index ad4fb9b..2c9315a 100644 (file)
@@ -18,24 +18,12 @@ import os
 import sys
 
 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
-from hci.facade import controller_facade_pb2 as controller_facade
 
 
 class StackTest(GdFacadeOnlyBaseTestClass):
 
-    def setup_test(self):
-        self.device_under_test.rootservice.StartStack(
-            facade_rootservice.StartStackRequest(
-                module_under_test=facade_rootservice.BluetoothModule.Value(
-                    'SHIM'),))
-
-        self.device_under_test.wait_channel_ready()
-
-    def teardown_test(self):
-        self.device_under_test.rootservice.StopStack(
-            facade_rootservice.StopStackRequest())
+    def setup_class(self):
+        super().setup_class(dut_module='SHIM', cert_module='SHIM')
 
     def test_test(self):
         return True