summaryrefslogtreecommitdiff
path: root/dmake/tests/function_macros-3
diff options
context:
space:
mode:
Diffstat (limited to 'dmake/tests/function_macros-3')
-rwxr-xr-xdmake/tests/function_macros-340
1 files changed, 40 insertions, 0 deletions
diff --git a/dmake/tests/function_macros-3 b/dmake/tests/function_macros-3
new file mode 100755
index 000000000000..bd8d06b3de27
--- /dev/null
+++ b/dmake/tests/function_macros-3
@@ -0,0 +1,40 @@
+#!/bin/sh
+
+# 04.09.2005 Volker Quetschke
+# Tests $(shell ..) function macro when using two concurrend processes.
+# (issue 53148)
+
+: ${DMAKEPROG:=dmake}
+file1="makefile.mk"
+file2="stdout.txt"
+tmpfiles="$file1 $file2"
+
+trap '{ echo "trapped signal - removing temporary files" ; rm -rf $tmpfiles ; }' 1 2 3 15
+
+trap 'rm -rf $tmpfiles' 1 2 3 15
+
+# Remember to quote variables in generated makefiles( $ -> \$ ).
+cat > $file1 <<EOT
+# Testing continuation char in recipes
+SHELL*:=/bin/sh
+SHELLFLAGS*:=-ce
+
+AA=X\$(shell +echo shellexec)X
+
+$file2 :
+ +@echo b0
+ +@echo b1
+ +@echo b2
+ +@echo A\$(AA)A > $file2
+EOT
+
+${DMAKEPROG} -P2 -r -f $file1
+result=$?
+if test "`cat $file2`" != "AXshellexecXA"; then
+ echo "Wrong result: `cat $file2`, AXshellexecXA expected!"
+ result=1
+fi
+
+test $result -eq 0 && echo "Success - Cleaning up" && rm -f ${tmpfiles}
+test $result -ne 0 && echo "Failure!"
+exit $result