diff options
author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2014-08-29 09:56:56 +0000 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2014-08-29 23:44:37 +0100 |
commit | 09296cd292889ef66dfb3d36d18ee37a83a1c809 (patch) | |
tree | c219ad24ef5c952e7769ba5cbb3e986e60bd34c1 | |
parent | c730c94a21f67f675b99df0e6bcbdac90801b79b (diff) | |
download | poky-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.py | 64 |
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 |
7 | errors = ["error", "cannot", "can\'t", "failed"] | 7 | errors = ["error", "cannot", "can\'t", "failed"] |
8 | 8 | ||
9 | ignore_errors = { 'genericx86-64': ['mmci-pl18x', 'error changing net interface name', 'dma timeout'], \ | 9 | common_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'] } | 14 | x86_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 | |||
21 | qemux86_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 | |||
31 | ignore_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 | ||
16 | log_locations = ["/var/log/","/var/log/dmesg", "/tmp/dmesg_output.log"] | 57 | log_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 += "\'" |