From 4b15c3f256cbbab4a6873669f546b16b9f078d9c Mon Sep 17 00:00:00 2001 From: Jouni Malinen Date: Tue, 26 Aug 2014 17:57:26 +0300 Subject: [PATCH] tests: P2P GO channel preference and regulatory rule mismatch Signed-off-by: Jouni Malinen --- tests/hwsim/test_p2p_autogo.py | 4 ++-- tests/hwsim/test_p2p_channel.py | 24 ++++++++++++++++++++++++ 2 files changed, 26 insertions(+), 2 deletions(-) diff --git a/tests/hwsim/test_p2p_autogo.py b/tests/hwsim/test_p2p_autogo.py index af34d6507..10a1d2ea0 100644 --- a/tests/hwsim/test_p2p_autogo.py +++ b/tests/hwsim/test_p2p_autogo.py @@ -14,9 +14,9 @@ import utils from wlantest import Wlantest from wpasupplicant import WpaSupplicant -def autogo(go, freq=None): +def autogo(go, freq=None, persistent=None): logger.info("Start autonomous GO " + go.ifname) - res = go.p2p_start_go(freq=freq) + res = go.p2p_start_go(freq=freq, persistent=persistent) logger.debug("res: " + str(res)) return res diff --git a/tests/hwsim/test_p2p_channel.py b/tests/hwsim/test_p2p_channel.py index 608b26533..ca5c03f72 100644 --- a/tests/hwsim/test_p2p_channel.py +++ b/tests/hwsim/test_p2p_channel.py @@ -447,3 +447,27 @@ def test_p2p_autogo_pref_chan_disallowed(dev, apdev): finally: dev[0].request("P2P_SET disallow_freq ") dev[0].request("SET p2p_pref_chan ") + +def test_p2p_autogo_pref_chan_not_in_regulatory(dev, apdev): + """P2P channel selection: GO preferred channel not allowed in the regulatory rules""" + try: + set_country("US") + dev[0].request("SET p2p_pref_chan 124:149") + res = autogo(dev[0], persistent=True) + if res['freq'] != "5745": + raise Exception("Unexpected channel selected: " + res['freq']) + dev[0].remove_group(res['ifname']) + + netw = dev[0].list_networks() + if len(netw) != 1: + raise Exception("Unexpected number of network blocks: " + str(netw)) + id = netw[0]['id'] + + set_country("DE") + res = autogo(dev[0], persistent=id) + if res['freq'] == "5745": + raise Exception("Unexpected channel selected(2): " + res['freq']) + dev[0].remove_group(res['ifname']) + finally: + dev[0].request("SET p2p_pref_chan ") + set_country("00")