From: Felix Dörre Date: Mon, 9 Feb 2015 23:53:03 +0000 (+0100) Subject: ADD: gcov make launch X-Git-Url: http://code.wpia.club/?a=commitdiff_plain;h=28e331e99235c616e8ccd27b7b5083bae47a1c1b;p=cassiopeia.git ADD: gcov make launch --- diff --git a/.gitignore b/.gitignore index 56e0b1c..2bc7011 100644 --- a/.gitignore +++ b/.gitignore @@ -35,3 +35,5 @@ obj *.csr config.txt serial +*.gcov +gcov.log diff --git a/Makefile b/Makefile index d39af3e..12bf2e4 100644 --- a/Makefile +++ b/Makefile @@ -36,6 +36,12 @@ CFLAGS+=${ADDFLAGS} -Wall -Werror -Wextra -pedantic -std=c++11 -Ilib/openssl/inc CXXFLAGS=$(CFLAGS) LDFLAGS+=${ADDFLAGS} -L/usr/lib/i386-linux-gnu/ -lssl -lcrypto -ldl -Llib/openssl +ifneq (,$(filter coverage,$(DEB_BUILD_OPTIONS))) + LDFLAGS += -lgcov + CFLAGS += -fprofile-arcs -ftest-coverage +endif + + SRC_DIR=src OBJ_DIR=obj DEP_DIR=dep @@ -55,6 +61,8 @@ all: build .PHONY: clean clean:: -rm -rf .libs + -rm -rf *.gcov + -rm -rf gcov.log -rm -rf *.a -rm -rf *.d -rm -rf *.o @@ -96,6 +104,13 @@ openssl: collissiondetect: ${MAKE} -C lib/collissiondetect +.PHONY: coverage +coverage: + find . -name "*.gcda" -exec rm {} + + ${MAKE} "DEB_BUILD_OPTIONS=coverage noopt" + find obj -name "*.gcda" -exec gcov -p {} + > gcov.log + + # -------- cassiopeia: bin/cassiopeia bin/cassiopeia-signer diff --git a/src/util.cpp b/src/util.cpp index f3d95c0..20d4660 100644 --- a/src/util.cpp +++ b/src/util.cpp @@ -78,7 +78,7 @@ std::pair parseDate( const std::string& date ) { std::size_t siz = strftime( check, 11, "%Y-%m-%d", &t ); if( siz != 10 ) { - return std::pair( false, 0 ); + return std::pair( false, 0 ); // NO-COVERAGE (by contract of strftime) } std::string checkS( check, siz ); diff --git a/test/Makefile b/test/Makefile index 114e9ee..68e794e 100644 --- a/test/Makefile +++ b/test/Makefile @@ -23,6 +23,12 @@ CFLAGS+=${ADDFLAGS} -Wall -Werror -Wextra -pedantic -std=c++11 -I../src -I../lib CXXFLAGS=$(CFLAGS) LDFLAGS+=${ADDFLAGS} -lmysqlclient -lssl -lcrypto -ldl -lboost_unit_test_framework -L../lib/openssl -L/usr/lib/i386-linux-gnu +ifneq (,$(filter coverage,$(DEB_BUILD_OPTIONS))) + LDFLAGS += -lgcov + CFLAGS += -fprofile-arcs -ftest-coverage +endif + + SRC_DIR=src OBJ_DIR=obj DEP_DIR=dep diff --git a/test/src/time.cpp b/test/src/time.cpp index ccdd1f4..b6081d0 100644 --- a/test/src/time.cpp +++ b/test/src/time.cpp @@ -8,10 +8,6 @@ BOOST_AUTO_TEST_SUITE( TestTime ) BOOST_AUTO_TEST_CASE( testParseDate ) { - if( 1 ) { - return; - } - auto r = parseDate( "2012-01-01" ); BOOST_CHECK( r.first ); BOOST_CHECK( r.second == 1325376000 ); @@ -24,6 +20,7 @@ BOOST_AUTO_TEST_CASE( testParseDate ) { BOOST_CHECK( !( parseDate( "hallo" ) ).first ); BOOST_CHECK( !( parseDate( "aaaa-aa-aa" ) ).first ); BOOST_CHECK( !( parseDate( "32-12-12" ) ).first ); + BOOST_CHECK( !( parseDate( "2000-12-01z" ) ).first ); BOOST_CHECK( !( parseDate( "2000-13-01" ) ).first ); BOOST_CHECK( !( parseDate( "2000-00-01" ) ).first ); BOOST_CHECK( !( parseDate( "2000-02-30" ) ).first ); @@ -71,6 +68,7 @@ BOOST_AUTO_TEST_CASE( testInvalidInverval ) { BOOST_CHECK( !( parseMonthInterval( base, "--2m" ).first ) ); BOOST_CHECK( !( parseMonthInterval( base, "25m" ).first ) ); // too big + BOOST_CHECK( !( parseYearInterval( base, "12k" ).first ) ); BOOST_CHECK( !( parseYearInterval( base, "12my" ).first ) ); BOOST_CHECK( !( parseYearInterval( base, "-2m2y" ).first ) ); BOOST_CHECK( !( parseYearInterval( base, "--2y" ).first ) );