summaryrefslogtreecommitdiffstats
path: root/autowaf.py
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2011-01-21 00:29:06 +0000
committerDavid Robillard <d@drobilla.net>2011-01-21 00:29:06 +0000
commitbdec4111d0a5cca5cd66ebe5911aa7776191f75d (patch)
treedf8ff9463c9e476de648eac4d77c27ef584a7b5a /autowaf.py
parent5a473d3e8192512f4f4a7e89868ef84096c1635c (diff)
downloadautowaf-bdec4111d0a5cca5cd66ebe5911aa7776191f75d.tar.gz
autowaf-bdec4111d0a5cca5cd66ebe5911aa7776191f75d.tar.bz2
autowaf-bdec4111d0a5cca5cd66ebe5911aa7776191f75d.zip
Change to build dir once for all test runs.
Less blinding test console output. git-svn-id: http://svn.drobilla.net/autowaf@27 e2e4594f-ea7b-45dc-bc5a-5f5301e603aa
Diffstat (limited to 'autowaf.py')
-rw-r--r--autowaf.py44
1 files changed, 21 insertions, 23 deletions
diff --git a/autowaf.py b/autowaf.py
index 3782292..a5abbae 100644
--- a/autowaf.py
+++ b/autowaf.py
@@ -399,10 +399,9 @@ def cd_to_build_dir(ctx, appname):
top_level = (len(ctx.stack_path) > 1)
if top_level:
os.chdir('./build/' + appname)
- return True
else:
os.chdir('./build')
- return False
+ Logs.pprint('GREEN', "Waf: Entering directory `%s'" % os.path.abspath(os.getcwd()))
def cd_to_orig_dir(ctx, child):
if child:
@@ -414,7 +413,7 @@ def pre_test(ctx, appname, dirs=['./src']):
diropts = ''
for i in dirs:
diropts += ' -d ' + i
- child = cd_to_build_dir(ctx, appname)
+ cd_to_build_dir(ctx, appname)
clear_log = open('lcov-clear.log', 'w')
try:
# Clear coverage data
@@ -424,19 +423,17 @@ def pre_test(ctx, appname, dirs=['./src']):
print "Failed to run lcov, no coverage report will be generated"
finally:
clear_log.close()
- cd_to_orig_dir(ctx, child)
def post_test(ctx, appname, dirs=['./src']):
diropts = ''
for i in dirs:
diropts += ' -d ' + i
- child = cd_to_build_dir(ctx, appname)
coverage_log = open('lcov-coverage.log', 'w')
coverage_lcov = open('coverage.lcov', 'w')
coverage_stripped_lcov = open('coverage-stripped.lcov', 'w')
try:
base = '.'
- if child:
+ if g_is_child:
base = '..'
# Generate coverage data
subprocess.call(('lcov -c %s -b %s' % (diropts, base)).split(),
@@ -457,7 +454,17 @@ def post_test(ctx, appname, dirs=['./src']):
coverage_stripped_lcov.close()
coverage_lcov.close()
coverage_log.close()
- cd_to_orig_dir(ctx, child)
+
+ print
+ Logs.pprint('GREEN', "Waf: Leaving directory `%s'" % os.path.abspath(os.getcwd()))
+ top_level = (len(ctx.stack_path) > 1)
+ if top_level:
+ cd_to_orig_dir(ctx, top_level)
+
+ print
+ Logs.pprint('BOLD', 'Coverage:', sep='')
+ print '<file://' + os.path.abspath('coverage/index.html') + '>'
+ print
def run_tests(ctx, appname, tests, desired_status=0, dirs=['./src'], name='*'):
failures = 0
@@ -465,39 +472,30 @@ def run_tests(ctx, appname, tests, desired_status=0, dirs=['./src'], name='*'):
for i in dirs:
diropts += ' -d ' + i
- child = cd_to_build_dir(ctx, appname)
-
- Logs.pprint('GREEN', "Waf: Entering directory `%s'" % os.path.abspath(os.getcwd()))
-
# Run all tests
for i in tests:
s = i
if type(i) == type([]):
s = ' '.join(i)
- Logs.pprint('BOLD', 'Running test %s' % s)
+ print
+ Logs.pprint('BOLD', '** Test', sep='')
+ Logs.pprint('NORMAL', '%s' % s)
cmd = i
if Options.options.grind:
cmd = 'valgrind ' + i
if subprocess.call(cmd, shell=True) == desired_status:
- Logs.pprint('GREEN', 'Passed test %s' % s)
+ Logs.pprint('GREEN', '** Pass')
else:
failures += 1
- Logs.pprint('RED', 'Failed test %s' % s)
- print
+ Logs.pprint('RED', '** FAIL')
- Logs.pprint('BOLD', 'Summary: ', sep=''),
+ print
+ Logs.pprint('BOLD', 'Summary:', sep=''),
if failures == 0:
Logs.pprint('GREEN', 'All %s.%s tests passed' % (appname, name))
else:
Logs.pprint('RED', '%d %s.%s tests failed' % (failures, appname, name))
- Logs.pprint('BOLD', 'Coverage:', sep='')
- print '<file://' + os.path.abspath('coverage/index.html') + '>'
- print
-
- Logs.pprint('GREEN', "Waf: Leaving directory `%s'" % os.path.abspath(os.getcwd()))
- cd_to_orig_dir(ctx, child)
-
def run_ldconfig(ctx):
if ctx.cmd == 'install':
print 'Running /sbin/ldconfig'