SSLproxy/tests/check/GNUmakefile
Soner Tari add8bcda09 Add line_num to filtering rules with DEBUG_PROXY
Error out unit tests if DEBUG_PROXY enabled, because we debug print
line_num if DEBUG_PROXY enabled. We cannot support line_num in expected
debug output, it would make things complicated with very little benefit.
2021-11-03 02:28:31 +03:00

67 lines
1.7 KiB
Makefile

PROJECT_ROOT= ../..
include $(PROJECT_ROOT)/Mk/main.mk
ifndef SRCDIR
$(error SRCDIR not defined)
endif
SRCS:= $(wildcard *.t.c)
OBJS:= $(SRCS:.t.c=.t.o)
SRCSRCS:= $(wildcard $(PROJECT_ROOT)/$(SRCDIR)/*.c)
SRCHDRS:= $(wildcard $(PROJECT_ROOT)/$(SRCDIR)/*.h)
SRCSOBJS:= $(SRCSRCS:.c=.o)
OBJS+= $(filter-out $(PROJECT_ROOT)/$(SRCDIR)/main.o,$(SRCSOBJS))
MKFS:= $(wildcard GNUmakefile $(PROJECT_ROOT)/$(SRCDIR)/GNUmakefile $(PROJECT_ROOT)/GNUmakefile $(PROJECT_ROOT)/Mk/*.mk)
all: test
$(TARGET).test: $(OBJS)
$(CC) $(LDFLAGS) $(TPKG_LDFLAGS) -o $@ $^ $(LIBS) $(TPKG_LIBS)
%.t.o: %.t.c $(SRCHDRS) $(MKFS)
ifdef CHECK_MISSING
$(error unit test dependency 'check' not found; \
install it or point CHECK_BASE to base path)
endif
$(CC) -c $(CPPFLAGS) $(TCPPFLAGS) $(CFLAGS) $(TPKG_CFLAGS) -o $@ \
-x c $<
buildtest: TCPPFLAGS+=-D"TEST_ZEROUSR=\"$(shell id -u -n root||echo 0)\""
buildtest: TCPPFLAGS+=-D"TEST_ZEROGRP=\"$(shell id -g -n root||echo 0)\""
buildtest: TCPPFLAGS+=-I$(PROJECT_ROOT)/$(SRCDIR)
buildtest: $(TARGET).test
$(MAKE) -C engine
$(MAKE) -C pki testreqs
ifeq ($(findstring -DDEBUG_PROXY,$(shell $(PROJECT_ROOT)/src/sslproxy -V 2>&1 | grep "Features: ")),-DDEBUG_PROXY)
$(error Unit tests cannot run with DEBUG_PROXY feature enabled, disable DEBUG_PROXY feature in main makefile and try again)
endif
test: buildtest
./$(TARGET).test
sudotest: buildtest
sudo ./$(TARGET).test
travis: TCPPFLAGS+=-DTRAVIS
travis: test
clean:
$(MAKE) -C engine clean
$(RM) -f $(TARGET).test *.o .*.o *.core *~
$(RM) -rf *.dSYM
ifdef GITDIR
lint:
$(CPPCHECK) $(CPPCHECKFLAGS) --force --enable=all --error-exitcode=1 .
realclean: clean
$(MAKE) -C pki clean
endif
FORCE:
.PHONY: all config clean buildtest test sudotest travis realclean