summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorharti <harti@FreeBSD.org>2005-05-20 14:50:30 +0000
committerharti <harti@FreeBSD.org>2005-05-20 14:50:30 +0000
commite956f972dadf024409c8691ea9053a8679f3aa5f (patch)
tree2b673b0b13058d0918544a5d9f7d0f7d3943d69d
parent59ed284809e4924b6ddb0cf842cf4c40dd9baa59 (diff)
downloadFreeBSD-src-e956f972dadf024409c8691ea9053a8679f3aa5f.zip
FreeBSD-src-e956f972dadf024409c8691ea9053a8679f3aa5f.tar.gz
Add a test that test whether we can replace the shell to use by
make with another shell and set all its parameters (meta and builtins not tested here).
-rw-r--r--tools/regression/usr.bin/make/shell/replace/Makefile33
-rw-r--r--tools/regression/usr.bin/make/shell/replace/expected.status1
-rw-r--r--tools/regression/usr.bin/make/shell/replace/expected.stderr1
-rw-r--r--tools/regression/usr.bin/make/shell/replace/expected.stdout0
-rw-r--r--tools/regression/usr.bin/make/shell/replace/sh.sh6
-rw-r--r--tools/regression/usr.bin/make/shell/replace/test.t13
6 files changed, 54 insertions, 0 deletions
diff --git a/tools/regression/usr.bin/make/shell/replace/Makefile b/tools/regression/usr.bin/make/shell/replace/Makefile
new file mode 100644
index 0000000..f903f37
--- /dev/null
+++ b/tools/regression/usr.bin/make/shell/replace/Makefile
@@ -0,0 +1,33 @@
+#
+# Test that we can replace the shell and set all the shell parameters
+# (except meta and builtin which have their own test). This is done by
+# using a shell script for the shell that echoes all command line
+# arguments and its standard input. The shell name should not be one of
+# the builtin shells.
+#
+# XXX There seems to be a problem here in -j1 mode: for the line without
+# @- make should switch on echoing again, but it doesn't.
+#
+# $FreeBSD$
+
+all: shell
+ ${MAKE} test1
+ ${MAKE} -j1 test1
+
+shell: sh.sh
+ @cp ${.CURDIR}/sh.sh ${.OBJDIR}/shell
+ @chmod +x ${.OBJDIR}/shell
+
+.ifmake test1
+
+.SHELL: name="shell" path="${.OBJDIR}/shell" \
+ quiet="be quiet" echo="be verbose" filter="be verbose" \
+ echoFlag="x" errFlag="y" \
+ hasErrCtl=y check="check errors" ignore="ignore errors"
+
+.PHONY: test1
+test1:
+ -@funny $$
+ funnier $$
+
+.endif
diff --git a/tools/regression/usr.bin/make/shell/replace/expected.status b/tools/regression/usr.bin/make/shell/replace/expected.status
new file mode 100644
index 0000000..0cfbf08
--- /dev/null
+++ b/tools/regression/usr.bin/make/shell/replace/expected.status
@@ -0,0 +1 @@
+2
diff --git a/tools/regression/usr.bin/make/shell/replace/expected.stderr b/tools/regression/usr.bin/make/shell/replace/expected.stderr
new file mode 100644
index 0000000..628ea8f
--- /dev/null
+++ b/tools/regression/usr.bin/make/shell/replace/expected.stderr
@@ -0,0 +1 @@
+make: don't know how to make sh.sh. Stop
diff --git a/tools/regression/usr.bin/make/shell/replace/expected.stdout b/tools/regression/usr.bin/make/shell/replace/expected.stdout
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/tools/regression/usr.bin/make/shell/replace/expected.stdout
diff --git a/tools/regression/usr.bin/make/shell/replace/sh.sh b/tools/regression/usr.bin/make/shell/replace/sh.sh
new file mode 100644
index 0000000..46169eb
--- /dev/null
+++ b/tools/regression/usr.bin/make/shell/replace/sh.sh
@@ -0,0 +1,6 @@
+#!/bin/sh
+# $FreeBSD$
+echo $@
+if ! test -t 0 ; then
+ cat
+fi
diff --git a/tools/regression/usr.bin/make/shell/replace/test.t b/tools/regression/usr.bin/make/shell/replace/test.t
new file mode 100644
index 0000000..838a605
--- /dev/null
+++ b/tools/regression/usr.bin/make/shell/replace/test.t
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+# $FreeBSD$
+
+cd `dirname $0`
+. ../../common.sh
+
+desc_test()
+{
+ echo "Check that the shell can be replaced."
+}
+
+eval_cmd $1
OpenPOWER on IntegriCloud