]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
tests: Do not expect NAN USD services to terminate automatically
authorJouni Malinen <quic_jouni@quicinc.com>
Mon, 4 Nov 2024 21:01:58 +0000 (23:01 +0200)
committerJouni Malinen <j@w1.fi>
Mon, 4 Nov 2024 21:19:30 +0000 (23:19 +0200)
If further service discovery is needed, the USD services will not be
expiring automatically based on the last exchanged message, so modify
the test cases to explicitly terminate USD instead of waiting for the
timeout.

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
tests/hwsim/test_dbus.py
tests/hwsim/test_nan_usd.py
tests/hwsim/test_p2p2.py

index a46b27f9d349d2c1883310e90c6a2cc02fe248b1..b2eca83ea1893af98c4ec9857644599cf8d6bfd2 100644 (file)
@@ -6562,6 +6562,7 @@ def test_dbus_nan_usd_subscribe_followup(dev, apdev):
                 if "ssi=666f6c6c6f777570" not in ev.split(' '):
                     raise Exception("Expected SSI not seen in Follow-up")
                 self.followup = True
+                iface.NANCancelSubscribe(self.subscribe_id)
             else:
                 logger.info("nanDiscoveryResult values did not match")
 
@@ -6634,6 +6635,7 @@ def test_dbus_nan_usd_publish_followup(dev, apdev):
                                    'req_instance_id': args['peer_id'],
                                    'peer_addr': args['peer_addr'],
                                    'ssi': dbus.ByteArray(b'followup')})
+                iface.NANCancelPublish(self.publish_id)
 
         def start_publish(self, *args):
             cmd = "NAN_SUBSCRIBE service_name=_test srv_proto_type=3 ssi=1122334455"
index 356d33419b5b87c992294dd9c28ab5f92fb1bdb4..3853997bb02154bfeeff6bda76eb82f50b652a11 100644 (file)
@@ -96,8 +96,8 @@ def test_nan_usd_match(dev, apdev):
         raise Exception("NAN_SUBSCRIBE failed")
 
     cmd = "NAN_PUBLISH service_name=_test srv_proto_type=2 ssi=6677 ttl=5"
-    id0 = dev[1].request(cmd)
-    if "FAIL" in id0:
+    id1 = dev[1].request(cmd)
+    if "FAIL" in id1:
         raise Exception("NAN_PUBLISH failed")
 
     ev = dev[0].wait_event(["NAN-DISCOVERY-RESULT"], timeout=5)
@@ -108,13 +108,8 @@ def test_nan_usd_match(dev, apdev):
     if "ssi=6677" not in ev.split(' '):
         raise Exception("Unexpected ssi: " + ev)
 
-    # Check for publisher and subscriber functionality to time out
-    ev = dev[0].wait_event(["NAN-SUBSCRIBE-TERMINATED"], timeout=5)
-    if ev is None:
-        raise Exception("Subscribe not terminated")
-    ev = dev[1].wait_event(["NAN-PUBLISH-TERMINATED"], timeout=5)
-    if ev is None:
-        raise Exception("Publish not terminated")
+    dev[0].request("NAN_CANCEL_SUBSCRIBE id=" + id0)
+    dev[1].request("NAN_CANCEL_PUBLISH id=" + id1)
 
 def test_nan_usd_match2(dev, apdev):
     """NAN USD Publish/Subscribe match (2)"""
@@ -158,8 +153,8 @@ def test_nan_usd_match3(dev, apdev):
     time.sleep(0.05)
 
     cmd = "NAN_PUBLISH service_name=_test srv_proto_type=2 ssi=6677 ttl=10"
-    id0 = dev[1].request(cmd)
-    if "FAIL" in id0:
+    id1 = dev[1].request(cmd)
+    if "FAIL" in id1:
         raise Exception("NAN_PUBLISH failed")
 
     ev = dev[0].wait_event(["NAN-DISCOVERY-RESULT"], timeout=5)
@@ -170,13 +165,8 @@ def test_nan_usd_match3(dev, apdev):
     if "ssi=6677" not in ev.split(' '):
         raise Exception("Unexpected ssi: " + ev)
 
-    # Check for publisher and subscriber functionality to time out
-    ev = dev[0].wait_event(["NAN-SUBSCRIBE-TERMINATED"], timeout=2)
-    if ev is None:
-        raise Exception("Subscribe not terminated")
-    ev = dev[1].wait_event(["NAN-PUBLISH-TERMINATED"], timeout=10)
-    if ev is None:
-        raise Exception("Publish not terminated")
+    dev[0].request("NAN_CANCEL_SUBSCRIBE id=" + id0)
+    dev[1].request("NAN_CANCEL_PUBLISH id=" + id1)
 
 def split_nan_event(ev):
     vals = dict()
@@ -272,13 +262,8 @@ def run_nan_usd_followup(dev0, dev1, multi_chan=False):
     if vals['peer_instance_id'] != id1:
         raise Exception("Unexpected peer_instance_id: " + ev)
 
-    # Check for publisher and subscriber functionality to time out
-    ev = dev0.wait_event(["NAN-SUBSCRIBE-TERMINATED"], timeout=10)
-    if ev is None:
-        raise Exception("Subscribe not terminated")
-    ev = dev1.wait_event(["NAN-PUBLISH-TERMINATED"], timeout=10)
-    if ev is None:
-        raise Exception("Publish not terminated")
+    dev0.request("NAN_CANCEL_SUBSCRIBE id=" + id0)
+    dev1.request("NAN_CANCEL_PUBLISH id=" + id1)
 
 def test_nan_usd_solicited_publisher(dev, apdev):
     """NAN USD Publish/Subscribe match with solicited-only Publisher"""
index ee664239b6b8930d12a12938ca7bc4e0f50a2d4e..f1a932e82688330db831ce098a03e992d73ca08d 100644 (file)
@@ -102,8 +102,8 @@ def test_p2p_usd_match(dev, apdev):
         raise Exception("NAN_SUBSCRIBE for P2P failed")
 
     cmd = "NAN_PUBLISH service_name=_test unsolicited=0 srv_proto_type=2 ssi=6677 ttl=5 p2p=1"
-    id0 = dev[1].request(cmd)
-    if "FAIL" in id0:
+    id1 = dev[1].request(cmd)
+    if "FAIL" in id1:
         raise Exception("NAN_PUBLISH for P2P failed")
 
     ev = dev[0].wait_global_event(["P2P-DEVICE-FOUND"], timeout=5)
@@ -121,13 +121,8 @@ def test_p2p_usd_match(dev, apdev):
     if "ssi=6677" not in ev.split(' '):
         raise Exception("Unexpected ssi: " + ev)
 
-    # Check for publisher and subscriber functionality to time out
-    ev = dev[0].wait_event(["NAN-SUBSCRIBE-TERMINATED"], timeout=5)
-    if ev is None:
-        raise Exception("Subscribe not terminated")
-    ev = dev[1].wait_event(["NAN-PUBLISH-TERMINATED"], timeout=5)
-    if ev is None:
-        raise Exception("Publish not terminated")
+    dev[0].request("NAN_CANCEL_SUBSCRIBE id=" + id0)
+    dev[1].request("NAN_CANCEL_PUBLISH id=" + id1)
 
 def test_p2p_pairing_password(dev, apdev):
     """P2P Pairing with Password"""