diff --git a/Makefile b/Makefile index fff78b50226c293bcdc90ec5cee1ca23411a87a5..3e072edc9296fb158a4ed6aa3dce234aa4207734 100644 --- a/Makefile +++ b/Makefile @@ -34,12 +34,15 @@ files.md5: wifimngr: $(OBJS) $(CC) $(PROG_LDFLAGS) -o $@ $^ $(PROG_LIBS) - test: CFLAGS += -fPIC test: ${OBJS} ${CC} ${LDFLAGS} -shared -o libwifimngr.so ${OBJS} ${LIBS} - make -C test WIFIMNGR_LIB_DIR=$(PWD) - make -C test test + +unit-test: coverage + make -C test unit-test WIFIMNGR_LIB_DIR=$(PWD) + +functional-test: coverage + make -C test functional-test WIFIMNGR_LIB_DIR=$(PWD) coverage: CFLAGS += -g -O0 -fprofile-arcs -ftest-coverage coverage: LDFLAGS += --coverage @@ -51,4 +54,4 @@ clean: find -name '*.gcda' -exec rm {} -fv \; find -name '*.gcno' -exec rm {} -fv \; find -name '*.gcov' -exec rm {} -fv \; - make -C test clean \ No newline at end of file + make -C test clean diff --git a/test/Makefile b/test/Makefile index 37645a1c87b0d3078e48ede665d8d14f680dc462..b1005c07d31776980de504be9a26cc09a23188eb 100644 --- a/test/Makefile +++ b/test/Makefile @@ -5,21 +5,26 @@ CMOCKA_LIB = -l cmocka LIBS = $(WIFIMNGR_LIB) $(CMOCKA_LIB) -lwifi-5 -pthread -luci -lubus -lubox -ljson-c -lblobmsg_json -lnl-genl-3 -lnl-3 -ljson-validator -ljson-schema-validator -ljson-editor CFLAGS = -g -Wall -I.. LDFLAGS = $(LIBS) -Wl,-rpath=$(WIFIMNGR_LIB_DIR) -TESTS = api_test_wifi_setters - -api_test_wifi_%: api_test_wifi_%.o - $(CC) -o $@ $^ $(LDFLAGS) - -test: $(TESTS) - $(foreach testprog, $(TESTS), ./$(testprog);) +UNIT_TESTS = api_test_wifi_setters +FUNCTIONAL_TESTS = functional_test_wifi_event +UTILS = test_utils.o VALGRIND = valgrind --leak-check=full --show-reachable=no \ --show-leak-kinds=all --errors-for-leak-kinds=all \ --error-exitcode=1 --track-origins=yes -valgrind_test: test - $(foreach testprog, $(TESTS), sudo $(VALGRIND) ./$(testprog);) +api_test_wifi_%: $(UTILS) api_test_wifi_%.o + $(CC) -o $@ $^ $(LDFLAGS) + +functional_test_wifi_%: $(UTILS) functional_test_wifi_%.o + $(CC) -o $@ $^ $(LDFLAGS) + +unit-test: $(UNIT_TESTS) + $(foreach testprog, $(UNIT_TESTS), sudo $(VALGRIND) ./$(testprog);) + +functional-test: $(FUNCTIONAL_TESTS) + $(foreach testprog, $(FUNCTIONAL_TESTS), sudo $(VALGRIND) ./$(testprog);) .PHONY: clean clean: - rm $(TESTS) *.o -fv + rm $(UNIT_TESTS) $(FUNCTIONAL_TESTS) *.o -fv