summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2014-08-29 09:56:56 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2014-08-29 23:44:37 +0100
commit09296cd292889ef66dfb3d36d18ee37a83a1c809 (patch)
treec219ad24ef5c952e7769ba5cbb3e986e60bd34c1
parentc730c94a21f67f675b99df0e6bcbdac90801b79b (diff)
downloadpoky-09296cd292889ef66dfb3d36d18ee37a83a1c809.tar.gz
oeqa/pasrselogs: Improve the machine/string whitelist
Currently the whitelist is imcomplete, inaccurate and suffers duplication. These changes: * Add common groups of errors * Change to make the default whitelist clear * Correctly (or at least better) escape the regexp expressions * Add in missing machines to allow builds on the autobuilder to suceed (From OE-Core rev: 620aa5f9022335a9166b4d47bdcdce611ff5466a) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/lib/oeqa/runtime/parselogs.py64
1 files changed, 56 insertions, 8 deletions
diff --git a/meta/lib/oeqa/runtime/parselogs.py b/meta/lib/oeqa/runtime/parselogs.py
index 4d4a21b12f..604a29a21c 100644
--- a/meta/lib/oeqa/runtime/parselogs.py
+++ b/meta/lib/oeqa/runtime/parselogs.py
@@ -6,12 +6,53 @@ from oeqa.utils.decorators import *
6#in the future these lists could be moved outside of module 6#in the future these lists could be moved outside of module
7errors = ["error", "cannot", "can\'t", "failed"] 7errors = ["error", "cannot", "can\'t", "failed"]
8 8
9ignore_errors = { 'genericx86-64': ['mmci-pl18x', 'error changing net interface name', 'dma timeout'], \ 9common_errors = [
10 'genericx86': ['mmci-pl18x', 'error changing net interface name', 'dma timeout', 'AE_ALREADY_EXISTS'], \ 10 '(WW) warning, (EE) error, (NI) not implemented, (??) unknown.',
11 'emenlow': ['mmci-pl18x', 'error changing net interface name', 'dma timeout', 'AE_ALREADY_EXISTS', '\[drm:psb_do_init\] \*ERROR\* Debug is'], \ 11 'dma timeout',
12 'crownbay': ['mmci-pl18x', 'error changing net interface name', 'dma timeout', 'AE_ALREADY_EXISTS', 'Could not enable PowerButton event', 'probe of LNXPWRBN:00 failed with error -22'], \ 12 ]
13 'qemuarm': ['mmci-pl18x', 'error changing net interface name', 'dma timeout', 'mmci-pl18x: probe of fpga:[0-f][0-f] failed with error -38', 'wrong ELF class', 'Fast TSC calibration', 'AE_NOT_FOUND', 'Open ACPI failed', 'Failed to load module "glx"', '\(EE\) error', 'perfctr msr \(MSR c1 is 0\)', 'MMCONFIG information'], \ 13
14 'qemux86-64': ['mmci-pl18x', 'error changing net interface name', 'dma timeout', 'wrong ELF class', 'Fast TSC calibration', 'AE_NOT_FOUND', 'Open ACPI failed', 'Failed to load module "glx"', '\(EE\) error', 'perfctr msr \(MSR c1 is 0\)', 'MMCONFIG information'] } 14x86_common = [
15 '[drm:psb_do_init] *ERROR* Debug is',
16 'wrong ELF class',
17 'Could not enable PowerButton event',
18 'probe of LNXPWRBN:00 failed with error -22',
19] + common_errors
20
21qemux86_common = [
22 'Fast TSC calibration',
23 '_OSC failed (AE_NOT_FOUND); disabling ASPM',
24 'Open ACPI failed (/var/run/acpid.socket) (No such file or directory)',
25 'Failed to load module "vesa"',
26 'Failed to load module "modesetting"',
27 'Failed to load module "glx"',
28 'wrong ELF class',
29] + common_errors
30
31ignore_errors = {
32 'default' : common_errors,
33 'qemux86' : [
34 'Failed to access perfctr msr (MSR c1 is 0)',
35 "fail to add MMCONFIG information, can't access extended PCI configuration space under this bridge.",
36 ] + qemux86_common,
37 'qemux86-64' : qemux86_common,
38 'qemumips' : [
39 'Failed to load module "glx"',
40 ] + common_errors,
41 'qemuppc' : [
42 'PCI 0000:00 Cannot reserve Legacy IO [io 0x0000-0x0fff]',
43 'mode "640x480" test failed',
44 'Failed to load module "glx"',
45 ] + common_errors,
46 'qemuarm' : [
47 'mmci-pl18x: probe of fpga:05 failed with error -22',
48 'mmci-pl18x: probe of fpga:0b failed with error -22',
49 'Failed to load module "glx"'
50 ] + common_errors,
51 'emenlow' : x86_common,
52 'crownbay' : x86_common,
53 'genericx86' : x86_common,
54 'genericx86-64' : x86_common,
55}
15 56
16log_locations = ["/var/log/","/var/log/dmesg", "/tmp/dmesg_output.log"] 57log_locations = ["/var/log/","/var/log/dmesg", "/tmp/dmesg_output.log"]
17 58
@@ -73,9 +114,16 @@ class ParseLogsTest(oeRuntimeTest):
73 try: 114 try:
74 errorlist = ignore_errors[self.getMachine()] 115 errorlist = ignore_errors[self.getMachine()]
75 except KeyError: 116 except KeyError:
76 self.msg += "No ignore list found for this machine, using generic\n" 117 self.msg += "No ignore list found for this machine, using default\n"
77 errorlist = ignore_errors['genericx86'] 118 errorlist = ignore_errors['default']
78 for ignore_error in errorlist: 119 for ignore_error in errorlist:
120 ignore_error = ignore_error.replace("(", "\(")
121 ignore_error = ignore_error.replace(")", "\)")
122 ignore_error = ignore_error.replace("'", ".")
123 ignore_error = ignore_error.replace("?", "\?")
124 ignore_error = ignore_error.replace("[", "\[")
125 ignore_error = ignore_error.replace("]", "\]")
126 ignore_error = ignore_error.replace("*", "\*")
79 grepcmd += ignore_error+"|" 127 grepcmd += ignore_error+"|"
80 grepcmd = grepcmd[:-1] 128 grepcmd = grepcmd[:-1]
81 grepcmd += "\'" 129 grepcmd += "\'"