aboutsummaryrefslogtreecommitdiffstats
path: root/utils
diff options
context:
space:
mode:
Diffstat (limited to 'utils')
-rw-r--r--utils/lit/lit/LitConfig.py3
-rw-r--r--utils/lit/lit/TestFormats.py4
-rw-r--r--utils/lit/lit/TestRunner.py6
-rwxr-xr-xutils/lit/lit/main.py2
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)