kernel_BootMessagesServer: initial add of new test
This tests verifies that there are no new kernel dmesg warnings.
BUG=12280
TEST=Verified PASS and FAIL.
Change-Id: Iff2b1f6de7ec435928170393ec85e7b8b9201b23
Review URL: http://codereview.chromium.org/6544018
diff --git a/client/bin/site_utils.py b/client/bin/site_utils.py
index 8eb52f4..b6cc26f 100644
--- a/client/bin/site_utils.py
+++ b/client/bin/site_utils.py
@@ -61,3 +61,28 @@
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