]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
add output "touch" files for each test
authorAlan T. DeKok <aland@freeradius.org>
Thu, 7 May 2020 19:23:28 +0000 (15:23 -0400)
committerAlan T. DeKok <aland@freeradius.org>
Thu, 7 May 2020 19:33:36 +0000 (15:33 -0400)
which should permit inter-test dependencies

src/tests/all.mk
src/tests/digest/all.mk
src/tests/eapol_test/all.mk
src/tests/keywords/all.mk
src/tests/modules/test.mk
src/tests/radclient/all.mk
src/tests/radmin/all.mk
src/tests/unit/all.mk

index 279abf72b79832712c3e2be07211813b735a3408..ff38c0748a3c04dcd998136299902f243cffeb8b 100644 (file)
@@ -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
index e13fd1e08d7d4e5b9f0e35ebe69fc18753a1b190..82e299e70d5798d06bd2a35546a1320a24afa197 100644 (file)
@@ -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/$@
index 20fa9d93bcf07241728f38ea666a6e20a9e4cdbe..64b94fcf6fcb3c4ce7382bd32e656fd5e8a45604 100644 (file)
@@ -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
 #
index a5ac9f1765f3d0fd4407976f7603a2fbf35a42bf..706915cd0b16cbba9398585b4f14027b1b33fc4b 100644 (file)
@@ -127,3 +127,6 @@ $(OUTPUT)/%: $(DIR)/% $(TESTBINDIR)/unit_test_module | $(KEYWORD_RADDB) $(KEYWOR
                        touch "$@"; \
                fi \
        fi
+
+$(TEST):
+       @touch $(BUILD_DIR)/tests/$@
index a356ba291c4a0b2c1ee3676af97de3f90e84d17a..04435c2e4e68e7ae6bce5bfd48419f8faef418bf 100644 (file)
@@ -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/$@
index f58cbc2476100aeb0a736ade6689a594f20ff95d..d52dc5aa4f090a59413a33dbfe4b2449c095bb8a 100644 (file)
@@ -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/$@
index a3bbb2f4d9fff76f20d72e6d11617a17f6200a1a..8bd6626621d2a41585f65a24032bbadcc74e2a07 100644 (file)
@@ -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/$@
index ac7dc4b361ab78bfa84357ffa60fde9ae45925ed..fb8f5b9d5a0a502e765ebeaf7f23b5609da1dbd9 100644 (file)
@@ -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/$@