diff options
author | Michaël Zasso <targos@protonmail.com> | 2018-03-07 08:54:53 +0100 |
---|---|---|
committer | Michaël Zasso <targos@protonmail.com> | 2018-03-07 16:48:52 +0100 |
commit | 88786fecff336342a56e6f2e7ff3b286be716e47 (patch) | |
tree | 92e6ba5b8ac8dae1a058988d20c9d27bfa654390 /deps/v8/tools/testrunner/outproc/test262.py | |
parent | 4e86f9b5ab83cbabf43839385bf383e6a7ef7d19 (diff) | |
download | android-node-v8-88786fecff336342a56e6f2e7ff3b286be716e47.tar.gz android-node-v8-88786fecff336342a56e6f2e7ff3b286be716e47.tar.bz2 android-node-v8-88786fecff336342a56e6f2e7ff3b286be716e47.zip |
deps: update V8 to 6.5.254.31
PR-URL: https://github.com/nodejs/node/pull/18453
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Yang Guo <yangguo@chromium.org>
Reviewed-By: Ali Ijaz Sheikh <ofrobots@google.com>
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
Diffstat (limited to 'deps/v8/tools/testrunner/outproc/test262.py')
-rw-r--r-- | deps/v8/tools/testrunner/outproc/test262.py | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/deps/v8/tools/testrunner/outproc/test262.py b/deps/v8/tools/testrunner/outproc/test262.py new file mode 100644 index 0000000000..b5eb5547c3 --- /dev/null +++ b/deps/v8/tools/testrunner/outproc/test262.py @@ -0,0 +1,54 @@ +# Copyright 2018 the V8 project authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +import re + +from . import base + + +class ExceptionOutProc(base.OutProc): + """Output processor for tests with expected exception.""" + def __init__(self, expected_outcomes, expected_exception=None): + super(ExceptionOutProc, self).__init__(expected_outcomes) + self._expected_exception = expected_exception + + def _is_failure_output(self, output): + if output.exit_code != 0: + return True + if self._expected_exception != self._parse_exception(output.stdout): + return True + return 'FAILED!' in output.stdout + + def _parse_exception(self, string): + # somefile:somelinenumber: someerror[: sometext] + # somefile might include an optional drive letter on windows e.g. "e:". + match = re.search( + '^(?:\w:)?[^:]*:[0-9]+: ([^: ]+?)($|: )', string, re.MULTILINE) + if match: + return match.group(1).strip() + else: + return None + + +def _is_failure_output(self, output): + return ( + output.exit_code != 0 or + 'FAILED!' in output.stdout + ) + + +class NoExceptionOutProc(base.OutProc): + """Output processor optimized for tests without expected exception.""" +NoExceptionOutProc._is_failure_output = _is_failure_output + + +class PassNoExceptionOutProc(base.PassOutProc): + """ + Output processor optimized for tests expected to PASS without expected + exception. + """ +PassNoExceptionOutProc._is_failure_output = _is_failure_output + + +PASS_NO_EXCEPTION = PassNoExceptionOutProc() |