Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit add59888 authored by Treehugger Robot's avatar Treehugger Robot Committed by Gerrit Code Review
Browse files

Merge changes Id8fffd63,I1050bc76

* changes:
  HCI: Move test_reject_broadcast to lib
  AclManager: Add a timeout in the broadcast test
parents 13f3943d 5e75108c
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -39,6 +39,9 @@ class AclManagerTestBb(gd_base_test.GdBaseTestClass, AclManagerTestBase):
    def test_cert_connects(self):
        AclManagerTestBase.test_cert_connects(self)

    def test_reject_broadcast(self):
        AclManagerTestBase.test_reject_broadcast(self)

    def test_cert_connects_disconnects(self):
        AclManagerTestBase.test_cert_connects_disconnects(self)

+1 −17
Original line number Diff line number Diff line
@@ -39,23 +39,7 @@ class AclManagerTest(GdBaseTestClass, AclManagerTestBase):
        AclManagerTestBase.test_cert_connects(self)

    def test_reject_broadcast(self):
        dut_address = self.dut.hci_controller.GetMacAddressSimple()
        self.dut.neighbor.EnablePageScan(neighbor_facade.EnableMsg(enabled=True))

        self.dut_acl_manager.listen_for_an_incoming_connection()
        self.cert_hci.initiate_connection(dut_address)
        with self.dut_acl_manager.complete_incoming_connection() as dut_acl:
            cert_acl = self.cert_hci.complete_connection()

            cert_acl.send(hci_packets.PacketBoundaryFlag.FIRST_AUTOMATICALLY_FLUSHABLE,
                          hci_packets.BroadcastFlag.ACTIVE_PERIPHERAL_BROADCAST,
                          b'\x26\x00\x07\x00This is a Broadcast from the Cert')
            assertThat(dut_acl).emitsNone()

            cert_acl.send(hci_packets.PacketBoundaryFlag.FIRST_AUTOMATICALLY_FLUSHABLE,
                          hci_packets.BroadcastFlag.POINT_TO_POINT,
                          b'\x26\x00\x07\x00This is just SomeAclData from the Cert')
            assertThat(dut_acl).emits(lambda packet: b'SomeAclData' in packet.payload)
        AclManagerTestBase.test_reject_broadcast(self)

    def test_cert_connects_disconnects(self):
        AclManagerTestBase.test_cert_connects_disconnects(self)
+20 −0
Original line number Diff line number Diff line
@@ -15,6 +15,7 @@
#   limitations under the License.

from cert.truth import assertThat
from datetime import timedelta
from neighbor.facade import facade_pb2 as neighbor_facade
from bluetooth_packets_python3 import hci_packets
from cert.py_hci import PyHci
@@ -60,6 +61,25 @@ class AclManagerTestBase():
            assertThat(cert_acl).emits(lambda packet: b'SomeMoreAclData' in packet.payload)
            assertThat(dut_acl).emits(lambda packet: b'SomeAclData' in packet.payload)

    def test_reject_broadcast(self):
        dut_address = self.dut.hci_controller.GetMacAddressSimple()
        self.dut.neighbor.EnablePageScan(neighbor_facade.EnableMsg(enabled=True))

        self.dut_acl_manager.listen_for_an_incoming_connection()
        self.cert_hci.initiate_connection(dut_address)
        with self.dut_acl_manager.complete_incoming_connection() as dut_acl:
            cert_acl = self.cert_hci.complete_connection()

            cert_acl.send(hci_packets.PacketBoundaryFlag.FIRST_AUTOMATICALLY_FLUSHABLE,
                          hci_packets.BroadcastFlag.ACTIVE_PERIPHERAL_BROADCAST,
                          b'\x26\x00\x07\x00This is a Broadcast from the Cert')
            assertThat(dut_acl).emitsNone(timeout=timedelta(seconds=0.5))

            cert_acl.send(hci_packets.PacketBoundaryFlag.FIRST_AUTOMATICALLY_FLUSHABLE,
                          hci_packets.BroadcastFlag.POINT_TO_POINT,
                          b'\x26\x00\x07\x00This is just SomeAclData from the Cert')
            assertThat(dut_acl).emits(lambda packet: b'SomeAclData' in packet.payload)

    def test_cert_connects_disconnects(self):
        dut_address = self.dut.hci_controller.GetMacAddressSimple()
        self.dut.neighbor.EnablePageScan(neighbor_facade.EnableMsg(enabled=True))