summaryrefslogtreecommitdiffstats
path: root/etc
diff options
context:
space:
mode:
authorSteven Knight <knight@baldmt.com>2006-02-17 11:13:44 (GMT)
committerSteven Knight <knight@baldmt.com>2006-02-17 11:13:44 (GMT)
commit01e28894fefef5262340d8cf3d9d10bab9ef332b (patch)
tree5aa3861e45ae88203f5e07c35a8cd84ec9cefaa8 /etc
parent2708dc3927775a374fc94a6996ebe09e70705e60 (diff)
downloadSCons-01e28894fefef5262340d8cf3d9d10bab9ef332b.zip
SCons-01e28894fefef5262340d8cf3d9d10bab9ef332b.tar.gz
SCons-01e28894fefef5262340d8cf3d9d10bab9ef332b.tar.bz2
Add a --verbose option to runtest.py. (Baptiste Lepilleur) Fix (?) a deadlock using the --xml option on Windows.
Diffstat (limited to 'etc')
-rw-r--r--etc/TestCmd.py24
-rw-r--r--etc/TestCommon.py4
2 files changed, 23 insertions, 5 deletions
diff --git a/etc/TestCmd.py b/etc/TestCmd.py
index cd66245..a2635c9 100644
--- a/etc/TestCmd.py
+++ b/etc/TestCmd.py
@@ -176,8 +176,8 @@ version.
# SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
__author__ = "Steven Knight <knight at baldmt dot com>"
-__revision__ = "TestCmd.py 0.18.D001 2005/10/15 06:40:23 knight"
-__version__ = "0.18"
+__revision__ = "TestCmd.py 0.20.D001 2006/02/16 06:28:21 knight"
+__version__ = "0.20"
import os
import os.path
@@ -449,13 +449,18 @@ class TestCmd:
interpreter = None,
workdir = None,
subdir = None,
- verbose = 0,
+ verbose = None,
match = None,
combine = 0):
self._cwd = os.getcwd()
self.description_set(description)
self.program_set(program)
self.interpreter_set(interpreter)
+ if verbose is None:
+ try:
+ verbose = max( 0, int(os.environ.get('TESTCMD_VERBOSE', 0)) )
+ except ValueError:
+ verbose = 0
self.verbose_set(verbose)
self.combine = combine
if not match is None:
@@ -715,6 +720,19 @@ class TestCmd:
self.status = p.wait()
if chdir:
os.chdir(oldcwd)
+ if self.verbose >= 2:
+ write = sys.stdout.write
+ write('============ STATUS: %d\n' % self.status)
+ out = self.stdout()
+ if out or self.verbose >= 3:
+ write('============ BEGIN STDOUT (len=%d):\n' % len(out))
+ write(out)
+ write('============ END STDOUT\n')
+ err = self.stderr()
+ if err or self.verbose >= 3:
+ write('============ BEGIN STDERR (len=%d)\n' % len(err))
+ write(err)
+ write('============ END STDERR\n')
def sleep(self, seconds = default_sleep_seconds):
"""Sleeps at least the specified number of seconds. If no
diff --git a/etc/TestCommon.py b/etc/TestCommon.py
index 76ee8f0..af38ab5 100644
--- a/etc/TestCommon.py
+++ b/etc/TestCommon.py
@@ -80,8 +80,8 @@ The TestCommon module also provides the following variables
# SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
__author__ = "Steven Knight <knight at baldmt dot com>"
-__revision__ = "TestCommon.py 0.18.D001 2005/10/15 06:40:23 knight"
-__version__ = "0.18"
+__revision__ = "TestCommon.py 0.20.D001 2006/02/16 06:28:21 knight"
+__version__ = "0.20"
import os
import os.path