Index: client/bin/site_utils.py |
diff --git a/client/bin/site_utils.py b/client/bin/site_utils.py |
index 8eb52f49894a8827eea2c3db23e99ae23eacaa8b..b6cc26fc0a2ae75cafa475477430773e0dc06246 100644 |
--- a/client/bin/site_utils.py |
+++ b/client/bin/site_utils.py |
@@ -61,3 +61,28 @@ def save_vm_state(checkpoint): |
serial = open('/dev/ttyUSB0', 'w') |
serial.write("savevm %s\r\n" % checkpoint) |
logging.info('Done saving VM state "%s"' % checkpoint) |
+ |
+ |
+def check_raw_dmesg(dmesg, message_level, whitelist): |
+ """Checks dmesg for unexpected warnings. |
+ |
+ This function parses dmesg for message with message_level <= message_level |
+ which do not appear in the whitelist. |
+ |
+ Arguments: |
+ dmesg - string containing raw dmesg buffer |
+ message_level - minimum message priority to check |
+ whitelist - messages to ignore |
+ |
+ Returns: |
+ List of unexpected warnings |
+ """ |
+ |
+ unexpected = [] |
+ for line in dmesg.splitlines(): |
+ if int(line[1]) <= message_level: |
+ if not 'used greatest stack depth' in line: |
+ stripped_line = line.split('] ', 1)[1] |
+ if not stripped_line in whitelist: |
+ unexpected.append(stripped_line) |
+ return unexpected |