Bug 1629789 - Suppress `fix-stacks` errors on web platform tests. r=erahm,jgraham

Because the web platform test harness doesn't recognize them and annotates them
with `CRITICAL`, which is disconcerting, even though those errors are typically
not harmful.

Differential Revision: https://phabricator.services.mozilla.com/D71485
This commit is contained in:
Nicholas Nethercote 2020-04-29 21:58:10 +00:00
Родитель 6c05bc8709
Коммит 95f587d624
2 изменённых файлов: 7 добавлений и 4 удалений

Просмотреть файл

@ -224,7 +224,7 @@ def test_environment(xrePath, env=None, crashreporter=True, debugger=False,
return env return env
def get_stack_fixer_function(utilityPath, symbolsPath): def get_stack_fixer_function(utilityPath, symbolsPath, hideErrors=False):
""" """
Return a stack fixing function, if possible, to use on output lines. Return a stack fixing function, if possible, to use on output lines.
@ -254,7 +254,7 @@ def get_stack_fixer_function(utilityPath, symbolsPath):
def stack_fixer_function(line): def stack_fixer_function(line):
return stack_fixer_module.fixSymbols( return stack_fixer_module.fixSymbols(
line, slowWarning=True, breakpadSymsDir=symbolsPath) line, slowWarning=True, breakpadSymsDir=symbolsPath, hide_errors=hideErrors)
elif mozinfo.isLinux or mozinfo.isMac or mozinfo.isWin: elif mozinfo.isLinux or mozinfo.isMac or mozinfo.isWin:
# Run each line through fix_stacks.py. This method is preferred for # Run each line through fix_stacks.py. This method is preferred for
@ -262,7 +262,7 @@ def get_stack_fixer_function(utilityPath, symbolsPath):
stack_fixer_module = import_stack_fixer_module('fix_stacks') stack_fixer_module = import_stack_fixer_module('fix_stacks')
def stack_fixer_function(line): def stack_fixer_function(line):
return stack_fixer_module.fixSymbols(line, slowWarning=True) return stack_fixer_module.fixSymbols(line, slowWarning=True, hide_errors=hideErrors)
else: else:
return None return None

Просмотреть файл

@ -428,8 +428,11 @@ class OutputHandler(object):
self.symbols_path = symbols_path self.symbols_path = symbols_path
if stackfix_dir: if stackfix_dir:
# We hide errors because they cause disconcerting `CRITICAL`
# warnings in web platform test output.
self.stack_fixer = get_stack_fixer_function(stackfix_dir, self.stack_fixer = get_stack_fixer_function(stackfix_dir,
self.symbols_path) self.symbols_path,
hideErrors=True)
else: else:
self.stack_fixer = None self.stack_fixer = None
self.asan = asan self.asan = asan