Merged the hostap_2.6 updates, and the Leap of Faith work, from the hostap_update...
[mech_eap.git] / libeap / tests / hwsim / check_kernel.py
diff --git a/libeap/tests/hwsim/check_kernel.py b/libeap/tests/hwsim/check_kernel.py
new file mode 100644 (file)
index 0000000..15e5856
--- /dev/null
@@ -0,0 +1,31 @@
+# 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
+
+lockdep_messages = [
+  'possible circular locking dependency',
+  '.*-safe -> .*unsafe lock order detected',
+  'possible recursive locking detected',
+  'inconsistent lock state',
+  'possible irq lock inversion dependency',
+  'suspicious RCU usage',
+]
+lockdep = r'(\[\s*)?INFO: (%s)' % ('|'.join(lockdep_messages), )
+issue = re.compile('(\[[0-9 .]*\] )?(WARNING:|BUG:|%s|RTNL: assertion failed).*' % lockdep)
+
+def check_kernel(logfile):
+    for line in open(logfile, 'r'):
+        if issue.match(line):
+            return False
+    return True