]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
Fix UNIT_TEST_KEYWORD_ARGS when BUILD_DIR is an absolute path name (#4602)
authorMax Khon <fjoe@samodelkin.net>
Sat, 9 Jul 2022 00:38:22 +0000 (03:38 +0300)
committerGitHub <noreply@github.com>
Sat, 9 Jul 2022 00:38:22 +0000 (07:38 +0700)
* Fix UNIT_TEST_KEYWORD_ARGS when BUILD_DIR is an absolute path name

* Fix the following error when eapol_test test fails:

/bin/sh: line 8: ": command not found

* Fix map, modules and radclient tests when BUILD_DIR is an absolute path name

src/tests/eapol_test/all.mk
src/tests/keywords/all.mk
src/tests/map/all.mk
src/tests/modules/all.mk
src/tests/radclient/all.mk

index 601dd416ce2dc8d2afbe1525195599bc1599c813..bc39a29d9891b6a1c0db4d1291ada5f69fbe1d05 100644 (file)
@@ -108,13 +108,13 @@ $(OUTPUT)/%.ok: $(DIR)/%.conf $(if $(POST_INSTALL_MAKEFILE_ARG),,$(BUILD_DIR)/li
        ${Q}$(MAKE) $(POST_INSTALL_MAKEFILE_ARG) --no-print-directory test.$(METHOD).radiusd_kill
        ${Q}$(MAKE) $(POST_INSTALL_MAKEFILE_ARG) --no-print-directory test.$(METHOD).radiusd_start $(POST_INSTALL_RADIUSD_BIN_ARG)
        ${Q}if ! $(EAPOL_TEST) -t 10 -c $< -p $(TEST_PORT) -s $(SECRET) $(KEY) > $(EAPOL_TEST_LOG) 2>&1; then   \
-               echo "Last entries in supplicant log ($(EAPOL_TEST_LOG):";      \
+               echo "Last entries in supplicant log ($(EAPOL_TEST_LOG)):";     \
                tail -n 40 "$(EAPOL_TEST_LOG)";                                                 \
                echo "--------------------------------------------------";              \
                tail -n 40 "$(RADIUS_LOG)";                                             \
                echo "Last entries in server log ($(RADIUS_LOG)):";                     \
                echo "--------------------------------------------------";              \
-               echo "RADIUSD :  OUTPUT=$(dir $@) TESTDIR=$(dir $<) TEST=$(METHOD) TEST_PORT=$(TEST_PORT) $(RADIUSD_BIN) -fxxx -n servers -d $(dir $<)config -D $(DICT_PATH) -lstdout -f";\";\
+               echo "RADIUSD :  OUTPUT=$(dir $@) TESTDIR=$(dir $<) TEST=$(METHOD) TEST_PORT=$(TEST_PORT) $(RADIUSD_BIN) -fxxx -n servers -d $(dir $<)config -D $(DICT_PATH) -lstdout -f"; \
                echo "EAPOL   :  $(EAPOL_TEST) -c \"$<\" -p $(TEST_PORT) -s $(SECRET) $(KEY) "; \
                echo "           log is in $(OUT)"; \
                rm -f $(BUILD_DIR)/tests/test.eap;                                      \
index 660b0b59039db53d79c7af85f2b508737a42fbc5..2293bc9bdf36f76b099c9f285d7b87a1a8b35f10 100644 (file)
@@ -59,7 +59,7 @@ $(OUTPUT)/depends.mk: $(addprefix $(DIR)/,$(sort $(FILES))) | $(OUTPUT)
                fi; \
                y=`grep 'PROTOCOL: ' $$x | sed 's/.*://;s/  / /g'`; \
                if [ "$$y" != "" ]; then \
-                       z=`echo $$x | sed 's,src/tests/keywords/,,;s/-/_/g'`; \
+                       z=`echo $$x | sed 's,.*/,,;s/-/_/g'`; \
                        echo "UNIT_TEST_KEYWORD_ARGS.$$z=-p $$y" >> $@; \
                        echo "" >> $@; \
                fi \
index b7f06f69abb1b28e7cbd2af23bbec3cc7f512b20..abec5ec2250f8aa34dfad64f1e65ca7a7ddfc174 100644 (file)
@@ -32,7 +32,7 @@ $(OUTPUT)/%: $(DIR)/% $(TEST_BIN_DIR)/unit_test_map
                        echo FAILED: "$(MAP_UNIT) -d $(top_srcdir)/raddb -D $(top_srcdir)/share/dictionary -r \"$@\" \"$<\""; \
                        exit 1; \
                fi; \
-               FOUND=$$(grep -E '^(Error : )?$<' $@.log | head -1 | sed 's/.*\[//;s/\].*//'); \
+               FOUND=$$(grep -E '^(Error : )?.*/$(notdir $<)' $@.log | head -1 | sed 's/.*\[//;s/\].*//'); \
                EXPECTED=$$(grep -n ERROR $< | sed 's/:.*//'); \
                if [ "$$EXPECTED" != "$$FOUND" ]; then \
                        cat "$@.log"; \
index bd5ba01d5ec71770a197a1e20f722479f846a72f..084239ec5e2b762bb316c684ff2f06f66186b9c4 100644 (file)
@@ -103,7 +103,7 @@ $(OUTPUT)/%: $(DIR)/%.unlang $(TEST_BIN_DIR)/unit_test_module | build.raddb
                        echo "MODULE_TEST_DIR=$(dir $<) MODULE_TEST_UNLANG=$< $(TEST_BIN)/unit_test_module -D share/dictionary -d src/tests/modules/ -i \"$@.attrs\" -f \"$@.attrs\" -r \"$@\" -xx"; \
                        exit 1; \
                fi; \
-               FOUND=$$(grep -E 'Error : $<' $@.log | head -1 | sed 's/.*\[//;s/\].*//'); \
+               FOUND=$$(grep -E 'Error : .*/$(notdir $<)' $@.log | head -1 | sed 's/.*\[//;s/\].*//'); \
                EXPECTED=$$(grep -n ERROR $< | sed 's/:.*//'); \
                if [ "$$EXPECTED" != "$$FOUND" ]; then \
                        cat "$@.log"; \
index 75baac580c2376bd0c43f9a64498d3805d6fff93..4dca87c517ea3c3e82a146e37c36b92454dde95e 100644 (file)
@@ -61,6 +61,10 @@ $(OUTPUT)/%: $(DIR)/% | $(TEST).radiusd_kill $(TEST).radiusd_start
        $(Q)if [ "$$(uname -s)" = "Darwin" ]; then sed -i .bak 's/via lo0/via lo/g' $(FOUND); fi
        $(Q)if [ "$$(uname -s)" = "FreeBSD" ]; then sed -i .bak 's/via (null)/via lo/g' $(FOUND); fi
 #
+#      Lets normalize pathnames
+#
+       $(Q)sed -i.bak 's,[^" ]*\(src/tests\),\1,' $(FOUND)
+#
 #      Remove all entries with "^_EXIT.*CALLED .*/"
 #      It is necessary to match all builds with/without -DNDEBUG
 #