Skip to content
Snippets Groups Projects
Commit ad1b38fd authored by Jakob Olsson's avatar Jakob Olsson
Browse files

Makefile: split test into unit-test and functional-test

parent f0e3c472
No related branches found
No related tags found
No related merge requests found
Pipeline #639 passed with warnings
...@@ -34,12 +34,15 @@ files.md5: ...@@ -34,12 +34,15 @@ files.md5:
wifimngr: $(OBJS) wifimngr: $(OBJS)
$(CC) $(PROG_LDFLAGS) -o $@ $^ $(PROG_LIBS) $(CC) $(PROG_LDFLAGS) -o $@ $^ $(PROG_LIBS)
test: CFLAGS += -fPIC test: CFLAGS += -fPIC
test: ${OBJS} test: ${OBJS}
${CC} ${LDFLAGS} -shared -o libwifimngr.so ${OBJS} ${LIBS} ${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: CFLAGS += -g -O0 -fprofile-arcs -ftest-coverage
coverage: LDFLAGS += --coverage coverage: LDFLAGS += --coverage
...@@ -51,4 +54,4 @@ clean: ...@@ -51,4 +54,4 @@ clean:
find -name '*.gcda' -exec rm {} -fv \; find -name '*.gcda' -exec rm {} -fv \;
find -name '*.gcno' -exec rm {} -fv \; find -name '*.gcno' -exec rm {} -fv \;
find -name '*.gcov' -exec rm {} -fv \; find -name '*.gcov' -exec rm {} -fv \;
make -C test clean make -C test clean
\ No newline at end of file
...@@ -5,21 +5,26 @@ CMOCKA_LIB = -l cmocka ...@@ -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 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.. CFLAGS = -g -Wall -I..
LDFLAGS = $(LIBS) -Wl,-rpath=$(WIFIMNGR_LIB_DIR) LDFLAGS = $(LIBS) -Wl,-rpath=$(WIFIMNGR_LIB_DIR)
TESTS = api_test_wifi_setters UNIT_TESTS = api_test_wifi_setters
FUNCTIONAL_TESTS = functional_test_wifi_event
api_test_wifi_%: api_test_wifi_%.o UTILS = test_utils.o
$(CC) -o $@ $^ $(LDFLAGS)
test: $(TESTS)
$(foreach testprog, $(TESTS), ./$(testprog);)
VALGRIND = valgrind --leak-check=full --show-reachable=no \ VALGRIND = valgrind --leak-check=full --show-reachable=no \
--show-leak-kinds=all --errors-for-leak-kinds=all \ --show-leak-kinds=all --errors-for-leak-kinds=all \
--error-exitcode=1 --track-origins=yes --error-exitcode=1 --track-origins=yes
valgrind_test: test api_test_wifi_%: $(UTILS) api_test_wifi_%.o
$(foreach testprog, $(TESTS), sudo $(VALGRIND) ./$(testprog);) $(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 .PHONY: clean
clean: clean:
rm $(TESTS) *.o -fv rm $(UNIT_TESTS) $(FUNCTIONAL_TESTS) *.o -fv
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment