diff options
Diffstat (limited to 'utils')
-rw-r--r-- | utils/lit/lit/LitConfig.py | 3 | ||||
-rw-r--r-- | utils/lit/lit/TestFormats.py | 4 | ||||
-rw-r--r-- | utils/lit/lit/TestRunner.py | 6 | ||||
-rwxr-xr-x | utils/lit/lit/main.py | 2 |
4 files changed, 11 insertions, 4 deletions
diff --git a/utils/lit/lit/LitConfig.py b/utils/lit/lit/LitConfig.py index bda9174..2cc2781 100644 --- a/utils/lit/lit/LitConfig.py +++ b/utils/lit/lit/LitConfig.py @@ -20,7 +20,7 @@ class LitConfig: def __init__(self, progname, path, quiet, useValgrind, valgrindLeakCheck, valgrindArgs, useTclAsSh, - noExecute, debug, isWindows, + noExecute, ignoreStdErr, debug, isWindows, params): # The name of the test runner. self.progname = progname @@ -32,6 +32,7 @@ class LitConfig: self.valgrindUserArgs = list(valgrindArgs) self.useTclAsSh = bool(useTclAsSh) self.noExecute = noExecute + self.ignoreStdErr = ignoreStdErr self.debug = debug self.isWindows = bool(isWindows) self.params = dict(params) diff --git a/utils/lit/lit/TestFormats.py b/utils/lit/lit/TestFormats.py index 6dda2fd..d1c0558 100644 --- a/utils/lit/lit/TestFormats.py +++ b/utils/lit/lit/TestFormats.py @@ -125,7 +125,11 @@ class ShTest(FileBasedTest): self.execute_external) class TclTest(FileBasedTest): + def __init__(self, ignoreStdErr=False): + self.ignoreStdErr = ignoreStdErr + def execute(self, test, litConfig): + litConfig.ignoreStdErr = self.ignoreStdErr return TestRunner.executeTclTest(test, litConfig) ### diff --git a/utils/lit/lit/TestRunner.py b/utils/lit/lit/TestRunner.py index a40644c..0cc1f39 100644 --- a/utils/lit/lit/TestRunner.py +++ b/utils/lit/lit/TestRunner.py @@ -535,13 +535,13 @@ def executeTclTest(test, litConfig): # considered to fail if there is any standard error output. out,err,exitCode = res if isXFail: - ok = exitCode != 0 or err + ok = exitCode != 0 or err and not litConfig.ignoreStdErr if ok: status = Test.XFAIL else: status = Test.XPASS else: - ok = exitCode == 0 and not err + ok = exitCode == 0 and (not err or litConfig.ignoreStdErr) if ok: status = Test.PASS else: @@ -552,7 +552,7 @@ def executeTclTest(test, litConfig): # Set a flag for formatTestOutput so it can explain why the test was # considered to have failed, despite having an exit code of 0. - failDueToStderr = exitCode == 0 and err + failDueToStderr = exitCode == 0 and err and not litConfig.ignoreStdErr return formatTestOutput(status, out, err, exitCode, failDueToStderr, script) diff --git a/utils/lit/lit/main.py b/utils/lit/lit/main.py index 13d2630..e1a380c 100755 --- a/utils/lit/lit/main.py +++ b/utils/lit/lit/main.py @@ -328,6 +328,7 @@ def load_test_suite(inputs): valgrindArgs = [], useTclAsSh = False, noExecute = False, + ignoreStdErr = False, debug = False, isWindows = (platform.system()=='Windows'), params = {}) @@ -485,6 +486,7 @@ def main(builtinParameters = {}): # Bump the GIL check interval, its more imp valgrindArgs = opts.valgrindArgs, useTclAsSh = opts.useTclAsSh, noExecute = opts.noExecute, + ignoreStdErr = False, debug = opts.debug, isWindows = (platform.system()=='Windows'), params = userParams) |