From: Alan T. DeKok Date: Thu, 7 May 2020 19:23:28 +0000 (-0400) Subject: add output "touch" files for each test X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9e7594a83f876e374dca2b61311ab1fa2736d44a;p=thirdparty%2Ffreeradius-server.git add output "touch" files for each test which should permit inter-test dependencies --- diff --git a/src/tests/all.mk b/src/tests/all.mk index 279abf72b79..ff38c0748a3 100644 --- a/src/tests/all.mk +++ b/src/tests/all.mk @@ -141,6 +141,7 @@ $(TEST): $(BUILD_DIR)/tests/$(TEST) .PHONY: clean.$(TEST) clean.$(TEST): $${Q}rm -rf $$(OUTPUT.$(TEST)) + $${Q}rm -f $$(BUILD_DIR)/tests/$(TEST) clean.test: clean.$(TEST) endef diff --git a/src/tests/digest/all.mk b/src/tests/digest/all.mk index e13fd1e08d7..82e299e70d5 100644 --- a/src/tests/digest/all.mk +++ b/src/tests/digest/all.mk @@ -27,7 +27,7 @@ $(eval $(call RADIUSD_SERVICE,digest,$(OUTPUT))) # # Run the digest commands against the radiusd. # -$(OUTPUT)/%: $(DIR)/% | test.digest.radiusd_kill test.digest.radiusd_start +$(OUTPUT)/%: $(DIR)/% | $(TEST).radiusd_kill $(TEST).radiusd_start ${Q} [ -f $(dir $@)/radiusd.pid ] || exit 1 $(eval TARGET := $(patsubst %.txt,%,$(notdir $@))) ${Q}for _num in $$(sed '/^#.*TESTS/!d; s/.*TESTS//g' $<); do \ @@ -38,7 +38,8 @@ $(OUTPUT)/%: $(DIR)/% | test.digest.radiusd_kill test.digest.radiusd_start if ! $(TESTBIN)/radclient -f $@.request -xF -d src/tests/digest/config -D share/dictionary 127.0.0.1:$(PORT) auth $(SECRET) > $@.out; then \ echo "FAILED"; \ cat $@.out; \ - $(MAKE) --no-print-directory test.digest.radiusd_kill; \ + rm -f $(BUILD_DIR)/tests/test.digest; \ + $(MAKE) --no-print-directory test.digest.radiusd_kill; \ echo "RADIUSD: $(RADIUSD_RUN)"; \ echo "RADCLIENT: $(TESTBIN)/radclient -f $@_request -xF -d src/tests/digest/config -D share/dictionary 127.0.0.1:$(PORT) auth $(SECRET)"; \ exit 1; \ @@ -47,4 +48,5 @@ $(OUTPUT)/%: $(DIR)/% | test.digest.radiusd_kill test.digest.radiusd_start done $(TEST): - ${Q}$(MAKE) --no-print-directory test.digest.radiusd_kill + ${Q}$(MAKE) --no-print-directory $@.radiusd_kill + @touch $(BUILD_DIR)/tests/$@ diff --git a/src/tests/eapol_test/all.mk b/src/tests/eapol_test/all.mk index 20fa9d93bcf..64b94fcf6fc 100644 --- a/src/tests/eapol_test/all.mk +++ b/src/tests/eapol_test/all.mk @@ -76,13 +76,15 @@ $(OUTPUT)/%.ok: $(DIR)/%.conf | $(GENERATED_CERT_FILES) $(MAKE) test.eap.radiusd_kill; \ echo "RADIUSD : OUTPUT=$(dir $@) TESTDIR=$(dir $<) METHOD=$(notdir $(patsubst %.conf,%,$<)) TEST_PORT=$(PORT) $(RADIUSD_BIN) -Pxxx -n servers -d $(dir $<)config -D share/dictionary/ -lstdout -f";\ echo "EAPOL : $(EAPOL_TEST) -c \"$<\" -p $(PORT) -s $(SECRET) $(KEY) "; \ - $(MAKE) --no-print-directory test.eap.radiusd_kill \ + rm -f $(BUILD_DIR)/tests/test.eap; \ + $(MAKE) --no-print-directory test.eap.radiusd_kill; \ exit 1;\ fi ${Q}$(MAKE) --no-print-directory test.eap.radiusd_kill || true ${Q}touch $@ $(TEST): $(EAPOL_OK_FILES) + @touch $(BUILD_DIR)/tests/$@ else # diff --git a/src/tests/keywords/all.mk b/src/tests/keywords/all.mk index a5ac9f1765f..706915cd0b1 100644 --- a/src/tests/keywords/all.mk +++ b/src/tests/keywords/all.mk @@ -127,3 +127,6 @@ $(OUTPUT)/%: $(DIR)/% $(TESTBINDIR)/unit_test_module | $(KEYWORD_RADDB) $(KEYWOR touch "$@"; \ fi \ fi + +$(TEST): + @touch $(BUILD_DIR)/tests/$@ diff --git a/src/tests/modules/test.mk b/src/tests/modules/test.mk index a356ba291c4..04435c2e4e6 100644 --- a/src/tests/modules/test.mk +++ b/src/tests/modules/test.mk @@ -143,12 +143,6 @@ $(foreach x,$(MODULE_TEST),$(eval $(call MODULE_TEST_TARGET,$x))) $(TEST.MODULES_FILES): $(TEST.AUTH_FILES) -.PHONY: clean.test.modules -clean.test.modules: - ${Q}rm -rf $(BUILD_DIR)/tests/modules/ - -clean.test: clean.test.modules - # # For each file, look for precursor test. # Ensure that each test depends on its precursors. @@ -167,3 +161,12 @@ $(BUILD_DIR)/tests/modules/depends.mk: $(MODULE_UNLANG) | $(BUILD_DIR)/tests/mod fi \ done +.PHONY: clean.test.modules +clean.test.modules: + ${Q}rm -rf $(BUILD_DIR)/tests/modules/ + ${Q}rm -rf $(BUILD_DIR)/tests/test.modules + +clean.test: clean.test.modules + +test.modules: + ${Q}touch $(BUILD_DIR)/tests/$@ diff --git a/src/tests/radclient/all.mk b/src/tests/radclient/all.mk index f58cbc24761..d52dc5aa4f0 100644 --- a/src/tests/radclient/all.mk +++ b/src/tests/radclient/all.mk @@ -32,7 +32,7 @@ $(eval $(call RADIUSD_SERVICE,tapioca,$(OUTPUT))) # # Run the radclient commands against the radiusd. # -$(OUTPUT)/%: $(DIR)/% | test.radclient.radiusd_kill test.radclient.radiusd_start +$(OUTPUT)/%: $(DIR)/% | $(TEST).radiusd_kill $(TEST).radiusd_start $(eval TARGET := $(notdir $<)) $(eval TYPE := $(shell echo $(TARGET) | cut -f1 -d '_')) $(eval CMD_TEST := $(patsubst %.txt,%.cmd,$<)) @@ -44,7 +44,7 @@ $(OUTPUT)/%: $(DIR)/% | test.radclient.radiusd_kill test.radclient.radiusd_start $(Q)if ! $(TESTBIN)/radclient $(ARGV) -C $(RADCLIENT_CLIENT_PORT) -f $< -d src/tests/radclient/config -D share/dictionary 127.0.0.1:$(PORT) $(TYPE) $(SECRET) 1> $(FOUND) 2>&1; then \ echo "FAILED"; \ cat $(FOUND); \ - $(MAKE) test.radclient.radiusd_kill; \ + $(MAKE) --no-print-directory test.radclient.radiusd_kill; \ echo "RADIUSD: $(RADIUSD_RUN)"; \ echo "RADCLIENT: $(TESTBIN)/radclient $(ARGV) -C $(RADCLIENT_CLIENT_PORT) -f $< -xF -d src/tests/radclient/config -D share/dictionary 127.0.0.1:$(PORT) $(TYPE) $(SECRET)"; \ exit 1; \ @@ -68,6 +68,7 @@ $(OUTPUT)/%: $(DIR)/% | test.radclient.radiusd_kill test.radclient.radiusd_start echo "If you did some update on the radclient code, please be sure to update the unit tests."; \ echo "e.g: $(EXPECTED)"; \ diff $(EXPECTED) $(FOUND); \ + rm -f $(BUILD_DIR)/tests/test.radclient; \ $(MAKE) --no-print-directory test.radclient.radiusd_kill; \ exit 1; \ elif [ -e "$(CMD_TEST)" ] && ! $(SHELL) $(CMD_TEST); then \ @@ -76,10 +77,12 @@ $(OUTPUT)/%: $(DIR)/% | test.radclient.radiusd_kill test.radclient.radiusd_start echo "RADCLIENT: $(TESTBIN)/radclient $(ARGV) -C $(RADCLIENT_CLIENT_PORT) -f $< -d src/tests/radclient/config -D share/dictionary 127.0.0.1:$(PORT) $(TYPE) $(SECRET)"; \ echo "ERROR: The script $(CMD_TEST) can't validate the content of $(FOUND)"; \ echo "If you did some update on the radclient code, please be sure to update the unit tests."; \ + rm -f $(BUILD_DIR)/tests/test.radclient; \ $(MAKE) --no-print-directory test.radclient.radiusd_kill; \ exit 1; \ fi $(Q)touch $@ $(TEST): - $(Q)$(MAKE) --no-print-directory test.radclient.radiusd_kill + $(Q)$(MAKE) --no-print-directory $@.radiusd_kill + @touch $(BUILD_DIR)/tests/$@ diff --git a/src/tests/radmin/all.mk b/src/tests/radmin/all.mk index a3bbb2f4d9f..8bd6626621d 100644 --- a/src/tests/radmin/all.mk +++ b/src/tests/radmin/all.mk @@ -52,7 +52,7 @@ $(OUTPUT)/depends.mk: $(addprefix $(DIR)/,$(FILES)) | $(OUTPUT) # # Run the radmin commands against the radiusd. # -$(OUTPUT)/%: $(DIR)/% | test.radmin.radiusd_kill test.radmin.radiusd_start +$(OUTPUT)/%: $(DIR)/% | $(TEST).radiusd_kill $(TEST).radiusd_start @echo "RADMIN-TEST $(notdir $@)" ${Q} [ -f $(dir $@)/radiusd.pid ] || exit 1 $(eval EXPECTED := $(patsubst %.txt,%.out,$<)) @@ -65,6 +65,7 @@ $(OUTPUT)/%: $(DIR)/% | test.radmin.radiusd_kill test.radmin.radiusd_start echo "--------------------------------------------------"; \ echo "RADIUSD: $(RADIUSD_RUN)"; \ echo "RADMIN : $(TESTBIN)/radmin -q -f $(RADMIN_SOCKET_FILE) < $< > $(FOUND)"; \ + rm -f $(BUILD_DIR)/tests/test.radmin; \ $(MAKE) --no-print-directory test.radmin.radiusd_kill; \ exit 1; \ fi; \ @@ -76,6 +77,7 @@ $(OUTPUT)/%: $(DIR)/% | test.radmin.radiusd_kill test.radmin.radiusd_start echo "If you did some update on the radmin code, please be sure to update the unit tests."; \ echo "e.g: $(EXPECTED)"; \ diff $(EXPECTED) $(FOUND); \ + rm -f $(BUILD_DIR)/tests/test.radmin; \ $(MAKE) --no-print-directory test.radmin.radiusd_kill; \ exit 1; \ else \ @@ -83,4 +85,5 @@ $(OUTPUT)/%: $(DIR)/% | test.radmin.radiusd_kill test.radmin.radiusd_start fi $(TEST): - ${Q}$(MAKE) --no-print-directory test.radmin.radiusd_kill + ${Q}$(MAKE) --no-print-directory $@.radiusd_kill + @touch $(BUILD_DIR)/tests/$@ diff --git a/src/tests/unit/all.mk b/src/tests/unit/all.mk index ac7dc4b361a..fb8f5b9d5a0 100644 --- a/src/tests/unit/all.mk +++ b/src/tests/unit/all.mk @@ -70,3 +70,6 @@ $(OUTPUT)/%: $(DIR)/% $(TESTBINDIR)/unit_test_attribute rm -f $(BUILD_DIR)/tests/test.unit; \ exit 1; \ fi + +$(TEST): + @touch $(BUILD_DIR)/tests/$@