[PATCH v5 2/4] tests: Check wmediumd version
Masashi Honma
masashi.honma at gmail.com
Sun Mar 12 15:36:16 PDT 2017
Some wmediumd tests requires new wmediumd features. Modified SNR table,
location-based config and log levels. The wmediumd 0.2 does not have
these features, so skip such a tests.
Signed-off-by: Masashi Honma <masashi.honma at gmail.com>
---
tests/hwsim/test_wmediumd.py | 30 ++++++++++++++++++++++++++++++
1 file changed, 30 insertions(+)
diff --git a/tests/hwsim/test_wmediumd.py b/tests/hwsim/test_wmediumd.py
index 9da54d3..6678dbb 100644
--- a/tests/hwsim/test_wmediumd.py
+++ b/tests/hwsim/test_wmediumd.py
@@ -11,6 +11,9 @@ from test_wpas_mesh import check_mesh_support, check_mesh_group_added
from test_wpas_mesh import check_mesh_peer_connected, add_open_mesh_network
from test_wpas_mesh import check_mesh_group_removed
+class LocalVariables:
+ revs = []
+
CFG = """
ifaces :
{
@@ -34,6 +37,32 @@ ifaces :
};
"""
+def get_wmediumd_version():
+ if len(LocalVariables.revs) > 0:
+ return LocalVariables.revs;
+
+ try:
+ verstr = subprocess.check_output(['wmediumd', '-V'])
+ except OSError, e:
+ if e.errno == errno.ENOENT:
+ raise HwsimSkip('wmediumd not available')
+ raise
+
+ vernum = verstr.split(' ')[1][1:]
+ LocalVariables.revs = vernum.split('.')
+ for i in range(0, len(LocalVariables.revs)):
+ LocalVariables.revs[i] = int(LocalVariables.revs[i])
+ while len(LocalVariables.revs) < 3:
+ LocalVariables.revs += [0]
+
+ return LocalVariables.revs;
+
+def require_wmediumd_version_more_than(major, minor, patch):
+ revs = get_wmediumd_version()
+ if revs[0] < major or revs[1] < minor or revs[2] < patch:
+ raise HwsimSkip('wmediumd v%s.%s.%s is old for this test' %
+ (revs[0], revs[1], revs[2]))
+
def output_wmediumd_log(p, params, data):
log_file = open(os.path.abspath(os.path.join(params['logdir'],
'wmediumd.log')), 'a')
@@ -93,6 +122,7 @@ def test_wmediumd_path_simple(dev, apdev, params):
# | |
# +-----X-----+
# This tests if 1 and 2 can communicate each other via 0.
+ require_wmediumd_version_more_than(0, 3, 0)
fd, fn = tempfile.mkstemp()
try:
f = os.fdopen(fd, 'w')
--
2.7.4
More information about the Hostap
mailing list