655
|
1 |
# Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies).
|
|
2 |
# All rights reserved.
|
|
3 |
# This component and the accompanying materials are made available
|
|
4 |
# under the terms of "Eclipse Public License v1.0"
|
|
5 |
# which accompanies this distribution, and is available
|
|
6 |
# at the URL "http://www.eclipse.org/legal/epl-v10.html".
|
|
7 |
#
|
|
8 |
# Initial Contributors:
|
|
9 |
# Nokia Corporation - initial contribution.
|
|
10 |
#
|
|
11 |
# Contributors:
|
|
12 |
#
|
|
13 |
# Description:
|
|
14 |
# summarise an automated build log
|
|
15 |
# documentation available in generic\tools\e32toolp\docs\scanlog.txt
|
|
16 |
# please update the documentation when modifying this file
|
|
17 |
#
|
|
18 |
#
|
|
19 |
|
|
20 |
package Scanlog;
|
|
21 |
|
|
22 |
use strict;
|
|
23 |
use Carp;
|
|
24 |
|
|
25 |
# CheckForErrors
|
|
26 |
#
|
|
27 |
# Inputs
|
|
28 |
# $line - Line of text to check
|
|
29 |
#
|
|
30 |
# Outputs
|
|
31 |
# Return true for presence of error in the line
|
|
32 |
# Return false for no error found
|
|
33 |
#
|
|
34 |
# Description
|
|
35 |
# This function matches the input against a known set of Error Strings
|
|
36 |
sub CheckForErrors
|
|
37 |
{
|
|
38 |
my ($line) = @_;
|
|
39 |
|
|
40 |
# FLEXlm license server errors
|
|
41 |
if ($line =~ /FLEXlm error:/)
|
|
42 |
{
|
|
43 |
return 1;
|
|
44 |
}
|
|
45 |
|
|
46 |
# BLDMAKE ERROR: Can't find "\INTERNET\GROUP\BLD.INF"
|
|
47 |
# ABLD ERROR: Project Bldmake directory "\EPOC32\BUILD\APP-FRAMEWORK\UIKLAF\GROUP\" does not exist
|
|
48 |
|
|
49 |
if ($line =~ /(ABLD|BLDMAKE) ERROR:/)
|
|
50 |
{
|
|
51 |
return 1;
|
|
52 |
}
|
|
53 |
|
|
54 |
# "\WAPENG\GROUP\BLD.INF" FATAL ERROR(S):
|
|
55 |
|
|
56 |
if ($line =~ /FATAL ERROR\(S\):/)
|
|
57 |
{
|
|
58 |
return 1;
|
|
59 |
}
|
|
60 |
|
|
61 |
|
|
62 |
# NMAKE : fatal error U1077: 'C:\apps\DevStudio\VC\BIN\NMAKE.EXE' : return code '0x2'
|
|
63 |
|
|
64 |
if ($line =~ /fatal error U1077/)
|
|
65 |
{
|
|
66 |
return 1;
|
|
67 |
}
|
|
68 |
|
|
69 |
# match all falal error
|
|
70 |
if ($line =~ /^fatal error/i)
|
|
71 |
{
|
|
72 |
return 1;
|
|
73 |
}
|
|
74 |
|
|
75 |
# NMAKE : warning U4010: 'FINALCOPYFXCM' : build failed; /K specified, continuing ...
|
|
76 |
|
|
77 |
if ($line =~ /warning U4010/)
|
|
78 |
{
|
|
79 |
return 1;
|
|
80 |
}
|
|
81 |
|
|
82 |
# make: *** [SAVESPACECONVTOOL] Error 2
|
|
83 |
|
|
84 |
if ($line =~ /make(\.exe)?(\[\d+\])?: \*\*\* /)
|
|
85 |
{
|
|
86 |
return 1;
|
|
87 |
}
|
|
88 |
|
|
89 |
# make: Target `SAVESPACE' not remade because of errors.
|
|
90 |
|
|
91 |
if ($line =~ /make(\.exe)?(\[\d+\])?: .* not remade /)
|
|
92 |
{
|
|
93 |
return 1;
|
|
94 |
}
|
|
95 |
|
|
96 |
# "..\UCRT\Ecrt0.cpp", line 24: Error: #390: function "main" may not be called or have its address taken
|
|
97 |
# "EUSER\\epoc\\arm\\Uc_i64.cia", line 16: Error: A1356W: Instruction not supported on targeted CPU
|
|
98 |
|
|
99 |
if ($line =~ /"(.*)", line (\d+): (Error: +(.\d+.*?):.*)$/)
|
|
100 |
{
|
|
101 |
return 1;
|
|
102 |
}
|
|
103 |
|
|
104 |
# Fatal error: Internal fault: 0x5c6e (200322) in _ZN17CContactLocalView20HandleDatabaseEventLE23TContactDbObserverEvent
|
|
105 |
|
|
106 |
if ($line =~ /error: ((Internal fault):.*)$/)
|
|
107 |
{
|
|
108 |
return 1;
|
|
109 |
}
|
|
110 |
|
|
111 |
# Exception: STATUS_ACCESS_VIOLATION
|
|
112 |
# networkPrim.c
|
|
113 |
# 0 [main] make 2020 handle_exceptions: Exception: STATUS_ACCESS_VIOLATION
|
|
114 |
# 265 [main] make 2020 open_stackdumpfile: Dumping stack trace to make.exe.stackdump
|
|
115 |
if ($line =~ /Exception: STATUS_ACCESS_VIOLATION/)
|
|
116 |
{
|
|
117 |
return 1;
|
|
118 |
}
|
|
119 |
|
|
120 |
# MSGBROWSER.WINSCW:3233: target `\EPOC32\RELEASE\WINSCW\UDEB\Z\System\Data' given more than once in the same rule.
|
|
121 |
if ($line =~ /target .* given more than once in the same rule/)
|
|
122 |
{
|
|
123 |
return 1;
|
|
124 |
}
|
|
125 |
|
|
126 |
# ERROR: <anything>
|
|
127 |
if ($line =~ /^ERROR: /m)
|
|
128 |
{
|
|
129 |
return 1;
|
|
130 |
}
|
|
131 |
|
|
132 |
# ERROR (for CDB errors)
|
|
133 |
if ($line =~ /^ERROR\t/)
|
|
134 |
{
|
|
135 |
return 1;
|
|
136 |
}
|
|
137 |
|
|
138 |
# elf2e32 : Error: E1035: Undefined Symbol blah blah blah
|
|
139 |
# elf2e32 : Error: E1036: Symbol blah blah blah
|
|
140 |
if ($line =~ /^\s*elf2e32\s*:\s*Error\s*:\s*/i)
|
|
141 |
{
|
|
142 |
return 1;
|
|
143 |
}
|
|
144 |
|
|
145 |
# Not already returned so return false
|
|
146 |
return 0;
|
|
147 |
}
|
|
148 |
|
|
149 |
# CheckForRemarks
|
|
150 |
#
|
|
151 |
# Inputs
|
|
152 |
# $iLine - Line of text to check
|
|
153 |
#
|
|
154 |
# Outputs
|
|
155 |
# Return true for presence of Warning in the line according to the warning codes
|
|
156 |
# defined in the checkList array
|
|
157 |
# The list is the current known EABI warnings which are considered to be
|
|
158 |
# Remarks
|
|
159 |
# Return false for no Warning found
|
|
160 |
#
|
|
161 |
# Description
|
|
162 |
# This function matches the input against a known set of Warning Strings defined
|
|
163 |
# in the array CheckList
|
|
164 |
my %RVCT_checklist=(
|
|
165 |
|
|
166 |
|
|
167 |
# Warnings to be fixed if deemed safe
|
|
168 |
|
|
169 |
"#111-D" => "statement is unreachable",
|
|
170 |
"#186-D" => "pointless comparison of unsigned integer with zero",
|
|
171 |
"#236-D" => "controlling expression is constant",
|
|
172 |
"#494-D" => "declaring a void parameter list with a typedef is nonstandard",
|
|
173 |
"C2874W" => "xxx may be used before set",
|
|
174 |
"C3017W" => "xxx may be used before set",
|
|
175 |
|
|
176 |
# Warnings not required to be fixed, too risky
|
|
177 |
|
|
178 |
"#1293-D" => "assignment in condition",
|
|
179 |
|
|
180 |
# Warnings not required to be fixed, too big a workload
|
|
181 |
|
|
182 |
"#177-D" => "variable abc was declared but never referenced",
|
|
183 |
"#550-D" => "variable xxx was set but never used",
|
|
184 |
"#830-D" => "function \"XXX::operator new(xyz)\" has no corresponding operator delete (to be called if an exception is thrown during initialization of an allocated object)",
|
|
185 |
"L6331W" => "No eligible global symbol matches pattern _ll_cmpeq.",
|
|
186 |
);
|
|
187 |
|
|
188 |
sub CheckForRemarks
|
|
189 |
{
|
|
190 |
my ($line) = @_;
|
|
191 |
|
|
192 |
# "..\UCRT\Ecrt0.cpp", line 12: Warning: #335-D: linkage specification is not allowed
|
|
193 |
# "s16c.o(.directive)", line 70: Warning: L6331W: s16c.o(.directive)(line 70, col 14) No eligible global symbol matches pattern _fsqrt.
|
|
194 |
if ($line =~ /".*", line \d+: Warning: +(.\d+.*?):/)
|
|
195 |
{
|
|
196 |
# Some compiler warnings about about style rather than substance. The RVCT
|
|
197 |
# compiler warnings are easily identified, and the RVCT_checklist above
|
|
198 |
# classifies the warnings present in the Symbian OS source code which are
|
|
199 |
# not currently considered to be violations of the "zero warnings" policy.
|
|
200 |
# It is the responsibility of the Master Codeline Forum to manage this list,
|
|
201 |
# as part of the "zero warnings" policy.
|
|
202 |
return defined($RVCT_checklist{$1});
|
|
203 |
}
|
|
204 |
|
|
205 |
# Command line warning D4025 : overriding '/O1' with '/Od'
|
|
206 |
if ($line =~ /Command line warning D4025 : /)
|
|
207 |
{
|
|
208 |
# This could be fixed by more subtle code in cl_win.pm
|
|
209 |
# which avoids putting both /O1 and /Od on the command line
|
|
210 |
return 1;
|
|
211 |
}
|
|
212 |
|
|
213 |
# REMARK:
|
|
214 |
if( $line =~ /^REMARK: /m)
|
|
215 |
{
|
|
216 |
return 1;
|
|
217 |
}
|
|
218 |
|
|
219 |
# Windows Event log warning from GNU Make - Treat as remark for the time being.
|
|
220 |
if ($line =~ /^EventType:\s+Error\s+Source:\s+GNU\s+Make/)
|
|
221 |
{
|
|
222 |
return 1;
|
|
223 |
}
|
|
224 |
|
|
225 |
# This is used convert what would be picked up as warning in to a remark, as remarks are check for first
|
|
226 |
# It also returns an additional value of the number of lines to slurp up to get the so the multi line
|
|
227 |
# warning (remark) is only seen once.
|
|
228 |
|
|
229 |
# ..\SETEL\ET_PHONE.CPP:19: warning: cannot find matching deallocation function
|
|
230 |
# ..\SETEL\ET_PHONE.CPP:19: warning: for 'CReqEntry'
|
|
231 |
if ($line =~ /:\d+: warning: cannot find matching deallocation function/)
|
|
232 |
{
|
|
233 |
return 1,1;
|
|
234 |
}
|
|
235 |
|
|
236 |
# fix to get scanlog catch the output of #pragma message (...) as a remark
|
|
237 |
#Codewarrior 3.0 doesn't output line number for #pragma message, whereas 3.1.1 outputs line number.
|
|
238 |
#The regexp below matches both the cases
|
|
239 |
if( $line =~ /((:\d+)*: note: )/)
|
|
240 |
{
|
|
241 |
return 1;
|
|
242 |
}
|
|
243 |
|
|
244 |
# getrel failed.
|
|
245 |
# Error: testtools_stat_desktop DP00391_DeveloperProduct not found
|
|
246 |
if( $line =~ /^Error:.+not found/)
|
|
247 |
{
|
|
248 |
return 1;
|
|
249 |
}
|
|
250 |
# Not already returned so return false
|
|
251 |
return 0;
|
|
252 |
|
|
253 |
}
|
|
254 |
|
|
255 |
# CheckForWarnings
|
|
256 |
#
|
|
257 |
# Inputs
|
|
258 |
# $iLine - Line of text to check
|
|
259 |
#
|
|
260 |
# Outputs
|
|
261 |
# Return true for presence of Warning in the line
|
|
262 |
# Return false for no Warning found
|
|
263 |
#
|
|
264 |
# Description
|
|
265 |
# This function matches the input against a known set of Warning Strings
|
|
266 |
sub CheckForWarnings
|
|
267 |
{
|
|
268 |
my ($line) = @_;
|
|
269 |
|
|
270 |
# linkfouraif.rss(25) : Warning: (047) the STRUCT that this resource is based on contains a
|
|
271 |
|
|
272 |
if ($line =~ /\\\\(.*?)\(\d+\)\s:\sWarning:\s\(\d+\)/)
|
|
273 |
|
|
274 |
{
|
|
275 |
|
|
276 |
return 1;
|
|
277 |
}
|
|
278 |
|
|
279 |
|
|
280 |
# RCOMP Warning: Unmatched enum name used as simple initialiser
|
|
281 |
|
|
282 |
if ($line =~ /Warning: Unmatched/i)
|
|
283 |
{
|
|
284 |
return 1;
|
|
285 |
}
|
|
286 |
|
|
287 |
|
|
288 |
# BLDMAKE WARNING: read-only ABLD.BAT will be overwritten
|
|
289 |
|
|
290 |
if ($line =~ /^BLDMAKE WARNING:/)
|
|
291 |
{
|
|
292 |
return 1;
|
|
293 |
}
|
|
294 |
|
|
295 |
|
|
296 |
# \FORM\GROUP\BLD.INF WARNING(S):
|
|
297 |
# \FORM\GROUP\BLD.INF(28) : Exported source file \form\group\tagma.rtf not found
|
|
298 |
|
|
299 |
if ($line =~ /WARNING\(S\)/)
|
|
300 |
{
|
|
301 |
return 1;
|
|
302 |
}
|
|
303 |
|
|
304 |
# WARNING: Can't find following headers in User or System Include Paths
|
|
305 |
# WARNING: Frozen .DEF file \CSTUBSHELL\BMARM\STUBRUNU.DEF not found - project not frozen
|
|
306 |
# WARNING: Not attempting to create any import libraries.
|
|
307 |
# WARNING: rls_string STRING_r_ssl_error_ssl_AlertNoRenegotiation; either has incorrect syntax or no value
|
|
308 |
|
|
309 |
if ($line =~ /^WARNING: /m)
|
|
310 |
{
|
|
311 |
return 1;
|
|
312 |
}
|
|
313 |
|
|
314 |
# \BIOMSG\BITSINC\BioTestUtils.inl(4) : warning C4100: 'iOperation' : unreferenced formal parameter
|
|
315 |
|
|
316 |
if ($line =~ /\(\d+\) : warning C/)
|
|
317 |
{
|
|
318 |
return 1;
|
|
319 |
}
|
|
320 |
|
|
321 |
# LINK : warning LNK4005: no objects used from library \EPOC32\RELEASE\WINS\UDEB\ESTOR.LIB
|
|
322 |
|
|
323 |
if ($line =~ /LINK : warning/)
|
|
324 |
{
|
|
325 |
return 1;
|
|
326 |
}
|
|
327 |
|
|
328 |
# ..\\..\\BAFL\\SRC\\Bacline.cpp:68: warning: value computed is not used
|
|
329 |
|
|
330 |
if ($line =~ /:\d+: warning:/)
|
|
331 |
{
|
|
332 |
return 1;
|
|
333 |
}
|
|
334 |
|
|
335 |
# "..\UCRT\Ecrt0.cpp", line 12: Warning: #335-D: linkage specification is not allowed
|
|
336 |
# "s16c.o(.directive)", line 70: Warning: L6331W: s16c.o(.directive)(line 70, col 14) No eligible global symbol matches pattern _fsqrt.
|
|
337 |
|
|
338 |
if ($line =~ /"(.*)", line (\d+): (Warning: +(.\d+.*?):.*)$/)
|
|
339 |
{
|
|
340 |
return 1;
|
|
341 |
}
|
|
342 |
|
|
343 |
# /../../kvm/VmEPOC/src/emuNetDebuggerTransport.c
|
|
344 |
# ### mwccsym2 Usage Warning:
|
|
345 |
# # Specified directory 'Z:/epoc32/include/libcnot' not found
|
|
346 |
# ... t_winscw_udeb_cw_obj_g/serialDebuggerTransport.o
|
|
347 |
# Linking lib ... winscw_udeb_cw_bin/tkmidp20_kvm.lib
|
|
348 |
|
|
349 |
if ($line =~ /Usage Warning:/)
|
|
350 |
{
|
|
351 |
return 1;
|
|
352 |
}
|
|
353 |
# mwld.exe: No symbols were exported
|
|
354 |
|
|
355 |
if ($line =~ /mwld.exe:/)
|
|
356 |
{
|
|
357 |
return 1;
|
|
358 |
}
|
|
359 |
|
|
360 |
# === target == tools\e32tools
|
|
361 |
# make -r -k -f "\EPOC32\BUILD\TOOLS\E32TOOLS\GROUP\TOOLS.make" SAVESPACE CFG=REL VERBOSE=-s KEEPGOING=-k
|
|
362 |
# nmake -nologo -x - -s -k -f "\EPOC32\BUILD\TOOLS\E32TOOLS\GROUP\ERUNTEST\TOOLS\ERUNTEST.TOOLS" REL CLEANBUILDREL
|
|
363 |
# Command line warning D4002 : ignoring unknown option '/Op'
|
|
364 |
|
|
365 |
if ($line =~ /^Command line warning/m)
|
|
366 |
{
|
|
367 |
return 1;
|
|
368 |
}
|
|
369 |
|
|
370 |
# MAKEDEF WARNING: 1 export(s) not yet Frozen:
|
|
371 |
|
|
372 |
if ($line =~ /^MAKEDEF WARNING:/m)
|
|
373 |
{
|
|
374 |
return 1;
|
|
375 |
}
|
|
376 |
|
|
377 |
# Comment from PETRAN which is actually a warning rather than an error
|
|
378 |
# ERROR: bad relocation: [00004f60] = 00000f68
|
|
379 |
|
|
380 |
if ($line =~ /ERROR: bad relocation:/)
|
|
381 |
{
|
|
382 |
return 1;
|
|
383 |
}
|
|
384 |
|
|
385 |
# 1 warning
|
|
386 |
|
|
387 |
if ($line =~ /^(\d+) warning/m)
|
|
388 |
{
|
|
389 |
return 1;
|
|
390 |
}
|
|
391 |
|
|
392 |
# Windows Event log warning from Sophos Antivirus Scan
|
|
393 |
if ($line =~ /^EventType:\s+Error\s+Source:\s+SweepNT/)
|
|
394 |
{
|
|
395 |
return 1;
|
|
396 |
}
|
|
397 |
|
|
398 |
# WARN (for CDB warnings)
|
|
399 |
|
|
400 |
if ($line =~ /^WARN\t/)
|
|
401 |
{
|
|
402 |
return 1;
|
|
403 |
}
|
|
404 |
|
|
405 |
#elf2e32 : Warning: W1041: Unsupported Target Type 'PLUGIN3'.
|
|
406 |
#Elf2e32: Warning: New Symbol _Z24ImplementationGroupProxyRi found, export(s) not yet Frozen
|
|
407 |
if ($line =~ /^\s*elf2e32\s*:\s*Warning\s*:\s*/i)
|
|
408 |
{
|
|
409 |
return 1;
|
|
410 |
}
|
|
411 |
|
|
412 |
#Can't locate FileRead.pm in @INC (@INC contains:.......
|
|
413 |
if ($line =~ /^Can't locate (.*) in \@INC/ )
|
|
414 |
{
|
|
415 |
return 1;
|
|
416 |
}
|
|
417 |
|
|
418 |
# Not already returned so return false
|
|
419 |
return 0;
|
|
420 |
}
|
|
421 |
|
|
422 |
# CheckForIgnore
|
|
423 |
#
|
|
424 |
# Inputs
|
|
425 |
# $iLine - Line of text to check
|
|
426 |
#
|
|
427 |
# Outputs
|
|
428 |
# Return true if line can be ignored
|
|
429 |
# Return false if line cannot be ignored
|
|
430 |
#
|
|
431 |
# Description
|
|
432 |
# This function matches the input against a known set of Warning Strings which can be ignored
|
|
433 |
sub CheckForIgnore
|
|
434 |
{
|
|
435 |
my ($line) = @_;
|
|
436 |
|
|
437 |
# "..\\..\\..\\E32\\nkern\\arm\\Ncsched.cia", line 617: Warning: A1495E: Target of branch is a data address
|
|
438 |
if ($line =~ /"(.*)", line (\d+): Warning: A1495E: Target of branch is a data address/)
|
|
439 |
{
|
|
440 |
return 1;
|
|
441 |
}
|
|
442 |
|
|
443 |
# BLDMAKE WARNING: ARMV7 requires at least RVCT 3.1.674.
|
|
444 |
# It's not useful to heed this warning, as we're already on control of which platforms we're going to build
|
|
445 |
if ($line =~ /^BLDMAKE WARNING: ARMV\d requires at least RVCT /)
|
|
446 |
{
|
|
447 |
return 1;
|
|
448 |
}
|
|
449 |
|
|
450 |
# Not already returned so return false
|
|
451 |
return 0;
|
|
452 |
}
|
|
453 |
|
|
454 |
|
|
455 |
|
|
456 |
|
|
457 |
# CheckForNotBuilt
|
|
458 |
#
|
|
459 |
# Inputs
|
|
460 |
# $iLine - Line of text to check
|
|
461 |
#
|
|
462 |
# Outputs
|
|
463 |
# Return true for presence of Warning in the line
|
|
464 |
# Return false for no Warning found
|
|
465 |
# $iNotBuilt - Name of thing not built
|
|
466 |
#
|
|
467 |
# Description
|
|
468 |
# This function matches the input against a known set of Strings for things not built
|
|
469 |
sub CheckForNotBuilt
|
|
470 |
{
|
|
471 |
my ($line) = @_;
|
|
472 |
|
|
473 |
# MISSING COMPONENT alp2csh: can't find tools\sdk_eng\alp2csh\group\bld.inf
|
|
474 |
|
|
475 |
if ($line =~ /^MISSING COMPONENT (.*):.* find (.*)$/m)
|
|
476 |
{
|
|
477 |
return (1,$2);
|
|
478 |
}
|
|
479 |
|
|
480 |
# MISSING: \EPOC32\RELEASE\WINS\UDEB\OPLR.DLL
|
|
481 |
|
|
482 |
if ($line =~ /^MISSING: (\S+)/m)
|
|
483 |
{
|
|
484 |
return (1,$1);
|
|
485 |
}
|
|
486 |
|
|
487 |
# Not already returned so return false
|
|
488 |
return 0;
|
|
489 |
}
|
|
490 |
|
|
491 |
# CheckForMissing
|
|
492 |
#
|
|
493 |
# Inputs
|
|
494 |
# $iLine - Line of text to check
|
|
495 |
#
|
|
496 |
# Outputs
|
|
497 |
# Return true for presence of Warning in the line
|
|
498 |
# Return false for no Warning found
|
|
499 |
# $iNotBuilt - Name of thing not built
|
|
500 |
#
|
|
501 |
# Description
|
|
502 |
# This function matches the input against a known set of Strings for things not built
|
|
503 |
sub CheckForMissing
|
|
504 |
{
|
|
505 |
my ($line) = @_;
|
|
506 |
|
|
507 |
if ($line =~ /fatal error U1073: .* make '(.*)'/)
|
|
508 |
{
|
|
509 |
return (1,$1);
|
|
510 |
}
|
|
511 |
|
|
512 |
# Not already returned so return false
|
|
513 |
return 0;
|
|
514 |
}
|
|
515 |
|
|
516 |
# CheckForRealTimeErrors
|
|
517 |
#
|
|
518 |
# Inputs
|
|
519 |
# $iLine - Line of text to check
|
|
520 |
#
|
|
521 |
# Outputs
|
|
522 |
# Return true for presence of a Real Time Error in the line
|
|
523 |
# plus string detailing error (if available)
|
|
524 |
# Return false for no Real Time Error found
|
|
525 |
#
|
|
526 |
# Description
|
|
527 |
# This function matches the input against a known set of Error Strings
|
|
528 |
# At the time of adding this subroutine, such error strings were only reported by P4GetSource.pm
|
|
529 |
# Scripts calling this subroutine should note that, for example, lines beginning with "ERROR:" will
|
|
530 |
# also be considered to be errors by subroutine CheckForErrors, above.
|
|
531 |
sub CheckForRealTimeErrors
|
|
532 |
{
|
|
533 |
my ($line) = @_;
|
|
534 |
|
|
535 |
if ($line =~ /^Error:\s*RealTimeBuild:\s*(.*)/mi)
|
|
536 |
{
|
|
537 |
return (1,$1); # Return True plus any other text on line
|
|
538 |
}
|
|
539 |
|
|
540 |
# Not already returned so return False
|
|
541 |
return 0;
|
|
542 |
}
|
|
543 |
|
|
544 |
|
|
545 |
|
|
546 |
# CheckForMigrationNotes
|
|
547 |
#
|
|
548 |
# Inputs
|
|
549 |
# $iLine - Line of text to check
|
|
550 |
#
|
|
551 |
# Outputs
|
|
552 |
# Return true for presence of Migration_Note in the line
|
|
553 |
# Return false for no Migration_Note found
|
|
554 |
#
|
|
555 |
# Description
|
|
556 |
# This function matches the input against a known set of Migration_Note Strings
|
|
557 |
|
|
558 |
my %migration_list=(
|
|
559 |
# Warnings to be fixed over longer period as they may indicate errors in code
|
|
560 |
|
|
561 |
"#61-D" => "integer operation result is out of range",
|
|
562 |
"#68-D" => "integer conversion resulted in a change of sign",
|
|
563 |
"#108-D" => "signed bit field of length 1",
|
|
564 |
"#128-D" => "loop is not reachable from preceding code",
|
|
565 |
"#191-D" => "type qualifier is meaningless on cast type",
|
|
566 |
"A1495E" => "Target of branch is a data address",
|
|
567 |
"A1608W" => "MOV pc,<rn> instruction used, but BX <rn> is preferred",
|
|
568 |
"A1745W" => "This register combination is DEPRECATED",
|
|
569 |
"A1764W" => "SWP instructions are deprecated in architecture ARMv6 and above",
|
|
570 |
"A1786W" => "This instruction using SP is deprecated in ARMv7",
|
|
571 |
"A1788W" => "Explicit use of PC in this instruction is deprecated",
|
|
572 |
"#1446-D" => "non-POD class type passed through ellipsis",
|
|
573 |
"#1559-D" => "dllexport/dllimport conflict with \"foo\"; dllexport assumed",
|
|
574 |
"#1566-D" => "dllexport/dllimport conflict with \"foo\"; dllimport/dllexport dropped"
|
|
575 |
);
|
|
576 |
|
|
577 |
|
|
578 |
sub CheckForMigrationNotes
|
|
579 |
{
|
|
580 |
my ($line) = @_;
|
|
581 |
|
|
582 |
if ($line =~ /".*", line \d+: Warning: +(.\d+.*?):/)
|
|
583 |
{
|
|
584 |
# Some compiler warnings may indicate errors that should be fixed when a
|
|
585 |
# migration to a new compiler has occured. These may have been long standing
|
|
586 |
# issues in the OS and whilst not currently considered to be violations of the
|
|
587 |
#"zero warnings" policy should be fixed in any new development work.
|
|
588 |
# It is the responsibility of the Master Codeline Forum to manage this list.
|
|
589 |
return defined($migration_list{$1});
|
|
590 |
}
|
|
591 |
|
|
592 |
|
|
593 |
if ($line =~ m/^MIGRATION_NOTE:\s*(.*)/i)
|
|
594 |
{
|
|
595 |
return (1,$1);
|
|
596 |
}
|
|
597 |
|
|
598 |
if ($line =~ m/^WARNING: Working Directory: "(.*)\\sf\\app\\techview\\buildverification\\smoketest\\(.*)" Executing: "abld.bat (.*)":/i)
|
|
599 |
{
|
|
600 |
return 1;
|
|
601 |
}
|
|
602 |
|
|
603 |
return 0;
|
|
604 |
}
|
|
605 |
|
|
606 |
|
|
607 |
# CheckForAdvisoryNotes
|
|
608 |
#
|
|
609 |
# Inputs
|
|
610 |
# $iLine - Line of text to check
|
|
611 |
#
|
|
612 |
# Outputs
|
|
613 |
# Return true if the input matches against a known set of Advisory_Note strings defined in the advisory_list
|
|
614 |
# Return false for no Advisory_Note found
|
|
615 |
#
|
|
616 |
# Description
|
|
617 |
# This function matches the input against a known set of Advisory_Note Strings defined
|
|
618 |
# in the array CheckList
|
|
619 |
my %Advisory_checklist=(
|
|
620 |
# Warnings categorized as advisory notes
|
|
621 |
'M:/clean-src/os/unref/orphan/comtv\\toolkit ' => 0,
|
|
622 |
'M:/clean-src/os/unref/orphan/comtv\\commsui ' => 0,
|
|
623 |
'M:/clean-src/os/unref/orphan/comtv\\apps ' => 0,
|
|
624 |
'M:/clean-src/os/unref/orphan/comtt/edg\\group ' => 0,
|
|
625 |
'M:/clean-src/os/unref/orphan/comtt\\edg ' => 0,
|
|
626 |
'M:/clean-src/os/unref/orphan/comgen/openenv/oetools/docs\\test ' => 0,
|
|
627 |
'M:/clean-src/os/unref/orphan/comgen\\networking ' => 0,
|
|
628 |
'M:/clean-src/os/unref/orphan/cedprd/tools\\baseline ' => 0,
|
|
629 |
'M:/clean-src/os/unref/orphan/cedprd\\tools ' => 0,
|
|
630 |
'M:/clean-src/os/unref/orphan/cedprd/SuppKit/XSRproduct\\pkgdef ' => 0,
|
|
631 |
'M:/clean-src/os/unref/orphan/cedprd/SuppKit/XSRproduct\\Messages ' => 0,
|
|
632 |
'M:/clean-src/os/unref/orphan/cedprd/SuppKit/XSRproduct\\group ' => 0,
|
|
633 |
'M:/clean-src/os/unref/orphan/cedprd/SuppKit/XSRproduct/com/symbian/sdk/productinstaller\\graphics ' => 0,
|
|
634 |
'M:/clean-src/os/unref/orphan/cedprd/SuppKit/Wi-Fiproduct\\pkgdef ' => 0,
|
|
635 |
'M:/clean-src/os/unref/orphan/cedprd/SuppKit/Wi-Fiproduct\\Messages ' => 0,
|
|
636 |
'M:/clean-src/os/unref/orphan/cedprd/SuppKit/Wi-Fiproduct\\group ' => 0,
|
|
637 |
'M:/clean-src/os/unref/orphan/cedprd/SuppKit/Wi-Fiproduct/com/symbian/sdk/productinstaller\\graphics ' => 0,
|
|
638 |
'M:/clean-src/os/unref/orphan/cedprd/SuppKit/sdcard4cproduct\\pkgdef ' => 0,
|
|
639 |
'M:/clean-src/os/unref/orphan/cedprd/SuppKit/sdcard4cproduct\\Messages ' => 0,
|
|
640 |
'M:/clean-src/os/unref/orphan/cedprd/SuppKit/sdcard4cproduct\\group ' => 0,
|
|
641 |
'M:/clean-src/os/unref/orphan/cedprd/SuppKit/sdcard4cproduct/com/symbian/sdk/productinstaller\\graphics ' => 0,
|
|
642 |
'M:/clean-src/os/unref/orphan/cedprd/SuppKit/sdcard3cproduct\\pkgdef ' => 0,
|
|
643 |
'M:/clean-src/os/unref/orphan/cedprd/SuppKit/sdcard3cproduct\\Messages ' => 0,
|
|
644 |
'M:/clean-src/os/unref/orphan/cedprd/SuppKit/sdcard3cproduct\\group ' => 0,
|
|
645 |
'M:/clean-src/os/unref/orphan/cedprd/SuppKit/sdcard3cproduct/com/symbian/sdk/productinstaller\\graphics ' => 0,
|
|
646 |
'M:/clean-src/os/unref/orphan/cedprd/SuppKit/midp2.0product\\pkgdef ' => 0,
|
|
647 |
'M:/clean-src/os/unref/orphan/cedprd/SuppKit/midp2.0product\\Messages ' => 0,
|
|
648 |
'M:/clean-src/os/unref/orphan/cedprd/SuppKit/midp2.0product\\group ' => 0,
|
|
649 |
'M:/clean-src/os/unref/orphan/cedprd/SuppKit/midp2.0product/com/symbian/sdk/productinstaller\\graphics ' => 0,
|
|
650 |
'M:/clean-src/os/unref/orphan/cedprd/SuppKit/javaproduct\\pkgdef ' => 0,
|
|
651 |
'M:/clean-src/os/unref/orphan/cedprd/SuppKit/javaproduct\\Messages ' => 0,
|
|
652 |
'M:/clean-src/os/unref/orphan/cedprd/SuppKit/javaproduct\\group ' => 0,
|
|
653 |
'M:/clean-src/os/unref/orphan/cedprd/SuppKit/javaproduct/com/symbian/sdk/productinstaller\\graphics ' => 0,
|
|
654 |
'M:/clean-src/os/unref/orphan/cedprd/SuppKit/cldchiproduct\\pkgdef ' => 0,
|
|
655 |
'M:/clean-src/os/unref/orphan/cedprd/SuppKit/cldchiproduct\\Messages ' => 0,
|
|
656 |
'M:/clean-src/os/unref/orphan/cedprd/SuppKit/cldchiproduct\\group ' => 0,
|
|
657 |
'M:/clean-src/os/unref/orphan/cedprd/SuppKit/cldchiproduct/com/symbian/sdk/productinstaller\\graphics ' => 0,
|
|
658 |
'M:/clean-src/os/unref/orphan/cedprd/SuppKit/cldchi1.1product\\pkgdef ' => 0,
|
|
659 |
'M:/clean-src/os/unref/orphan/cedprd/SuppKit/cldchi1.1product\\Messages ' => 0,
|
|
660 |
'M:/clean-src/os/unref/orphan/cedprd/SuppKit/cldchi1.1product\\group ' => 0,
|
|
661 |
'M:/clean-src/os/unref/orphan/cedprd/SuppKit/cldchi1.1product/com/symbian/sdk/productinstaller\\graphics ' => 0,
|
|
662 |
'M:/clean-src/os/unref/orphan/cedprd/DevKit\\SourceDefinitions ' => 0,
|
|
663 |
'M:/clean-src/os/unref/orphan/cedprd/DevKit\\PackageDefinitions ' => 0,
|
|
664 |
'M:/clean-src/os/unref/orphan/cedprd\\DevKit ' => 0,
|
|
665 |
'M:/clean-src/os/buildtools/srcanamdw_os/programchecker/TestData/UnitTests/PCT09_Test\\src ' => 0,
|
|
666 |
'M:/clean-src/os/buildtools/srcanamdw_os/programchecker/TestData/UnitTests/PCT09_Test\\results ' => 0,
|
|
667 |
'M:/clean-src/os/buildtools/srcanamdw_os/programchecker/TestData/UnitTests/PCT09_Test\\group ' => 0,
|
|
668 |
'M:/clean-src/os/buildtools/srcanamdw_os/programchecker/TestData/UnitTests/PCT08_Prototype\\src ' => 0,
|
|
669 |
'M:/clean-src/os/buildtools/srcanamdw_os/programchecker/TestData/UnitTests/PCT08_Prototype\\results ' => 0,
|
|
670 |
'M:/clean-src/os/buildtools/srcanamdw_os/programchecker/TestData/UnitTests/PCT08_Prototype\\group ' => 0,
|
|
671 |
'M:/clean-src/os/buildtools/srcanamdw_os/programchecker/TestData/UnitTests/PCT07_Deprecated\\src ' => 0,
|
|
672 |
'M:/clean-src/os/buildtools/srcanamdw_os/programchecker/TestData/UnitTests/PCT07_Deprecated\\results ' => 0,
|
|
673 |
'M:/clean-src/os/buildtools/srcanamdw_os/programchecker/TestData/UnitTests/PCT07_Deprecated\\group ' => 0,
|
|
674 |
'M:/clean-src/os/buildtools/srcanamdw_os/programchecker/TestData/UnitTests/PCT06_Released\\src ' => 0,
|
|
675 |
'M:/clean-src/os/buildtools/srcanamdw_os/programchecker/TestData/UnitTests/PCT06_Released\\results ' => 0,
|
|
676 |
'M:/clean-src/os/buildtools/srcanamdw_os/programchecker/TestData/UnitTests/PCT06_Released\\group ' => 0,
|
|
677 |
'M:/clean-src/os/buildtools/srcanamdw_os/programchecker/TestData/UnitTests/PCT05_PubAll\\src ' => 0,
|
|
678 |
'M:/clean-src/os/buildtools/srcanamdw_os/programchecker/TestData/UnitTests/PCT05_PubAll\\results ' => 0,
|
|
679 |
'M:/clean-src/os/buildtools/srcanamdw_os/programchecker/TestData/UnitTests/PCT05_PubAll\\group ' => 0,
|
|
680 |
'M:/clean-src/os/buildtools/srcanamdw_os/programchecker/TestData/UnitTests/PCT04_PubPartner\\src ' => 0,
|
|
681 |
'M:/clean-src/os/buildtools/srcanamdw_os/programchecker/TestData/UnitTests/PCT04_PubPartner\\results ' => 0,
|
|
682 |
'M:/clean-src/os/buildtools/srcanamdw_os/programchecker/TestData/UnitTests/PCT04_PubPartner\\group ' => 0,
|
|
683 |
'M:/clean-src/os/buildtools/srcanamdw_os/programchecker/TestData/UnitTests/PCT03_IntComp\\src ' => 0,
|
|
684 |
'M:/clean-src/os/buildtools/srcanamdw_os/programchecker/TestData/UnitTests/PCT03_IntComp\\results ' => 0,
|
|
685 |
'M:/clean-src/os/buildtools/srcanamdw_os/programchecker/TestData/UnitTests/PCT03_IntComp\\group ' => 0,
|
|
686 |
'M:/clean-src/os/buildtools/srcanamdw_os/programchecker/TestData/UnitTests/PCT02_IntTech\\src ' => 0,
|
|
687 |
'M:/clean-src/os/buildtools/srcanamdw_os/programchecker/TestData/UnitTests/PCT02_IntTech\\results ' => 0,
|
|
688 |
'M:/clean-src/os/buildtools/srcanamdw_os/programchecker/TestData/UnitTests/PCT02_IntTech\\group ' => 0,
|
|
689 |
'M:/clean-src/os/buildtools/srcanamdw_os/programchecker/TestData/UnitTests/PCT01_NoAPIs\\src ' => 0,
|
|
690 |
'M:/clean-src/os/buildtools/srcanamdw_os/programchecker/TestData/UnitTests/PCT01_NoAPIs\\results ' => 0,
|
|
691 |
'M:/clean-src/os/buildtools/srcanamdw_os/programchecker/TestData/UnitTests/PCT01_NoAPIs\\group ' => 0,
|
|
692 |
'M:/clean-src/os/buildtools/srcanamdw_os/programchecker/TestData/IntegrationTests/PCT10_Integration\\src ' => 0,
|
|
693 |
'M:/clean-src/os/buildtools/srcanamdw_os/programchecker/TestData/IntegrationTests/PCT10_Integration\\results ' => 0,
|
|
694 |
'M:/clean-src/os/buildtools/srcanamdw_os/programchecker/TestData/IntegrationTests/PCT10_Integration\\group ' => 0,
|
|
695 |
'M:/clean-src/os/buildtools/srcanamdw_os/programchecker/TestData/Components/T25_All_Test\\src ' => 0,
|
|
696 |
'M:/clean-src/os/buildtools/srcanamdw_os/programchecker/TestData/Components/T25_All_Test\\group ' => 0,
|
|
697 |
'M:/clean-src/os/buildtools/srcanamdw_os/programchecker/TestData/Components/T24_All_Prototype\\src ' => 0,
|
|
698 |
'M:/clean-src/os/buildtools/srcanamdw_os/programchecker/TestData/Components/T24_All_Prototype\\group ' => 0,
|
|
699 |
'M:/clean-src/os/buildtools/srcanamdw_os/programchecker/TestData/Components/T23_All_Deprecated\\src ' => 0,
|
|
700 |
'M:/clean-src/os/buildtools/srcanamdw_os/programchecker/TestData/Components/T23_All_Deprecated\\group ' => 0,
|
|
701 |
'M:/clean-src/os/buildtools/srcanamdw_os/programchecker/TestData/Components/T22_All_Released\\src ' => 0,
|
|
702 |
'M:/clean-src/os/buildtools/srcanamdw_os/programchecker/TestData/Components/T22_All_Released\\group ' => 0,
|
|
703 |
'M:/clean-src/os/buildtools/srcanamdw_os/programchecker/TestData/Components/T21_PubAll_Test\\src ' => 0,
|
|
704 |
'M:/clean-src/os/buildtools/srcanamdw_os/programchecker/TestData/Components/T21_PubAll_Test\\group ' => 0,
|
|
705 |
'M:/clean-src/os/buildtools/srcanamdw_os/programchecker/TestData/Components/T20_PubAll_Proto\\src ' => 0,
|
|
706 |
'M:/clean-src/os/buildtools/srcanamdw_os/programchecker/TestData/Components/T20_PubAll_Proto\\group ' => 0,
|
|
707 |
'M:/clean-src/os/buildtools/srcanamdw_os/programchecker/TestData/Components/T19_PubAll_Dep\\src ' => 0,
|
|
708 |
'M:/clean-src/os/buildtools/srcanamdw_os/programchecker/TestData/Components/T19_PubAll_Dep\\group ' => 0,
|
|
709 |
'M:/clean-src/os/buildtools/srcanamdw_os/programchecker/TestData/Components/T18_PubAll_Rel\\src ' => 0,
|
|
710 |
'M:/clean-src/os/buildtools/srcanamdw_os/programchecker/TestData/Components/T18_PubAll_Rel\\group ' => 0,
|
|
711 |
'M:/clean-src/os/buildtools/srcanamdw_os/programchecker/TestData/Components/T17_PubAll_All\\src ' => 0,
|
|
712 |
'M:/clean-src/os/buildtools/srcanamdw_os/programchecker/TestData/Components/T17_PubAll_All\\group ' => 0,
|
|
713 |
'M:/clean-src/os/buildtools/srcanamdw_os/programchecker/TestData/Components/T16_PubPartner_Test\\src ' => 0,
|
|
714 |
'M:/clean-src/os/buildtools/srcanamdw_os/programchecker/TestData/Components/T16_PubPartner_Test\\group ' => 0,
|
|
715 |
'M:/clean-src/os/buildtools/srcanamdw_os/programchecker/TestData/Components/T15_PubPartner_Proto\\src ' => 0,
|
|
716 |
'M:/clean-src/os/buildtools/srcanamdw_os/programchecker/TestData/Components/T15_PubPartner_Proto\\group ' => 0,
|
|
717 |
'M:/clean-src/os/buildtools/srcanamdw_os/programchecker/TestData/Components/T14_PubPartner_Dep\\src ' => 0,
|
|
718 |
'M:/clean-src/os/buildtools/srcanamdw_os/programchecker/TestData/Components/T14_PubPartner_Dep\\group ' => 0,
|
|
719 |
'M:/clean-src/os/buildtools/srcanamdw_os/programchecker/TestData/Components/T13_PubPartner_Rel\\src ' => 0,
|
|
720 |
'M:/clean-src/os/buildtools/srcanamdw_os/programchecker/TestData/Components/T13_PubPartner_Rel\\group ' => 0,
|
|
721 |
'M:/clean-src/os/buildtools/srcanamdw_os/programchecker/TestData/Components/T12_PubPartner_All\\src ' => 0,
|
|
722 |
'M:/clean-src/os/buildtools/srcanamdw_os/programchecker/TestData/Components/T12_PubPartner_All\\group ' => 0,
|
|
723 |
'M:/clean-src/os/buildtools/srcanamdw_os/programchecker/TestData/Components/T11_IntComp_Test\\src ' => 0,
|
|
724 |
'M:/clean-src/os/buildtools/srcanamdw_os/programchecker/TestData/Components/T11_IntComp_Test\\group ' => 0,
|
|
725 |
'M:/clean-src/os/buildtools/srcanamdw_os/programchecker/TestData/Components/T10_IntComp_Proto\\src ' => 0,
|
|
726 |
'M:/clean-src/os/buildtools/srcanamdw_os/programchecker/TestData/Components/T10_IntComp_Proto\\group ' => 0,
|
|
727 |
'M:/clean-src/os/buildtools/srcanamdw_os/programchecker/TestData/Components/T09_IntComp_Dep\\src ' => 0,
|
|
728 |
'M:/clean-src/os/buildtools/srcanamdw_os/programchecker/TestData/Components/T09_IntComp_Dep\\group ' => 0,
|
|
729 |
'M:/clean-src/os/buildtools/srcanamdw_os/programchecker/TestData/Components/T08_IntComp_Rel\\src ' => 0,
|
|
730 |
'M:/clean-src/os/buildtools/srcanamdw_os/programchecker/TestData/Components/T08_IntComp_Rel\\group ' => 0,
|
|
731 |
'M:/clean-src/os/buildtools/srcanamdw_os/programchecker/TestData/Components/T07_IntComp_All\\src ' => 0,
|
|
732 |
'M:/clean-src/os/buildtools/srcanamdw_os/programchecker/TestData/Components/T07_IntComp_All\\group ' => 0,
|
|
733 |
'M:/clean-src/os/buildtools/srcanamdw_os/programchecker/TestData/Components/T06_IntTech_Test\\src ' => 0,
|
|
734 |
'M:/clean-src/os/buildtools/srcanamdw_os/programchecker/TestData/Components/T06_IntTech_Test\\group ' => 0,
|
|
735 |
'M:/clean-src/os/buildtools/srcanamdw_os/programchecker/TestData/Components/T05_IntTech_Proto\\src ' => 0,
|
|
736 |
'M:/clean-src/os/buildtools/srcanamdw_os/programchecker/TestData/Components/T05_IntTech_Proto\\group ' => 0,
|
|
737 |
'M:/clean-src/os/buildtools/srcanamdw_os/programchecker/TestData/Components/T04_IntTech_Dep\\src ' => 0,
|
|
738 |
'M:/clean-src/os/buildtools/srcanamdw_os/programchecker/TestData/Components/T04_IntTech_Dep\\group ' => 0,
|
|
739 |
'M:/clean-src/os/buildtools/srcanamdw_os/programchecker/TestData/Components/T03_IntTech_Rel\\src ' => 0,
|
|
740 |
'M:/clean-src/os/buildtools/srcanamdw_os/programchecker/TestData/Components/T03_IntTech_Rel\\group ' => 0,
|
|
741 |
'M:/clean-src/os/buildtools/srcanamdw_os/programchecker/TestData/Components/T02_IntTech_All\\src ' => 0,
|
|
742 |
'M:/clean-src/os/buildtools/srcanamdw_os/programchecker/TestData/Components/T02_IntTech_All\\group ' => 0,
|
|
743 |
'M:/clean-src/os/buildtools/srcanamdw_os/programchecker/TestData/Components/T01_Unclassified\\src ' => 0,
|
|
744 |
'M:/clean-src/os/buildtools/srcanamdw_os/programchecker/TestData/Components/T01_Unclassified\\group ' => 0,
|
|
745 |
'M:/clean-src/os/buildtools/srcanamdw_os/programchecker\\TestData ' => 0,
|
|
746 |
'M:/clean-src/os/buildtools/srcanamdw_os/programchecker/src\\ProgramCheckerBase ' => 0,
|
|
747 |
'M:/clean-src/os/buildtools/srcanamdw_os/programchecker\\src ' => 0,
|
|
748 |
'M:/clean-src/os/buildtools/srcanamdw_os/programchecker\\group ' => 0,
|
|
749 |
'M:/clean-src/os/buildtools/srcanamdw_os/programchecker\\docs ' => 0,
|
|
750 |
'M:/clean-src/os/buildtools/srcanamdw_os/programchecker\\bin ' => 0,
|
|
751 |
'M:/clean-src/os/buildtools/srcanamdw_os/migrationtool/tests/TestData/RMT_TestLib\\src ' => 0,
|
|
752 |
'M:/clean-src/os/buildtools/srcanamdw_os/migrationtool/tests/TestData/RMT_TestLib\\group ' => 0,
|
|
753 |
'M:/clean-src/os/buildtools/srcanamdw_os/migrationtool/tests/TestData/RMT08.TC4.3\\src ' => 0,
|
|
754 |
'M:/clean-src/os/buildtools/srcanamdw_os/migrationtool/tests/TestData/RMT08.TC4.3\\group ' => 0,
|
|
755 |
'M:/clean-src/os/buildtools/srcanamdw_os/migrationtool/tests/TestData/RMT08.TC4.3\\data ' => 0,
|
|
756 |
'M:/clean-src/os/buildtools/srcanamdw_os/migrationtool/tests/TestData/RMT08.TC4.2\\src ' => 0,
|
|
757 |
'M:/clean-src/os/buildtools/srcanamdw_os/migrationtool/tests/TestData/RMT08.TC4.2\\group ' => 0,
|
|
758 |
'M:/clean-src/os/buildtools/srcanamdw_os/migrationtool/tests/TestData/RMT08.TC4.2\\data ' => 0,
|
|
759 |
'M:/clean-src/os/buildtools/srcanamdw_os/migrationtool/tests/TestData/RMT08.TC4.1\\src ' => 0,
|
|
760 |
'M:/clean-src/os/buildtools/srcanamdw_os/migrationtool/tests/TestData/RMT08.TC4.1\\group ' => 0,
|
|
761 |
'M:/clean-src/os/buildtools/srcanamdw_os/migrationtool/tests/TestData/RMT08.TC4.1\\data ' => 0,
|
|
762 |
'M:/clean-src/os/buildtools/srcanamdw_os/migrationtool/tests/TestData/RMT08.TC3\\src ' => 0,
|
|
763 |
'M:/clean-src/os/buildtools/srcanamdw_os/migrationtool/tests/TestData/RMT08.TC3\\group ' => 0,
|
|
764 |
'M:/clean-src/os/buildtools/srcanamdw_os/migrationtool/tests/TestData/RMT08.TC3\\data ' => 0,
|
|
765 |
'M:/clean-src/os/buildtools/srcanamdw_os/migrationtool/tests/TestData/RMT08.TC2.2\\src ' => 0,
|
|
766 |
'M:/clean-src/os/buildtools/srcanamdw_os/migrationtool/tests/TestData/RMT08.TC2.2\\group ' => 0,
|
|
767 |
'M:/clean-src/os/buildtools/srcanamdw_os/migrationtool/tests/TestData/RMT08.TC2.2\\data ' => 0,
|
|
768 |
'M:/clean-src/os/buildtools/srcanamdw_os/migrationtool/tests/TestData/RMT08.TC2.1\\data ' => 0,
|
|
769 |
'M:/clean-src/os/buildtools/srcanamdw_os/migrationtool/tests/TestData/RMT06.TC2\\src ' => 0,
|
|
770 |
'M:/clean-src/os/buildtools/srcanamdw_os/migrationtool/tests/TestData/RMT06.TC2\\group ' => 0,
|
|
771 |
'M:/clean-src/os/buildtools/srcanamdw_os/migrationtool/tests/TestData/RMT05.TC4\\src ' => 0,
|
|
772 |
'M:/clean-src/os/buildtools/srcanamdw_os/migrationtool/tests/TestData/RMT05.TC4\\group ' => 0,
|
|
773 |
'M:/clean-src/os/buildtools/srcanamdw_os/migrationtool/tests/TestData/RMT05.TC4\\data ' => 0,
|
|
774 |
'M:/clean-src/os/buildtools/srcanamdw_os/migrationtool/tests/TestData/RMT05.TC3\\src ' => 0,
|
|
775 |
'M:/clean-src/os/buildtools/srcanamdw_os/migrationtool/tests/TestData/RMT05.TC3\\group ' => 0,
|
|
776 |
'M:/clean-src/os/buildtools/srcanamdw_os/migrationtool/tests/TestData/RMT05.TC3\\data ' => 0,
|
|
777 |
'M:/clean-src/os/buildtools/srcanamdw_os/migrationtool/tests/TestData/RMT05.TC2\\src ' => 0,
|
|
778 |
'M:/clean-src/os/buildtools/srcanamdw_os/migrationtool/tests/TestData/RMT05.TC2\\group ' => 0,
|
|
779 |
'M:/clean-src/os/buildtools/srcanamdw_os/migrationtool/tests/TestData/RMT05.TC2\\data ' => 0,
|
|
780 |
'M:/clean-src/os/buildtools/srcanamdw_os/migrationtool/tests/TestData/RMT05.TC1\\src ' => 0,
|
|
781 |
'M:/clean-src/os/buildtools/srcanamdw_os/migrationtool/tests/TestData/RMT05.TC1\\group ' => 0,
|
|
782 |
'M:/clean-src/os/buildtools/srcanamdw_os/migrationtool/tests/TestData/RMT05.TC1\\data ' => 0,
|
|
783 |
'M:/clean-src/os/buildtools/srcanamdw_os/migrationtool/tests/TestData/RMT04.TC5.2\\src ' => 0,
|
|
784 |
'M:/clean-src/os/buildtools/srcanamdw_os/migrationtool/tests/TestData/RMT04.TC5.2\\group ' => 0,
|
|
785 |
'M:/clean-src/os/buildtools/srcanamdw_os/migrationtool/tests/TestData/RMT04.TC5.1\\src ' => 0,
|
|
786 |
'M:/clean-src/os/buildtools/srcanamdw_os/migrationtool/tests/TestData/RMT04.TC5.1\\group ' => 0,
|
|
787 |
'M:/clean-src/os/buildtools/srcanamdw_os/migrationtool/tests/TestData/RMT04.TC5\\data ' => 0,
|
|
788 |
'M:/clean-src/os/buildtools/srcanamdw_os/migrationtool/tests/TestData/RMT04.TC4.2\\src ' => 0,
|
|
789 |
'M:/clean-src/os/buildtools/srcanamdw_os/migrationtool/tests/TestData/RMT04.TC4.2\\group ' => 0,
|
|
790 |
'M:/clean-src/os/buildtools/srcanamdw_os/migrationtool/tests/TestData/RMT04.TC4.2\\data ' => 0,
|
|
791 |
'M:/clean-src/os/buildtools/srcanamdw_os/migrationtool/tests/TestData/RMT04.TC4.1\\data ' => 0,
|
|
792 |
'M:/clean-src/os/buildtools/srcanamdw_os/migrationtool/tests/TestData/RMT04.TC3.2\\src ' => 0,
|
|
793 |
'M:/clean-src/os/buildtools/srcanamdw_os/migrationtool/tests/TestData/RMT04.TC3.2\\group ' => 0,
|
|
794 |
'M:/clean-src/os/buildtools/srcanamdw_os/migrationtool/tests/TestData/RMT04.TC3.2\\data ' => 0,
|
|
795 |
'M:/clean-src/os/buildtools/srcanamdw_os/migrationtool/tests/TestData/RMT04.TC3.1\\data ' => 0,
|
|
796 |
'M:/clean-src/os/buildtools/srcanamdw_os/migrationtool/tests/TestData/RMT04.TC2\\src ' => 0,
|
|
797 |
'M:/clean-src/os/buildtools/srcanamdw_os/migrationtool/tests/TestData/RMT04.TC2\\group ' => 0,
|
|
798 |
'M:/clean-src/os/buildtools/srcanamdw_os/migrationtool/tests/TestData/RMT04.TC2\\data ' => 0,
|
|
799 |
'M:/clean-src/os/buildtools/srcanamdw_os/migrationtool/tests/TestData/RMT04.TC1\\data ' => 0,
|
|
800 |
'M:/clean-src/os/buildtools/srcanamdw_os/migrationtool/tests/TestData/RMT03.TC3\\src ' => 0,
|
|
801 |
'M:/clean-src/os/buildtools/srcanamdw_os/migrationtool/tests/TestData/RMT03.TC3\\group ' => 0,
|
|
802 |
'M:/clean-src/os/buildtools/srcanamdw_os/migrationtool/tests/TestData/RMT03.TC3\\data ' => 0,
|
|
803 |
'M:/clean-src/os/buildtools/srcanamdw_os/migrationtool/tests/TestData/RMT03.TC2\\src ' => 0,
|
|
804 |
'M:/clean-src/os/buildtools/srcanamdw_os/migrationtool/tests/TestData/RMT03.TC2\\group ' => 0,
|
|
805 |
'M:/clean-src/os/buildtools/srcanamdw_os/migrationtool/tests/TestData/RMT03.TC2\\data ' => 0,
|
|
806 |
'M:/clean-src/os/buildtools/srcanamdw_os/migrationtool/tests/TestData/RMT03.TC1\\data ' => 0,
|
|
807 |
'M:/clean-src/os/buildtools/srcanamdw_os/migrationtool/tests/TestData/RMT02.TC3\\src ' => 0,
|
|
808 |
'M:/clean-src/os/buildtools/srcanamdw_os/migrationtool/tests/TestData/RMT02.TC3\\group ' => 0,
|
|
809 |
'M:/clean-src/os/buildtools/srcanamdw_os/migrationtool/tests/TestData/RMT02.TC3\\data ' => 0,
|
|
810 |
'M:/clean-src/os/buildtools/srcanamdw_os/migrationtool/tests/TestData/RMT02.TC2\\src ' => 0,
|
|
811 |
'M:/clean-src/os/buildtools/srcanamdw_os/migrationtool/tests/TestData/RMT02.TC2\\group ' => 0,
|
|
812 |
'M:/clean-src/os/buildtools/srcanamdw_os/migrationtool/tests/TestData/RMT02.TC2\\data ' => 0,
|
|
813 |
'M:/clean-src/os/buildtools/srcanamdw_os/migrationtool/tests/TestData/RMT02.TC1.3\\data ' => 0,
|
|
814 |
'M:/clean-src/os/buildtools/srcanamdw_os/migrationtool/tests/TestData/RMT02.TC1.2\\data ' => 0,
|
|
815 |
'M:/clean-src/os/buildtools/srcanamdw_os/migrationtool/tests/TestData/RMT01.TC5.3\\src ' => 0,
|
|
816 |
'M:/clean-src/os/buildtools/srcanamdw_os/migrationtool/tests/TestData/RMT01.TC5.3\\group ' => 0,
|
|
817 |
'M:/clean-src/os/buildtools/srcanamdw_os/migrationtool/tests/TestData/RMT01.TC5.3\\data ' => 0,
|
|
818 |
'M:/clean-src/os/buildtools/srcanamdw_os/migrationtool/tests/TestData/RMT01.TC5.2\\src ' => 0,
|
|
819 |
'M:/clean-src/os/buildtools/srcanamdw_os/migrationtool/tests/TestData/RMT01.TC5.2\\group ' => 0,
|
|
820 |
'M:/clean-src/os/buildtools/srcanamdw_os/migrationtool/tests/TestData/RMT01.TC5.2\\data ' => 0,
|
|
821 |
'M:/clean-src/os/buildtools/srcanamdw_os/migrationtool/tests/TestData/RMT01.TC5.1\\src ' => 0,
|
|
822 |
'M:/clean-src/os/buildtools/srcanamdw_os/migrationtool/tests/TestData/RMT01.TC5.1\\group ' => 0,
|
|
823 |
'M:/clean-src/os/buildtools/srcanamdw_os/migrationtool/tests/TestData/RMT01.TC5.1\\data ' => 0,
|
|
824 |
'M:/clean-src/os/buildtools/srcanamdw_os/migrationtool/tests/TestData/RMT01.TC3.2\\src ' => 0,
|
|
825 |
'M:/clean-src/os/buildtools/srcanamdw_os/migrationtool/tests/TestData/RMT01.TC3.2\\group ' => 0,
|
|
826 |
'M:/clean-src/os/buildtools/srcanamdw_os/migrationtool/tests/TestData/RMT01.TC3.2\\data ' => 0,
|
|
827 |
'M:/clean-src/os/buildtools/srcanamdw_os/migrationtool/tests/TestData/RMT01.TC3.1\\src ' => 0,
|
|
828 |
'M:/clean-src/os/buildtools/srcanamdw_os/migrationtool/tests/TestData/RMT01.TC3.1\\group ' => 0,
|
|
829 |
'M:/clean-src/os/buildtools/srcanamdw_os/migrationtool/tests/TestData/RMT01.TC3.1\\data ' => 0,
|
|
830 |
'M:/clean-src/os/buildtools/srcanamdw_os/migrationtool/tests/TestData/RMT01.TC2.3\\src ' => 0,
|
|
831 |
'M:/clean-src/os/buildtools/srcanamdw_os/migrationtool/tests/TestData/RMT01.TC2.3\\group ' => 0,
|
|
832 |
'M:/clean-src/os/buildtools/srcanamdw_os/migrationtool/tests/TestData/RMT01.TC2.3\\data ' => 0,
|
|
833 |
'M:/clean-src/os/buildtools/srcanamdw_os/migrationtool\\tests ' => 0,
|
|
834 |
'M:/clean-src/os/buildtools/srcanamdw_os/migrationtool/src\\XML ' => 0,
|
|
835 |
'M:/clean-src/os/buildtools/srcanamdw_os/migrationtool/src\\GCCBinUtils ' => 0,
|
|
836 |
'M:/clean-src/os/buildtools/srcanamdw_os/migrationtool\\src ' => 0,
|
|
837 |
'M:/clean-src/os/buildtools/srcanamdw_os/migrationtool\\sample ' => 0,
|
|
838 |
'M:/clean-src/os/buildtools/srcanamdw_os/migrationtool\\group ' => 0,
|
|
839 |
'M:/clean-src/os/buildtools/srcanamdw_os/migrationtool\\docs ' => 0,
|
|
840 |
'M:/clean-src/os/buildtools/binanamdw_os\\depcheck ' => 0,
|
|
841 |
'M:/clean-src/os/buildtools/binanamdw_os/captools/tests/T_ImportsAnalyser\\TestData ' => 0,
|
|
842 |
'M:/clean-src/os/buildtools/binanamdw_os/captools/tests\\T_ImportsAnalyser ' => 0,
|
|
843 |
'M:/clean-src/os/buildtools/binanamdw_os/captools/tests/T_CapSearch\\TestData ' => 0,
|
|
844 |
'M:/clean-src/os/buildtools/binanamdw_os/captools/tests\\T_CapSearch ' => 0,
|
|
845 |
'M:/clean-src/os/buildtools/binanamdw_os/captools/tests/T_CapImportCheck\\TestData ' => 0,
|
|
846 |
'M:/clean-src/os/buildtools/binanamdw_os/captools/tests\\T_CapImportCheck ' => 0,
|
|
847 |
'M:/clean-src/os/buildtools/binanamdw_os/captools/tests/T_CapCheck\\TestData ' => 0,
|
|
848 |
'M:/clean-src/os/buildtools/binanamdw_os/captools/tests\\T_CapCheck ' => 0,
|
|
849 |
'M:/clean-src/os/buildtools/binanamdw_os/captools\\src ' => 0,
|
|
850 |
'M:/clean-src/os/buildtools/binanamdw_os/captools/sample\\ImportsAnalyser ' => 0,
|
|
851 |
'M:/clean-src/os/buildtools/binanamdw_os/captools/sample\\CapSearch ' => 0,
|
|
852 |
'M:/clean-src/os/buildtools/binanamdw_os/captools/sample\\CapImportCheck ' => 0,
|
|
853 |
'M:/clean-src/os/buildtools/binanamdw_os/captools/sample/CapCheck\\Sample_XML_ECL ' => 0,
|
|
854 |
'M:/clean-src/os/buildtools/binanamdw_os/captools/sample\\CapCheck ' => 0,
|
|
855 |
'M:/clean-src/os/buildtools/binanamdw_os/captools\\group ' => 0,
|
|
856 |
'M:/clean-src/os/buildtools/binanamdw_os/captools/docs\\Design ' => 0,
|
|
857 |
'M:/clean-src/os/buildtools/binanamdw_os/captools\\data ' => 0,
|
|
858 |
|
|
859 |
);
|
|
860 |
|
|
861 |
sub CheckForAdvisoryNotes
|
|
862 |
{
|
|
863 |
my ($line) = @_;
|
|
864 |
|
|
865 |
# "s16c.o(.directive)", line 70: Warning: L6331W: s16c.o(.directive)(line 70, col 14) No eligible global symbol matches pattern _fsqrt.
|
|
866 |
if ($line =~ /".*", line \d+: Warning: +(.\d+.*?):/)
|
|
867 |
{
|
|
868 |
# Some compiler warnings about about style rather than substance. The RVCT
|
|
869 |
# compiler warnings are easily identified, and the Advisory_checklist above
|
|
870 |
# classifies the warnings present in the Symbian OS source code which are
|
|
871 |
# not currently considered to be violations of the "zero warnings" policy.
|
|
872 |
# It is the responsibility of the Master Codeline Forum to manage this list,
|
|
873 |
# as part of the "zero warnings" policy.
|
|
874 |
return defined($Advisory_checklist{$1});
|
|
875 |
}
|
|
876 |
|
|
877 |
# ignore undesired codes in //EPOC/
|
|
878 |
if ($line =~ /ADVISORY NOTE: Missing distribution.policy.s60 file in (.*)/)
|
|
879 |
{
|
|
880 |
if (exists $Advisory_checklist{$1}){
|
|
881 |
return $Advisory_checklist{$1};
|
|
882 |
}
|
|
883 |
else{
|
|
884 |
return 1;
|
|
885 |
}
|
|
886 |
}
|
|
887 |
|
|
888 |
# Downgrade Kits errors and warnings
|
|
889 |
if (($line =~ /^WARNING: .+ matched against rule/i) ||
|
|
890 |
($line =~ /^WARNING: .+ matched tests/i))
|
|
891 |
{
|
|
892 |
# Kits generation is not critical in MCL products and it
|
|
893 |
# should not be BRAG affecting.
|
|
894 |
return 1;
|
|
895 |
}
|
|
896 |
|
|
897 |
if ($line =~ /returning cat X/)
|
|
898 |
{
|
|
899 |
# Look for the phrase returning cat X. This is generated due to distribution policy file being remvoed
|
|
900 |
|
|
901 |
return 1;
|
|
902 |
}
|
|
903 |
|
|
904 |
if ($line =~ /ERROR.*Unable to perform a comparison using empty databases/i)
|
|
905 |
{
|
|
906 |
# Look for the phrase BC Comparision. Generates when base comparision is failed due to the unavailability of the base build.
|
|
907 |
|
|
908 |
return 1;
|
|
909 |
}
|
|
910 |
|
|
911 |
if ($line =~ /ERROR: Fatal exception \"execSpecialInstructions() failed with \d{1,} lines on stderr\"/i)
|
|
912 |
{
|
|
913 |
# Look for the Run variability warnings. Generates while processing the variabilities.
|
|
914 |
|
|
915 |
return 1;
|
|
916 |
}
|
|
917 |
|
|
918 |
if ($line =~ /WARN.*API Classifier load failed/i)
|
|
919 |
{
|
|
920 |
# Look for the classifier load warnings. Generates when unable to load the API's.
|
|
921 |
|
|
922 |
return 1;
|
|
923 |
}
|
|
924 |
|
|
925 |
if ($line =~ /WARNING: Envinfo overall status was not found/i)
|
|
926 |
{
|
|
927 |
# Look for the classifier load warnings. Generates when unable to load the API's.
|
|
928 |
|
|
929 |
return 1;
|
|
930 |
}
|
|
931 |
|
|
932 |
if ($line =~ /warning:\s*no newline at end of file/i && $line !~ /\.((rls)|(rsc)|(rss)|(rh)|(ra)|(hrh)|(rsg)|(loc)):\d{1,}:\d{1,}:\s*/i)
|
|
933 |
{
|
|
934 |
# no newline at end of file warnings are to be captured as it can create some issues with different compilers
|
|
935 |
# currently this will not work as remarks section is capturing this, which should not.
|
|
936 |
# Resource files should not be considered.
|
|
937 |
|
|
938 |
return 1;
|
|
939 |
}
|
|
940 |
|
|
941 |
if ($line =~ /^ADVISORY NOTE:/)
|
|
942 |
{
|
|
943 |
# For use by any advisory notes.
|
|
944 |
|
|
945 |
return 1;
|
|
946 |
}
|
|
947 |
|
|
948 |
if ($line =~ /^ERROR: Fatal exception \"ProcessVariability: Unable to copy .* \[Errno 13\] Permission denied: .*/)
|
|
949 |
{
|
|
950 |
# For buildrefdoc permission denied intermittent error
|
|
951 |
|
|
952 |
return 1;
|
|
953 |
}
|
|
954 |
|
|
955 |
# This is used convert what would be picked up as warning in to a advisory note, as advisory notes are check for first
|
|
956 |
# It also returns an additional value of the number of lines to slurp up to get the so the multi line
|
|
957 |
# warning (advisorynote) is only seen once.
|
|
958 |
|
|
959 |
|
|
960 |
|
|
961 |
# This is used convert what would be picked up as error in to a advisory note, as advisory notes are check for first
|
|
962 |
# It also returns an additional value of the number of lines to slurp up to get the so the multi line
|
|
963 |
# errors (advisorynote) is only seen once.
|
|
964 |
|
|
965 |
}
|
|
966 |
1;
|