mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 1188551: treat assertion failures as bad mozconfig; r=mshal
This commit is contained in:
parent
fe2c3daf77
commit
fb855bf450
@ -8,6 +8,7 @@ import filecmp
|
|||||||
import os
|
import os
|
||||||
import re
|
import re
|
||||||
import subprocess
|
import subprocess
|
||||||
|
import traceback
|
||||||
|
|
||||||
from collections import defaultdict
|
from collections import defaultdict
|
||||||
from mach.mixin.process import ProcessExecutionMixin
|
from mach.mixin.process import ProcessExecutionMixin
|
||||||
@ -31,6 +32,13 @@ by a command inside your mozconfig failing. Please change your mozconfig
|
|||||||
to not error and/or to catch errors in executed commands.
|
to not error and/or to catch errors in executed commands.
|
||||||
'''.strip()
|
'''.strip()
|
||||||
|
|
||||||
|
MOZCONFIG_BAD_OUTPUT = '''
|
||||||
|
Evaluation of your mozconfig produced unexpected output. This could be
|
||||||
|
triggered by a command inside your mozconfig failing or producing some warnings
|
||||||
|
or error messages. Please change your mozconfig to not error and/or to catch
|
||||||
|
errors in executed commands.
|
||||||
|
'''.strip()
|
||||||
|
|
||||||
|
|
||||||
class MozconfigFindException(Exception):
|
class MozconfigFindException(Exception):
|
||||||
"""Raised when a mozconfig location is not defined properly."""
|
"""Raised when a mozconfig location is not defined properly."""
|
||||||
@ -234,7 +242,17 @@ class MozconfigLoader(ProcessExecutionMixin):
|
|||||||
|
|
||||||
raise MozconfigLoadException(path, MOZCONFIG_BAD_EXIT_CODE, lines)
|
raise MozconfigLoadException(path, MOZCONFIG_BAD_EXIT_CODE, lines)
|
||||||
|
|
||||||
parsed = self._parse_loader_output(output)
|
try:
|
||||||
|
parsed = self._parse_loader_output(output)
|
||||||
|
except AssertionError:
|
||||||
|
# _parse_loader_output uses assertions to verify the
|
||||||
|
# well-formedness of the shell output; when these fail, it
|
||||||
|
# generally means there was a problem with the output, but we
|
||||||
|
# include the assertion traceback just to be sure.
|
||||||
|
print('Assertion failed in _parse_loader_output:')
|
||||||
|
traceback.print_exc()
|
||||||
|
raise MozconfigLoadException(path, MOZCONFIG_BAD_OUTPUT,
|
||||||
|
output.splitlines())
|
||||||
|
|
||||||
def diff_vars(vars_before, vars_after):
|
def diff_vars(vars_before, vars_after):
|
||||||
set1 = set(vars_before.keys()) - self.IGNORE_SHELL_VARIABLES
|
set1 = set(vars_before.keys()) - self.IGNORE_SHELL_VARIABLES
|
||||||
|
Loading…
Reference in New Issue
Block a user