diff options
author | David Robillard <d@drobilla.net> | 2010-01-07 21:27:39 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2010-01-07 21:27:39 +0000 |
commit | 936348fd730f2d3ebc5376b555f0cfc1e633c019 (patch) | |
tree | 007c54a11246877df07e00f11559380282826ccf | |
parent | 5e4654826a1b726a8b2fc88520975311a2553d71 (diff) | |
download | lilv-936348fd730f2d3ebc5376b555f0cfc1e633c019.tar.gz lilv-936348fd730f2d3ebc5376b555f0cfc1e633c019.tar.bz2 lilv-936348fd730f2d3ebc5376b555f0cfc1e633c019.zip |
Move unit testing and coverage framework into autowaf.
Make raul tests return 0 on success, 1 on failure.
Test coverage for Raul.
git-svn-id: http://svn.drobilla.net/lad/trunk/slv2@2368 a436a847-0d15-0410-975c-d299462d15a1
-rw-r--r-- | test/slv2_test.c | 4 | ||||
-rwxr-xr-x | test/test_coverage.sh | 16 | ||||
-rw-r--r-- | test/wscript | 18 | ||||
-rw-r--r-- | wscript | 25 |
4 files changed, 22 insertions, 41 deletions
diff --git a/test/slv2_test.c b/test/slv2_test.c index 842f3bb..0ee3caf 100644 --- a/test/slv2_test.c +++ b/test/slv2_test.c @@ -996,7 +996,7 @@ run_tests() { int i; for (i = 0; tests[i].title; i++) { - printf("--- Test: %s\n", tests[i].title); + printf("*** Test %s\n", tests[i].title); if (!tests[i].func()) { printf("\nTest failed\n"); /* test case that wasn't able to be executed at all counts as 1 test + 1 error */ @@ -1018,7 +1018,7 @@ main(int argc, char *argv[]) init_tests(); run_tests(); cleanup(); - printf("\n***\n*** Test Results: %d tests, %d errors\n***\n\n", test_count, error_count); + printf("\n*** Test Results: %d tests, %d errors\n\n", test_count, error_count); return error_count ? 1 : 0; } diff --git a/test/test_coverage.sh b/test/test_coverage.sh deleted file mode 100755 index 045f136..0000000 --- a/test/test_coverage.sh +++ /dev/null @@ -1,16 +0,0 @@ -#!/bin/sh - -# Run this script (from the directory it's in) after building -# (with waf configure --debug --test) to run the -# unit tests and generate a code coverage report - -cd ../build/default - -lcov -d ./src -z -./test/slv2_test -lcov -d ./src -d ./test -b .. -c > coverage.lcov -mkdir -p ./coverage -genhtml -o coverage coverage.lcov -echo "Report written to:" -echo "../build/default/coverage/index.html" - diff --git a/test/wscript b/test/wscript deleted file mode 100644 index 11f5b33..0000000 --- a/test/wscript +++ /dev/null @@ -1,18 +0,0 @@ -#!/usr/bin/env python - -def build(bld): - tests = ''' - slv2_test - ''' - if bld.env['BUILD_TESTS']: - for i in tests.split(): - obj = bld.new_task_gen('cc', 'program') - obj.source = i + '.c' - obj.includes = '..' - obj.uselib_local = 'libslv2_static' - obj.uselib = 'REDLAND LV2CORE' - obj.libs = 'gcov' - obj.target = i - obj.install_path = '' - obj.ccflags = [ '-fprofile-arcs', '-ftest-coverage' ] - @@ -72,6 +72,10 @@ def configure(conf): autowaf.display_msg(conf, "Dynamic Manifest Support", str(conf.env['SLV2_DYN_MANIFEST'] == 1)) print +tests = ''' + test/slv2_test +''' + def build(bld): # C Headers bld.install_files('${INCLUDEDIR}/slv2', 'slv2/*.h') @@ -107,8 +111,8 @@ def build(bld): obj.ccflags = [ '-ldl' ] autowaf.use_lib(bld, obj, 'REDLAND LV2CORE') - # Static library (for unit test code coverage) if bld.env['BUILD_TESTS']: + # Static library (for unit test code coverage) obj = bld.new_task_gen('cc', 'staticlib') obj.source = lib_source obj.includes = ['.', './src'] @@ -117,6 +121,18 @@ def build(bld): obj.install_path = '' obj.ccflags = [ '-fprofile-arcs', '-ftest-coverage' ] + # Unit tests + for i in tests.split(): + obj = bld.new_task_gen('cc', 'program') + obj.source = i + '.c' + obj.includes = '..' + obj.uselib_local = 'libslv2_static' + obj.uselib = 'REDLAND LV2CORE' + obj.libs = 'gcov' + obj.target = i + obj.install_path = '' + obj.ccflags = [ '-fprofile-arcs', '-ftest-coverage' ] + # Utilities utils = ''' utils/lv2_inspect @@ -144,9 +160,6 @@ def build(bld): obj.target = i obj.install_path = '${BINDIR}' - # Unit tests - bld.add_subdirs('test') - # Documentation autowaf.build_dox(bld, 'SLV2', SLV2_VERSION, srcdir, blddir) bld.install_files('${HTMLDIR}', blddir + '/default/doc/html/*') @@ -158,6 +171,8 @@ def build(bld): bld.install_as( '/etc/bash_completion.d/slv2', 'utils/slv2.bash_completion') +def test(ctx): + autowaf.run_tests(APPNAME, tests.split()) + def shutdown(): autowaf.shutdown() - |