File tree Expand file tree Collapse file tree 2 files changed +18
-2
lines changed
libs/libmythbase/test/test_mythtimer Expand file tree Collapse file tree 2 files changed +18
-2
lines changed Original file line number Diff line number Diff line change @@ -6,6 +6,11 @@ TARGET = test_mythtimer
6
6
DEPENDPATH += . ../..
7
7
INCLUDEPATH += . ../..
8
8
9
+ eval(QMAKE_CXX = g ++) {
10
+ QMAKE_CXXFLAGS += -O0 -fprofile-arcs -ftest-coverage
11
+ QMAKE_LFLAGS += -fprofile-arcs
12
+ }
13
+
9
14
# Input
10
15
HEADERS += test_mythtimer.h
11
16
SOURCES += test_mythtimer.cpp
@@ -14,3 +19,4 @@ HEADERS += mythtimer.h
14
19
SOURCES += mythtimer.cpp
15
20
16
21
QMAKE_CLEAN += $(TARGET) $(TARGETA) $(TARGETD) $(TARGET0) $(TARGET1) $(TARGET2)
22
+ QMAKE_CLEAN += ; rm -f *.gcov *.gcda *.gcno
Original file line number Diff line number Diff line change 5
5
DIRNAME=` which dirname`
6
6
BASENAME=` which basename`
7
7
SED=` which sed`
8
+ GCOV=` which gcov`
9
+ GREP=` which grep`
8
10
TEST_FAILED=0
9
11
10
12
11
13
TESTS=` find -name " test_*.pro" `
12
14
13
15
for TEST in $TESTS
14
16
do
15
- PATH =` $DIRNAME $TEST `
17
+ FPATH =` $DIRNAME $TEST `
16
18
EXEC=` $BASENAME $TEST | $SED -e ' s/.pro//' `
17
- RUNNABLE=$PATH /$EXEC
19
+ COV=` $BASENAME $TEST | $SED -e ' s/test_//' | $SED -e ' s/.pro/.cpp/' `
20
+ COVGCNO=` $BASENAME $TEST | $SED -e ' s/test_//' | $SED -e ' s/.pro/.gcno/' `
21
+ RUNNABLE=$FPATH /$EXEC
18
22
if test -x $RUNNABLE -a -f $RUNNABLE ; then
19
23
if ./$RUNNABLE ; then
24
+ if test -x $GCOV -a -f $FPATH /$COVGCNO ; then
25
+ P=` pwd` ; cd $FPATH # pushd==
26
+ LINES=` $GCOV $COV | $GREP Lines | $SED -e ' s/Lines//' `
27
+ echo Coverage: $COV $LINES . See $FPATH /$COV .gcov for details
28
+ cd $P # popd==
29
+ fi
20
30
echo
21
31
else
22
32
echo " error: A unit test failed."
You can’t perform that action at this time.
0 commit comments