mirror of
https://github.com/Ardour/ardour.git
synced 2025-12-07 23:35:03 +01:00
Unit test code coverage using lcov.
git-svn-id: svn://localhost/ardour2/branches/3.0@5892 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
parent
49a6e300c3
commit
8340dcdd57
2 changed files with 59 additions and 18 deletions
|
|
@ -1,8 +1,29 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../../build/default/libs/evoral
|
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../../build/default/libs/evoral
|
||||||
if test -f ./test/testdata/TakeFive.mid
|
if [ ! -f './test/testdata/TakeFive.mid' ]; then
|
||||||
then
|
echo "This script must be run from within the libs/evoral directory";
|
||||||
../../build/default/libs/evoral/run-tests
|
exit 1;
|
||||||
else
|
|
||||||
echo "This script must be run from within the libs/evoral directory"
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
srcdir=`pwd`
|
||||||
|
|
||||||
|
# Make symlink to TakeFive.mid in build directory
|
||||||
|
cd ../../build/default/libs/evoral
|
||||||
|
mkdir -p ./test/testdata
|
||||||
|
ln -fs $srcdir/test/testdata/TakeFive.mid \
|
||||||
|
./test/testdata/TakeFive.mid
|
||||||
|
|
||||||
|
lcov -d ./src -z
|
||||||
|
./run-tests
|
||||||
|
lcov -d ./src -d ./test -b ../../.. -c > coverage.lcov
|
||||||
|
lcov -r coverage.lcov *boost* *c++* *usr/include* -o coverage.lcov
|
||||||
|
mkdir -p ./coverage
|
||||||
|
genhtml -o coverage coverage.lcov
|
||||||
|
#rm -r coverage/boost
|
||||||
|
#rm -r coverage/usr
|
||||||
|
#rm -r coverage/c++
|
||||||
|
#rm -r coverage/cppunit
|
||||||
|
#rm -r coverage/glibmm-2.4
|
||||||
|
#rm -r coverage/sigc++-2.0
|
||||||
|
echo "Report written to:"
|
||||||
|
echo "../../build/default/libs/evoral/coverage/index.html"
|
||||||
|
|
|
||||||
|
|
@ -70,9 +70,7 @@ def build(bld):
|
||||||
libsmf.uselib = 'GLIB'
|
libsmf.uselib = 'GLIB'
|
||||||
libsmf.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3')
|
libsmf.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3')
|
||||||
|
|
||||||
# Library
|
lib_source = '''
|
||||||
obj = bld.new_task_gen('cxx', 'shlib')
|
|
||||||
obj.source = '''
|
|
||||||
src/Control.cpp
|
src/Control.cpp
|
||||||
src/ControlList.cpp
|
src/ControlList.cpp
|
||||||
src/ControlSet.cpp
|
src/ControlSet.cpp
|
||||||
|
|
@ -84,6 +82,10 @@ def build(bld):
|
||||||
src/SMF.cpp
|
src/SMF.cpp
|
||||||
src/Sequence.cpp
|
src/Sequence.cpp
|
||||||
'''
|
'''
|
||||||
|
|
||||||
|
# Library
|
||||||
|
obj = bld.new_task_gen('cxx', 'shlib')
|
||||||
|
obj.source = lib_source
|
||||||
obj.export_incdirs = ['.']
|
obj.export_incdirs = ['.']
|
||||||
obj.includes = ['.', './src']
|
obj.includes = ['.', './src']
|
||||||
obj.name = 'libevoral'
|
obj.name = 'libevoral'
|
||||||
|
|
@ -93,8 +95,23 @@ def build(bld):
|
||||||
obj.vnum = EVORAL_LIB_VERSION
|
obj.vnum = EVORAL_LIB_VERSION
|
||||||
obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3')
|
obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3')
|
||||||
|
|
||||||
# Unit tests
|
|
||||||
if bld.env['BUILD_TESTS'] and bld.env['HAVE_CPPUNIT']:
|
if bld.env['BUILD_TESTS'] and bld.env['HAVE_CPPUNIT']:
|
||||||
|
# Static library (for unit test code coverage)
|
||||||
|
obj = bld.new_task_gen('cxx', 'staticlib')
|
||||||
|
obj.source = lib_source
|
||||||
|
obj.source = lib_source
|
||||||
|
obj.export_incdirs = ['.']
|
||||||
|
obj.includes = ['.', './src']
|
||||||
|
obj.name = 'libevoral_static'
|
||||||
|
obj.target = 'evoral_static'
|
||||||
|
obj.uselib = 'GLIBMM GTHREAD SMF'
|
||||||
|
obj.uselib_local = 'libsmf'
|
||||||
|
obj.vnum = EVORAL_LIB_VERSION
|
||||||
|
obj.install_path = ''
|
||||||
|
obj.ccflags = [ '-fprofile-arcs', '-ftest-coverage' ]
|
||||||
|
obj.cxxflags = [ '-fprofile-arcs', '-ftest-coverage' ]
|
||||||
|
|
||||||
|
# Unit tests
|
||||||
obj = bld.new_task_gen('cxx', 'program')
|
obj = bld.new_task_gen('cxx', 'program')
|
||||||
obj.source = '''
|
obj.source = '''
|
||||||
test/SequenceTest.cpp
|
test/SequenceTest.cpp
|
||||||
|
|
@ -102,10 +119,13 @@ def build(bld):
|
||||||
test/testrunner.cpp
|
test/testrunner.cpp
|
||||||
'''
|
'''
|
||||||
obj.includes = ['.', './src']
|
obj.includes = ['.', './src']
|
||||||
obj.uselib_local = 'libevoral'
|
obj.uselib_local = 'libevoral_static'
|
||||||
obj.uselib = 'CPPUNIT'
|
obj.uselib = 'CPPUNIT'
|
||||||
|
obj.libs = 'gcov'
|
||||||
obj.target = 'run-tests'
|
obj.target = 'run-tests'
|
||||||
obj.install_path = ''
|
obj.install_path = ''
|
||||||
|
obj.ccflags = [ '-fprofile-arcs', '-ftest-coverage' ]
|
||||||
|
obj.cxxflags = [ '-fprofile-arcs', '-ftest-coverage' ]
|
||||||
|
|
||||||
def shutdown():
|
def shutdown():
|
||||||
autowaf.shutdown()
|
autowaf.shutdown()
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue