@@ -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:
+ is_old_wmediumd = None
+
CFG = """
ifaces :
{
@@ -34,6 +37,26 @@ ifaces :
};
"""
+def check_wmediumd_version():
+ if LocalVariables.is_old_wmediumd != None:
+ if LocalVariables.is_old_wmediumd:
+ raise HwsimSkip('wmediumd not available')
+ return
+
+ try:
+ stdoutdata = subprocess.check_output(['wmediumd', '-V'])
+ except OSError, e:
+ if e.errno == errno.ENOENT:
+ LocalVariables.is_old_wmediumd = True
+ raise HwsimSkip('wmediumd not available')
+ raise
+
+ if stdoutdata.find('wmediumd v0.2 ') > -1:
+ LocalVariables.is_old_wmediumd = True
+ raise HwsimSkip('wmediumd not available')
+ else:
+ LocalVariables.is_old_wmediumd = False
+
def output_wmediumd_log(p, params, data):
log_file = open(os.path.abspath(os.path.join(params['logdir'],
'wmediumd.log')), 'a')
@@ -93,6 +116,7 @@ def test_wmediumd_path_simple(dev, apdev, params):
# | |
# +-----X-----+
# This tests if 1 and 2 can communicate each other via 0.
+ check_wmediumd_version()
fd, fn = tempfile.mkstemp()
try:
f = os.fdopen(fd, 'w')
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@gmail.com> --- tests/hwsim/test_wmediumd.py | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+)