]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
tests: FST AP configuration and OOM
authorJouni Malinen <jouni@qca.qualcomm.com>
Fri, 17 Jul 2015 14:21:55 +0000 (17:21 +0300)
committerJouni Malinen <j@w1.fi>
Fri, 17 Jul 2015 16:14:15 +0000 (19:14 +0300)
Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
tests/hwsim/fst_module_aux.py
tests/hwsim/test_fst_module.py

index a3402974e454aef407d498e079af328441979b40..8b656cbd73d86a1420b7ba0fa368a9643f2dc409 100644 (file)
@@ -590,7 +590,7 @@ class FstAP (FstDevice):
         self.global_instance = hostapd.HostapdGlobal()
         FstDevice.__init__(self, iface, fst_group, fst_pri, fst_llt, rsn)
 
-    def start(self):
+    def start(self, return_early=False):
         """Starts AP the "standard" way as it was intended by hostapd tests.
         This will work only when FST supports fully dynamically loading
         parameters in hostapd."""
@@ -609,6 +609,8 @@ class FstAP (FstDevice):
             raise Exception("Could not ping FST hostapd")
         self.reg_ctrl.start()
         self.get_global_instance()
+        if return_early:
+            return self.hapd
         if len(self.fst_group) != 0:
             self.send_iface_attach_request(self.iface, self.fst_group,
                                            self.fst_llt, self.fst_pri)
index d7de198d67330fc705c8bcbfad02922317cd35ac..33fd095f7a4e8ab71b1de7316e8620a74b9a80a3 100644 (file)
@@ -1925,3 +1925,21 @@ def test_fst_proto(dev, apdev, test_params):
             fst_module_aux.stop_two_ap_sta_pairs(ap1, ap2, sta1, sta2)
         except:
             pass
+
+def test_fst_ap_config_oom(dev, apdev, test_params):
+    """FST AP configuration and OOM"""
+    ap1 = fst_module_aux.FstAP(apdev[0]['ifname'], 'fst_11a', 'a',
+                               fst_test_common.fst_test_def_chan_a,
+                               fst_test_common.fst_test_def_group,
+                               fst_test_common.fst_test_def_prio_low)
+    hapd = ap1.start(return_early=True)
+    with alloc_fail(hapd, 1, "fst_group_create"):
+        res = ap1.grequest("FST-ATTACH %s %s" % (ap1.iface, ap1.fst_group))
+        if not res.startswith("FAIL"):
+            raise Exception("FST-ATTACH succeeded unexpectedly")
+
+    with alloc_fail(hapd, 1, "fst_group_create_mb_ie"):
+        res = ap1.grequest("FST-ATTACH %s %s" % (ap1.iface, ap1.fst_group))
+        # This is allowed to complete currently
+
+    ap1.stop()