From: Jouni Malinen Date: Mon, 4 Nov 2024 21:01:58 +0000 (+0200) Subject: tests: Do not expect NAN USD services to terminate automatically X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=651290849a808582e751ae5ffe4e402e8be2ebb3;p=thirdparty%2Fhostap.git tests: Do not expect NAN USD services to terminate automatically 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 --- diff --git a/tests/hwsim/test_dbus.py b/tests/hwsim/test_dbus.py index a46b27f9d..b2eca83ea 100644 --- a/tests/hwsim/test_dbus.py +++ b/tests/hwsim/test_dbus.py @@ -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" diff --git a/tests/hwsim/test_nan_usd.py b/tests/hwsim/test_nan_usd.py index 356d33419..3853997bb 100644 --- a/tests/hwsim/test_nan_usd.py +++ b/tests/hwsim/test_nan_usd.py @@ -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""" diff --git a/tests/hwsim/test_p2p2.py b/tests/hwsim/test_p2p2.py index ee664239b..f1a932e82 100644 --- a/tests/hwsim/test_p2p2.py +++ b/tests/hwsim/test_p2p2.py @@ -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"""