diff options
Diffstat (limited to 'scripts/test/support.py')
-rw-r--r-- | scripts/test/support.py | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/scripts/test/support.py b/scripts/test/support.py index d04a85c59..5d03419b9 100644 --- a/scripts/test/support.py +++ b/scripts/test/support.py @@ -147,7 +147,7 @@ def split_wast(wastFile): def run_command(cmd, expected_status=0, stderr=None, - expected_err=None, err_contains=False): + expected_err=None, err_contains=False, err_ignore=None): if expected_err is not None: assert stderr == subprocess.PIPE or stderr is None,\ "Can't redirect stderr if using expected_err" @@ -158,11 +158,13 @@ def run_command(cmd, expected_status=0, stderr=None, code = proc.returncode if expected_status is not None and code != expected_status: raise Exception(('run_command failed (%s)' % code, out + str(err or ''))) - err_correct = expected_err is None or \ - (expected_err in err if err_contains else expected_err == err) - if not err_correct: - raise Exception(('run_command unexpected stderr', - "expected '%s', actual '%s'" % (expected_err, err))) + if expected_err is not None: + if err_ignore is not None: + err = "\n".join([line for line in err.split('\n') if err_ignore not in line]) + err_correct = expected_err in err if err_contains else expected_err == err + if not err_correct: + raise Exception(('run_command unexpected stderr', + "expected '%s', actual '%s'" % (expected_err, err))) return out |