diff options
author | David Robillard <d@drobilla.net> | 2018-10-28 13:27:43 +0100 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2018-10-28 13:27:43 +0100 |
commit | 4687ba6d8ccca30dc3cc2ad2c14e6a272eaf1f54 (patch) | |
tree | 9cc08005a1a53cd9cff91cde37bdf632fb5de927 /extras | |
parent | 258903d97ffd0f47c8ec70e851bf09e1d86c6c30 (diff) | |
download | autowaf-4687ba6d8ccca30dc3cc2ad2c14e6a272eaf1f54.tar.gz autowaf-4687ba6d8ccca30dc3cc2ad2c14e6a272eaf1f54.tar.bz2 autowaf-4687ba6d8ccca30dc3cc2ad2c14e6a272eaf1f54.zip |
Use gtest-like test output
Diffstat (limited to 'extras')
-rw-r--r-- | extras/autowaf.py | 42 |
1 files changed, 21 insertions, 21 deletions
diff --git a/extras/autowaf.py b/extras/autowaf.py index 256d03a..c49bee7 100644 --- a/extras/autowaf.py +++ b/extras/autowaf.py @@ -731,8 +731,6 @@ def cd_to_build_dir(ctx, appname): os.chdir(os.path.join('build', appname)) else: os.chdir('build') - Logs.pprint('GREEN', ("Waf: Entering directory `%s'" % - os.path.abspath(os.getcwd()))) def cd_to_orig_dir(ctx, child): if child: @@ -741,6 +739,8 @@ def cd_to_orig_dir(ctx, child): os.chdir('..') def pre_test(ctx, appname, dirs=['src']): + Logs.pprint('GREEN', '\n[==========] Running %s tests' % appname) + if not hasattr(ctx, 'autowaf_tests_total'): ctx.autowaf_tests_total = 0 ctx.autowaf_tests_failed = 0 @@ -806,21 +806,20 @@ def post_test(ctx, appname, dirs=['src'], remove=['*boost*', 'c++*']): coverage_lcov.close() coverage_log.close() - if ctx.autowaf_tests[appname]['failed'] > 0: - Logs.pprint('RED', '\nSummary: %d / %d %s tests failed' % ( - ctx.autowaf_tests[appname]['failed'], - ctx.autowaf_tests[appname]['total'], - appname)) - else: - Logs.pprint('GREEN', '\nSummary: All %d %s tests passed' % ( - ctx.autowaf_tests[appname]['total'], appname)) - + total_tests = ctx.autowaf_tests[appname]['total'] + failed_tests = ctx.autowaf_tests[appname]['failed'] + passed_tests = total_tests - failed_tests + Logs.pprint('GREEN', '[==========] %d tests from %s ran' % ( + total_tests, appname)) if not ctx.env.NO_COVERAGE: - Logs.pprint('GREEN', 'Coverage: <file://%s>\n' + Logs.pprint('GREEN', '[----------] Coverage: <file://%s>' % os.path.abspath('coverage/index.html')) - Logs.pprint('GREEN', ("Waf: Leaving directory `%s'" % - os.path.abspath(os.getcwd()))) + Logs.pprint('GREEN', '[ PASSED ] %d tests' % passed_tests) + if failed_tests > 0: + Logs.pprint('RED', '[ FAILED ] %d tests' % failed_tests) + Logs.pprint('', '') + top_level = (len(ctx.stack_path) > 1) if top_level: cd_to_orig_dir(ctx, top_level) @@ -854,7 +853,7 @@ def run_test(ctx, if isinstance(test, type([])): s = ' '.join(test) if header and not quiet: - Logs.pprint('Green', '\n** Test %s' % s) + Logs.pprint('Green', '\n[ RUN ] %s' % s) cmd = test if Options.options.test_wrapper: cmd = Options.options.test_wrapper + ' ' + test @@ -869,9 +868,9 @@ def run_test(ctx, success = desired_status is None or returncode == desired_status if success: if not quiet: - Logs.pprint('GREEN', '** Pass %s' % name) + Logs.pprint('GREEN', '[ OK ] %s' % name) else: - Logs.pprint('RED', '** FAIL %s' % name) + Logs.pprint('RED', '[ FAILED ] %s' % name) ctx.autowaf_tests_failed += 1 ctx.autowaf_local_tests_failed += 1 ctx.autowaf_tests[appname]['failed'] += 1 @@ -893,7 +892,7 @@ def tests_name(ctx, appname, name='*'): def begin_tests(ctx, appname, name='*'): ctx.autowaf_local_tests_failed = 0 ctx.autowaf_local_tests_total = 0 - Logs.pprint('GREEN', '\n** Begin %s tests' % ( + Logs.pprint('GREEN', '[----------] %s' % ( tests_name(ctx, appname, name))) class Handle: @@ -906,13 +905,14 @@ def begin_tests(ctx, appname, name='*'): return Handle() def end_tests(ctx, appname, name='*'): + total = ctx.autowaf_local_tests_total failures = ctx.autowaf_local_tests_failed if failures == 0: - Logs.pprint('GREEN', '** Passed all %d %s tests' % ( + Logs.pprint('GREEN', '[----------] %d tests from %s\n' % ( ctx.autowaf_local_tests_total, tests_name(ctx, appname, name))) else: - Logs.pprint('RED', '** Failed %d / %d %s tests' % ( - failures, ctx.autowaf_local_tests_total, tests_name(ctx, appname, name))) + Logs.pprint('RED', '[----------] %d/%d tests from %s\n' % ( + total - failures, total, tests_name(ctx, appname, name))) def run_tests(ctx, appname, |