# top-level directory, the canonical form is the absolute path (i.e. from
# the root of the filesystem) also without "./" or "../" sequences.
define CANONICAL_PATH
-$(patsubst ${CURDIR}/%,%,$(abspath ${1}))
+$(patsubst $(PWD)/%,%,$(patsubst ${CURDIR}/%,%,$(abspath ${1})))
endef
# COMPILE_C_CMDS - Commands for compiling C source code.
#
# The test files are files without extensions.
#
-OUTPUT.$(TEST) := $(patsubst %/,%,$(subst $(top_srcdir)/src,$(BUILD_DIR),$(abspath $(DIR))))
+OUTPUT.$(TEST) := $(patsubst %/,%,$(subst src/,$(BUILD_DIR)/,$(call CANONICAL_PATH,$(DIR))))
OUTPUT := $$(OUTPUT.$(TEST))
#
fi; \
y=`grep 'PROTOCOL: ' $$x | sed 's/.*://;s/ / /g'`; \
if [ "$$y" != "" ]; then \
- z=`echo $$x | sed 's,.*/,,;s/-/_/g'`; \
+ z=`echo $$x | sed 's,src/tests/keywords/,,;s/-/_/g'`; \
echo "UNIT_TEST_KEYWORD_ARGS.$$z=-p $$y" >> $@; \
echo "" >> $@; \
fi \
echo FAILED: "$(MAP_UNIT) -d $(top_srcdir)/raddb -D $(top_srcdir)/share/dictionary -r \"$@\" \"$<\""; \
exit 1; \
fi; \
- FOUND=$$(grep -E '^(Error : )?.*/$(notdir $<)' $@.log | head -1 | sed 's/.*\[//;s/\].*//'); \
+ FOUND=$$(grep -E '^(Error : )?$<' $@.log | head -1 | sed 's/.*\[//;s/\].*//'); \
EXPECTED=$$(grep -n ERROR $< | sed 's/:.*//'); \
if [ "$$EXPECTED" != "$$FOUND" ]; then \
cat "$@.log"; \
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 : .*/$(notdir $<)' $@.log | head -1 | sed 's/.*\[//;s/\].*//'); \
+ FOUND=$$(grep -E 'Error : $<' $@.log | head -1 | sed 's/.*\[//;s/\].*//'); \
EXPECTED=$$(grep -n ERROR $< | sed 's/:.*//'); \
if [ "$$EXPECTED" != "$$FOUND" ]; then \
cat "$@.log"; \
$(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
#