Add CONFIG_CODE_COVERAGE=y option for gcov
authorJouni Malinen <j@w1.fi>
Sun, 24 Nov 2013 17:16:12 +0000 (19:16 +0200)
committerJouni Malinen <j@w1.fi>
Sun, 24 Nov 2013 17:16:12 +0000 (19:16 +0200)
This can be used to measure code coverage from test scripts.

Signed-hostap: Jouni Malinen <j@w1.fi>

19 files changed:
.gitignore
hostapd/Makefile
src/ap/Makefile
src/common/Makefile
src/crypto/Makefile
src/drivers/Makefile
src/eap_common/Makefile
src/eap_peer/Makefile
src/eap_server/Makefile
src/eapol_auth/Makefile
src/eapol_supp/Makefile
src/l2_packet/Makefile
src/p2p/Makefile
src/radius/Makefile
src/rsn_supp/Makefile
src/utils/Makefile
src/wps/Makefile
wpa_supplicant/Makefile
wpa_supplicant/dbus/Makefile

index 7420b72..ae624c9 100644 (file)
@@ -1,5 +1,8 @@
 *.o
 *.d
+*.gcno
+*.gcda
+*.gcov
 *.pyc
 *~
 .config
index b4704ba..ae96d35 100644 (file)
@@ -105,6 +105,14 @@ OBJS += ../src/common/wpa_common.o
 OBJS += ../src/eapol_auth/eapol_auth_sm.o
 
 
+ifdef CONFIG_CODE_COVERAGE
+CFLAGS += -O0 -fprofile-arcs -ftest-coverage
+LIBS += -lgcov
+LIBS_c += -lgcov
+LIBS_h += -lgcov
+LIBS_n += -lgcov
+endif
+
 ifndef CONFIG_NO_DUMP_STATE
 # define HOSTAPD_DUMP_STATE to include SIGUSR1 handler for dumping state to
 # a file (undefine it, if you want to save in binary size)
@@ -939,6 +947,6 @@ hlr_auc_gw: $(HOBJS)
 clean:
        $(MAKE) -C ../src clean
        rm -f core *~ *.o hostapd hostapd_cli nt_password_hash hlr_auc_gw
-       rm -f *.d
+       rm -f *.d *.gcno *.gcda *.gcov
 
 -include $(OBJS:%.o=%.d)
index 9c41962..adfd3df 100644 (file)
@@ -2,7 +2,7 @@ all:
        @echo Nothing to be made.
 
 clean:
-       rm -f *~ *.o *.d
+       rm -f *~ *.o *.d *.gcno *.gcda *.gcov
 
 install:
        @echo Nothing to be made.
index 9c41962..adfd3df 100644 (file)
@@ -2,7 +2,7 @@ all:
        @echo Nothing to be made.
 
 clean:
-       rm -f *~ *.o *.d
+       rm -f *~ *.o *.d *.gcno *.gcda *.gcov
 
 install:
        @echo Nothing to be made.
index a605a65..fcf9586 100644 (file)
@@ -1,7 +1,7 @@
 all: libcrypto.a
 
 clean:
-       rm -f *~ *.o *.d libcrypto.a
+       rm -f *~ *.o *.d *.gcno *.gcda *.gcov libcrypto.a
 
 install:
        @echo Nothing to be made.
index 07600e5..5721154 100644 (file)
@@ -2,7 +2,7 @@ all:
        @echo Nothing to be made.
 
 clean:
-       rm -f *~ *.o *.d
+       rm -f *~ *.o *.d *.gcno *.gcda *.gcov
        rm -f build.wpa_supplicant build.hostapd
 
 install:
index 9c41962..adfd3df 100644 (file)
@@ -2,7 +2,7 @@ all:
        @echo Nothing to be made.
 
 clean:
-       rm -f *~ *.o *.d
+       rm -f *~ *.o *.d *.gcno *.gcda *.gcov
 
 install:
        @echo Nothing to be made.
index 3651056..f79519b 100644 (file)
@@ -2,7 +2,7 @@ all:
        @echo Nothing to be made.
 
 clean:
-       rm -f *~ *.o *.so *.d
+       rm -f *~ *.o *.so *.d *.gcno *.gcda *.gcov
 
 install:
        if ls *.so >/dev/null 2>&1; then \
index 9c41962..adfd3df 100644 (file)
@@ -2,7 +2,7 @@ all:
        @echo Nothing to be made.
 
 clean:
-       rm -f *~ *.o *.d
+       rm -f *~ *.o *.d *.gcno *.gcda *.gcov
 
 install:
        @echo Nothing to be made.
index 9c41962..adfd3df 100644 (file)
@@ -2,7 +2,7 @@ all:
        @echo Nothing to be made.
 
 clean:
-       rm -f *~ *.o *.d
+       rm -f *~ *.o *.d *.gcno *.gcda *.gcov
 
 install:
        @echo Nothing to be made.
index 9c41962..adfd3df 100644 (file)
@@ -2,7 +2,7 @@ all:
        @echo Nothing to be made.
 
 clean:
-       rm -f *~ *.o *.d
+       rm -f *~ *.o *.d *.gcno *.gcda *.gcov
 
 install:
        @echo Nothing to be made.
index 9c41962..adfd3df 100644 (file)
@@ -2,7 +2,7 @@ all:
        @echo Nothing to be made.
 
 clean:
-       rm -f *~ *.o *.d
+       rm -f *~ *.o *.d *.gcno *.gcda *.gcov
 
 install:
        @echo Nothing to be made.
index cffba62..adfd3df 100644 (file)
@@ -2,8 +2,7 @@ all:
        @echo Nothing to be made.
 
 clean:
-       for d in $(SUBDIRS); do make -C $$d clean; done
-       rm -f *~ *.o *.d
+       rm -f *~ *.o *.d *.gcno *.gcda *.gcov
 
 install:
        @echo Nothing to be made.
index b199be8..b5d063d 100644 (file)
@@ -1,7 +1,7 @@
 all: libradius.a
 
 clean:
-       rm -f *~ *.o *.d libradius.a
+       rm -f *~ *.o *.d *.gcno *.gcda *.gcov libradius.a
 
 install:
        @echo Nothing to be made.
index 9c41962..adfd3df 100644 (file)
@@ -2,7 +2,7 @@ all:
        @echo Nothing to be made.
 
 clean:
-       rm -f *~ *.o *.d
+       rm -f *~ *.o *.d *.gcno *.gcda *.gcov
 
 install:
        @echo Nothing to be made.
index b04a8a3..8aad813 100644 (file)
@@ -1,7 +1,7 @@
 all: libutils.a
 
 clean:
-       rm -f *~ *.o *.d libutils.a
+       rm -f *~ *.o *.d *.gcno *.gcda *.gcov libutils.a
 
 install:
        @echo Nothing to be made.
index 9c41962..adfd3df 100644 (file)
@@ -2,7 +2,7 @@ all:
        @echo Nothing to be made.
 
 clean:
-       rm -f *~ *.o *.d
+       rm -f *~ *.o *.d *.gcno *.gcda *.gcov
 
 install:
        @echo Nothing to be made.
index f6a46d2..260c0ae 100644 (file)
@@ -129,6 +129,13 @@ ifdef CONFIG_EAPOL_TEST
 CFLAGS += -Werror -DEAPOL_TEST
 endif
 
+ifdef CONFIG_CODE_COVERAGE
+CFLAGS += -O0 -fprofile-arcs -ftest-coverage
+LIBS += -lgcov
+LIBS_c += -lgcov
+LIBS_p += -lgcov
+endif
+
 ifdef CONFIG_HT_OVERRIDES
 CFLAGS += -DCONFIG_HT_OVERRIDES
 endif
@@ -1672,7 +1679,8 @@ fips:
 clean:
        $(MAKE) -C ../src clean
        $(MAKE) -C dbus clean
-       rm -f core *~ *.o *.d eap_*.so $(ALL) $(WINALL) eapol_test preauth_test
+       rm -f core *~ *.o *.d *.gcno *.gcda *.gcov
+       rm -f eap_*.so $(ALL) $(WINALL) eapol_test preauth_test
        rm -f wpa_priv
        rm -f nfc_pw_token
 
index d64c65c..f355ebe 100644 (file)
@@ -1,7 +1,7 @@
 all: libwpadbus.a
 
 clean:
-       rm -f *~ *.o *.d
+       rm -f *~ *.o *.d *.gcno *.gcda *.gcov
        rm -f libwpadbus.a
 
 install: