summaryrefslogtreecommitdiffstats
path: root/test/option
diff options
context:
space:
mode:
authorSteven Knight <knight@baldmt.com>2005-06-02 13:40:28 (GMT)
committerSteven Knight <knight@baldmt.com>2005-06-02 13:40:28 (GMT)
commit8281e43014e93d8a8e674902410ba42e38355405 (patch)
tree70e700745fd48c5a42731cd63626b74f51e2ec8e /test/option
parent1d3c36ee983d5f26bbd9cf9733a8084eced1b2c4 (diff)
downloadSCons-8281e43014e93d8a8e674902410ba42e38355405.zip
SCons-8281e43014e93d8a8e674902410ba42e38355405.tar.gz
SCons-8281e43014e93d8a8e674902410ba42e38355405.tar.bz2
Print statistics even when we terminate early (e.g. using -h).
Diffstat (limited to 'test/option')
-rw-r--r--test/option/debug-count.py22
-rw-r--r--test/option/debug-memoizer.py24
-rw-r--r--test/option/debug-memory.py13
3 files changed, 36 insertions, 23 deletions
diff --git a/test/option/debug-count.py b/test/option/debug-count.py
index ca627e8..3cb924b 100644
--- a/test/option/debug-count.py
+++ b/test/option/debug-count.py
@@ -56,11 +56,9 @@ test.write('file.in', "file.in\n")
# Just check that object counts for some representative classes
# show up in the output.
-test.run(arguments = "--debug=count")
-stdout = test.stdout()
def find_object_count(s, stdout):
- re_string = '\d+ +\d+ +\d+ +\d+ %s' % re.escape(s)
+ re_string = '\d+ +\d+ %s' % re.escape(s)
return re.search(re_string, stdout)
objects = [
@@ -73,14 +71,18 @@ objects = [
'Node.Node',
]
-missing = filter(lambda o: find_object_count(o, stdout) is None, objects)
+for args in ['-h --debug=count', '--debug=count']:
+ test.run(arguments = args)
+ stdout = test.stdout()
-if missing:
- print "Missing the following object lines:"
- print "\t", string.join(missing)
- print "STDOUT =========="
- print stdout
- test.fail_test(1)
+ missing = filter(lambda o: find_object_count(o, stdout) is None, objects)
+
+ if missing:
+ print "Missing the following object lines from '%s' output:" % args
+ print "\t", string.join(missing)
+ print "STDOUT =========="
+ print stdout
+ test.fail_test(1)
test.pass_test()
diff --git a/test/option/debug-memoizer.py b/test/option/debug-memoizer.py
index 4249ca6..c9f001c 100644
--- a/test/option/debug-memoizer.py
+++ b/test/option/debug-memoizer.py
@@ -51,20 +51,20 @@ test.write('file.in', "file.in\n")
expect = [
"Memoizer (memory cache) hits and misses",
"Dir.exists()",
- "Executor.get_contents()",
- "File._save_str()",
- "SConsEnvironment.get_calculator()",
+ "File.exists()",
+ "SConsEnvironment.Detect()",
]
-test.run(arguments = '--debug=memoizer')
-stdout = test.stdout()
-missing = filter(lambda e, s=stdout: string.find(s, e) == -1, expect)
-if missing:
- print "Missing the following strings in the command line --debug=memoizer output:"
- print " " + string.join(missing, "\n ")
- print "STDOUT ============"
- print stdout
- test.fail_test(1)
+for args in ['-h --debug=memoizer', '--debug=memoizer']:
+ test.run(arguments = args)
+ stdout = test.stdout()
+ missing = filter(lambda e, s=stdout: string.find(s, e) == -1, expect)
+ if missing:
+ print "Missing the following strings in the command line '%s' output:" % args
+ print " " + string.join(missing, "\n ")
+ print "STDOUT ============"
+ print stdout
+ test.fail_test(1)
test.must_match('file.out', "file.in\n")
diff --git a/test/option/debug-memory.py b/test/option/debug-memory.py
index 3c3aebd..2812f50 100644
--- a/test/option/debug-memory.py
+++ b/test/option/debug-memory.py
@@ -54,7 +54,9 @@ env.Cat('file.out', 'file.in')
test.write('file.in', "file.in\n")
-test.run(arguments = "--debug=memory")
+
+
+test.run(arguments = '--debug=memory')
lines = string.split(test.stdout(), '\n')
@@ -65,4 +67,13 @@ test.fail_test(re.match(r'Memory after building targets: +\d+', lines[-2]) is No
+test.run(arguments = '-h --debug=memory')
+
+lines = string.split(test.stdout(), '\n')
+
+test.fail_test(re.match(r'Memory before reading SConscript files: +\d+', lines[-3]) is None)
+test.fail_test(re.match(r'Memory after reading SConscript files: +\d+', lines[-2]) is None)
+
+
+
test.pass_test()