hwsim tests: Check kernel messages for warnings/bugs

When a test passes but the kernel printed warnings, consider
the test to have failed.

Signed-hostap: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
Johannes Berg 2013-11-04 10:00:36 +01:00 committed by Jouni Malinen
parent efc58df29c
commit 5061a301e5
2 changed files with 35 additions and 3 deletions

View file

@ -0,0 +1,22 @@
# kernel message checker module
#
# Copyright (c) 2013, Intel Corporation
#
# Author: Johannes Berg <johannes@sipsolutions.net>
#
# This software may be distributed under the terms of the BSD license.
# See README for more details.
#
"""
Tests for kernel messages to find if there were any issues in them.
"""
import re
issue = re.compile('(\[[0-9 .]*\] )?(WARNING:|BUG:).*')
def check_kernel(logfile):
for line in open(logfile, 'r'):
if issue.match(line):
return False
return True

View file

@ -21,6 +21,7 @@ sys.path.append('../../wpaspy')
from wpasupplicant import WpaSupplicant
from hostapd import HostapdGlobal
from check_kernel import check_kernel
def reset_devs(dev, apdev):
hapd = HostapdGlobal()
@ -286,15 +287,12 @@ def main():
else:
res = t(dev)
if res == "skip":
skipped.append(name)
result = "SKIP"
else:
passed.append(name)
result = "PASS"
except Exception, e:
logger.info(e)
result = "FAIL"
failed.append(name)
for d in dev:
try:
d.request("NOTE TEST-STOP " + name)
@ -314,6 +312,18 @@ def main():
end = datetime.now()
diff = end - start
if result == 'PASS' and args.dmesg:
if not check_kernel(os.path.join(args.logdir, name + '.dmesg')):
result = 'FAIL'
if result == 'PASS':
passed.append(name)
elif result == 'SKIP':
skipped.append(name)
else:
failed.append(name)
report(conn, args.prefill, args.build, args.commit, run, name, result, diff.total_seconds())
result = "{} {} {} {}".format(result, name, diff.total_seconds(), end)
logger.info(result)