Index: server/site_tests/kernel_BootMessagesServer/kernel_BootMessagesServer.py |
diff --git a/server/site_tests/kernel_BootMessagesServer/kernel_BootMessagesServer.py b/server/site_tests/kernel_BootMessagesServer/kernel_BootMessagesServer.py |
index 3e0dfea4e6587a0bd0153fd8167419dea436e1ed..d5804d10f13c12d1cd50c7c7dc2fb05e52976686 100644 |
--- a/server/site_tests/kernel_BootMessagesServer/kernel_BootMessagesServer.py |
+++ b/server/site_tests/kernel_BootMessagesServer/kernel_BootMessagesServer.py |
@@ -10,29 +10,46 @@ from autotest_lib.server import test |
_KERN_WARNING = 4 |
-_WHITELIST = [ |
+_WHITELIST_COMMON = [ |
+ r"used greatest stack depth: \d+ bytes left", |
"Kernel-defined memdesc doesn't match the one from EFI!", |
- "Warning only 1919MB will be used.", |
"Use a HIGHMEM enabled kernel.", |
- "pnp 00:01: io resource (0x164e-0x164f) overlaps 0000:00:1c.0 " |
- "BAR 7 (0x1000-0x1fff), disabling", |
- "i915 0000:00:02.0: Invalid ROM contents", |
- "[drm:intel_init_bios] *ERROR* VBT signature missing", |
- "usb 1-2: config 1 has an invalid interface number: 1 but max is 0", |
- "usb 1-2: config 1 has no interface number 0", |
- "device-mapper: verity: Failed to acquire device 'ROOT_DEV': -1", |
- "device-mapper: table: 254:0: verity: Device lookup failed", |
- "dm: starting dm-0 (vroot) failed", |
- "EXT3-fs warning: maximal mount count reached, running e2fsck is " |
- "recommended", |
+ "GPT: Use GNU Parted to correct GPT errors.", |
+ r"GPT:\d+ != \d+", |
+ "GPT:Alternate GPT header not at the end of the disk.", |
+ "GPT:Primary header thinks Alt. header is not at the end of the disk.", |
+ r"GPT:partition_entry_array_crc32 values don't match: 0x[\da-f]+ !=" |
+ " 0x[\da-f]+", |
+ r"Warning only \d+MB will be used.", |
+ "\[drm:intel_init_bios\] \*ERROR\* VBT signature missing", |
"i2c i2c-2: The new_device interface is still experimental and may change " |
"in a near future", |
- "industrialio: module is from the staging directory, " |
- "the quality is unknown, you have been warned.", |
- "tsl2563: module is from the staging directory, the quality is unknown, " |
- "you have been warned.", |
+ "i915 0000:00:02.0: Invalid ROM contents", |
+ "industrialio: module is from the staging directory, the quality is " |
+ "unknown, you have been warned.", |
+ "pnp 00:01: io resource \(0x164e-0x164f\) overlaps 0000:00:1c.0 " |
+ "BAR 7 \(0x1000-0x1fff\), disabling", |
+ r"sd \d:\d:\d:\d: \[sd[a-z]\] Assuming drive cache: write through", |
+ "tsl[\da-z]+: module is from the staging directory, the quality is " |
+ "unknown, you have been warned.", |
] |
+_WHITELIST_TARGETS = { |
+ 'Alex' : [ |
+ r"CE: hpet increasing min_delta_ns to \d+ nsec", |
+ r"Measured \d+ cycles TSC warp between CPUs, turning off TSC clock.", |
+ "pci 0000:01:00.0: BAR 6: no parent found for of device " |
+ "\[0xffff0000-0xffffffff]", |
+ "tsl258x 2-0029: taos_get_lux data not valid", |
+ "usb 1-2: config 1 has an invalid interface number: 1 but max is 0", |
+ "usb 1-2: config 1 has no interface number 0", |
+ ], |
+ 'Mario' : [ |
+ "chromeos_acpi: failed to retrieve MLST \(5\)", |
+ r"btusb_[a-z]{4}_complete: hci\d urb [\da-f]+ failed to resubmit \(1\)", |
+ ] |
+} |
+ |
""" Interesting fields from meminfo that we want to log |
If you add fields here, you must add them to the constraints |
in the control file |
@@ -106,6 +123,12 @@ class kernel_BootMessagesServer(test.test): |
assert host is not None, "The host must be specified." |
self._client = host |
+ |
+ # get the firmware identifier from Crossystem |
+ cs = utils.Crossystem(self._client) |
+ cs.init() |
+ fwid = cs.fwid().split('.')[0] |
+ |
dmesg_filename = os.path.join(self.resultsdir, 'dmesg') |
meminfo_filename = os.path.join(self.resultsdir, 'meminfo') |
perf_vals = {} |
@@ -114,7 +137,8 @@ class kernel_BootMessagesServer(test.test): |
meminfo = self._read_meminfo(meminfo_filename) |
self._parse_meminfo(meminfo, perf_vals) |
dmesg = self._read_dmesg(dmesg_filename) |
- unexpected = utils.check_raw_dmesg(dmesg, _KERN_WARNING, _WHITELIST) |
+ unexpected = utils.check_raw_dmesg( |
+ dmesg, _KERN_WARNING, _WHITELIST_COMMON + _WHITELIST_TARGETS[fwid]) |
if unexpected: |
f = open(os.path.join(self.resultsdir, 'dmesg.err'), 'w') |