Better pattern matching and dump of warning messages.

* Warning messages must start with source file path.
  This will reject lines containing only 'warning:'
  but not a source file path prefix.
* Escape both backslash and quotation marks in the
  dump of strings to JavaScript string literals.

Bug: 32060052
Test: run through build.log files
Change-Id: Ib064768b1ba2954f974604ea054f7a6d2ad15ae7
This commit is contained in:
Chih-Hung Hsieh 2016-10-11 15:33:19 -07:00
parent b37e81d3cd
commit 5722f9247b
1 changed files with 4 additions and 3 deletions

View File

@ -2028,7 +2028,8 @@ def parse_input_file():
infile = open(args.buildlog, 'r')
line_counter = 0
warning_pattern = re.compile('.* warning:.*')
# handle only warning messages with a file path
warning_pattern = re.compile('^[^ ]*/[^ ]*: warning: .*')
compile_patterns()
# read the log file and classify all the warnings
@ -2055,9 +2056,9 @@ def parse_input_file():
target_variant = m.group(0)
# Return s with escaped quotation characters.
# Return s with escaped backslash and quotation characters.
def escape_string(s):
return s.replace('"', '\\"')
return s.replace('\\', '\\\\').replace('"', '\\"')
# Return s without trailing '\n' and escape the quotation characters.