diff options
Diffstat (limited to 'usr.bin/make/tests/variables')
34 files changed, 217 insertions, 0 deletions
diff --git a/usr.bin/make/tests/variables/Makefile b/usr.bin/make/tests/variables/Makefile new file mode 100644 index 0000000..9f328a8 --- /dev/null +++ b/usr.bin/make/tests/variables/Makefile @@ -0,0 +1,7 @@ +# $FreeBSD$ + +TESTSDIR= ${TESTSBASE}/usr.bin/make/variables + +TESTS_SUBDIRS= modifier_M modifier_t opt_V t0 + +.include <bsd.test.mk> diff --git a/usr.bin/make/tests/variables/modifier_M/Makefile b/usr.bin/make/tests/variables/modifier_M/Makefile new file mode 100644 index 0000000..59cb0bc --- /dev/null +++ b/usr.bin/make/tests/variables/modifier_M/Makefile @@ -0,0 +1,13 @@ +# $FreeBSD$ + +TESTSDIR= ${TESTSBASE}/usr.bin/make/variables/modifier_M + +TAP_TESTS_SH= legacy_test + +FILESDIR= ${TESTSDIR} +FILES= Makefile.test +FILES+= expected.status.1 +FILES+= expected.stderr.1 +FILES+= expected.stdout.1 + +.include <bsd.test.mk> diff --git a/usr.bin/make/tests/variables/modifier_M/Makefile.test b/usr.bin/make/tests/variables/modifier_M/Makefile.test new file mode 100644 index 0000000..34d4cd4 --- /dev/null +++ b/usr.bin/make/tests/variables/modifier_M/Makefile.test @@ -0,0 +1,18 @@ +# $FreeBSD$ +# +# Test the M modifier. +# +FILES = \ + main.c globals.h \ + util.c util.h \ + map.c map.h \ + parser.y lexer.l \ + cmdman.1 format.5 +test1: + @echo "all files: ${FILES}" + @echo "cfiles: ${FILES:M*.c}" + @echo "hfiles: ${FILES:M*.h}" + @echo "grammar and lexer: ${FILES:M*.[ly]}" + @echo "man page: ${FILES:M*.[1-9]}" + @echo "utility files: ${FILES:Mutil.?}" + @echo "m files: ${FILES:Mm*}" diff --git a/usr.bin/make/tests/variables/modifier_M/expected.status.1 b/usr.bin/make/tests/variables/modifier_M/expected.status.1 new file mode 100644 index 0000000..573541a --- /dev/null +++ b/usr.bin/make/tests/variables/modifier_M/expected.status.1 @@ -0,0 +1 @@ +0 diff --git a/usr.bin/make/tests/variables/modifier_M/expected.stderr.1 b/usr.bin/make/tests/variables/modifier_M/expected.stderr.1 new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/usr.bin/make/tests/variables/modifier_M/expected.stderr.1 diff --git a/usr.bin/make/tests/variables/modifier_M/expected.stdout.1 b/usr.bin/make/tests/variables/modifier_M/expected.stdout.1 new file mode 100644 index 0000000..b29e6df --- /dev/null +++ b/usr.bin/make/tests/variables/modifier_M/expected.stdout.1 @@ -0,0 +1,7 @@ +all files: main.c globals.h util.c util.h map.c map.h parser.y lexer.l cmdman.1 format.5 +cfiles: main.c util.c map.c +hfiles: globals.h util.h map.h +grammar and lexer: parser.y lexer.l +man page: cmdman.1 format.5 +utility files: util.c util.h +m files: main.c map.c map.h diff --git a/usr.bin/make/tests/variables/modifier_M/legacy_test.sh b/usr.bin/make/tests/variables/modifier_M/legacy_test.sh new file mode 100644 index 0000000..6a3e68f --- /dev/null +++ b/usr.bin/make/tests/variables/modifier_M/legacy_test.sh @@ -0,0 +1,9 @@ +#! /bin/sh +# $FreeBSD$ + +. $(dirname $0)/../../common.sh + +# Description +DESC="Variable expansion with M modifier" + +eval_cmd $* diff --git a/usr.bin/make/tests/variables/modifier_t/Makefile b/usr.bin/make/tests/variables/modifier_t/Makefile new file mode 100644 index 0000000..4b5bfee --- /dev/null +++ b/usr.bin/make/tests/variables/modifier_t/Makefile @@ -0,0 +1,19 @@ +# $FreeBSD$ + +TESTSDIR= ${TESTSBASE}/usr.bin/make/variables/modifier_t + +TAP_TESTS_SH= legacy_test + +FILESDIR= ${TESTSDIR} +FILES= Makefile.test +FILES+= expected.status.1 +FILES+= expected.status.2 +FILES+= expected.status.3 +FILES+= expected.stderr.1 +FILES+= expected.stderr.2 +FILES+= expected.stderr.3 +FILES+= expected.stdout.1 +FILES+= expected.stdout.2 +FILES+= expected.stdout.3 + +.include <bsd.test.mk> diff --git a/usr.bin/make/tests/variables/modifier_t/Makefile.test b/usr.bin/make/tests/variables/modifier_t/Makefile.test new file mode 100644 index 0000000..53844ee --- /dev/null +++ b/usr.bin/make/tests/variables/modifier_t/Makefile.test @@ -0,0 +1,15 @@ +# $FreeBSD$ +# +# Test the t modifier. +# +# below is missing ' +ASCII= !"\#$$%&()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ + +test1: + @echo '${ASCII}' + +test2: + @echo '${ASCII:tl}' + +test3: + @echo '${ASCII:tu}' diff --git a/usr.bin/make/tests/variables/modifier_t/expected.status.1 b/usr.bin/make/tests/variables/modifier_t/expected.status.1 new file mode 100644 index 0000000..573541a --- /dev/null +++ b/usr.bin/make/tests/variables/modifier_t/expected.status.1 @@ -0,0 +1 @@ +0 diff --git a/usr.bin/make/tests/variables/modifier_t/expected.status.2 b/usr.bin/make/tests/variables/modifier_t/expected.status.2 new file mode 100644 index 0000000..573541a --- /dev/null +++ b/usr.bin/make/tests/variables/modifier_t/expected.status.2 @@ -0,0 +1 @@ +0 diff --git a/usr.bin/make/tests/variables/modifier_t/expected.status.3 b/usr.bin/make/tests/variables/modifier_t/expected.status.3 new file mode 100644 index 0000000..573541a --- /dev/null +++ b/usr.bin/make/tests/variables/modifier_t/expected.status.3 @@ -0,0 +1 @@ +0 diff --git a/usr.bin/make/tests/variables/modifier_t/expected.stderr.1 b/usr.bin/make/tests/variables/modifier_t/expected.stderr.1 new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/usr.bin/make/tests/variables/modifier_t/expected.stderr.1 diff --git a/usr.bin/make/tests/variables/modifier_t/expected.stderr.2 b/usr.bin/make/tests/variables/modifier_t/expected.stderr.2 new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/usr.bin/make/tests/variables/modifier_t/expected.stderr.2 diff --git a/usr.bin/make/tests/variables/modifier_t/expected.stderr.3 b/usr.bin/make/tests/variables/modifier_t/expected.stderr.3 new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/usr.bin/make/tests/variables/modifier_t/expected.stderr.3 diff --git a/usr.bin/make/tests/variables/modifier_t/expected.stdout.1 b/usr.bin/make/tests/variables/modifier_t/expected.stdout.1 new file mode 100644 index 0000000..dff38fd --- /dev/null +++ b/usr.bin/make/tests/variables/modifier_t/expected.stdout.1 @@ -0,0 +1 @@ +!"#$%&()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ diff --git a/usr.bin/make/tests/variables/modifier_t/expected.stdout.2 b/usr.bin/make/tests/variables/modifier_t/expected.stdout.2 new file mode 100644 index 0000000..71a0f60 --- /dev/null +++ b/usr.bin/make/tests/variables/modifier_t/expected.stdout.2 @@ -0,0 +1 @@ +!"#$%&()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ diff --git a/usr.bin/make/tests/variables/modifier_t/expected.stdout.3 b/usr.bin/make/tests/variables/modifier_t/expected.stdout.3 new file mode 100644 index 0000000..6434c7b --- /dev/null +++ b/usr.bin/make/tests/variables/modifier_t/expected.stdout.3 @@ -0,0 +1 @@ +!"#$%&()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~ diff --git a/usr.bin/make/tests/variables/modifier_t/legacy_test.sh b/usr.bin/make/tests/variables/modifier_t/legacy_test.sh new file mode 100644 index 0000000..7f14571 --- /dev/null +++ b/usr.bin/make/tests/variables/modifier_t/legacy_test.sh @@ -0,0 +1,12 @@ +#! /bin/sh +# $FreeBSD$ + +. $(dirname $0)/../../common.sh + +# Description +DESC="Variable expansion with t modifiers" + +# Run +TEST_N=3 + +eval_cmd $* diff --git a/usr.bin/make/tests/variables/opt_V/Makefile b/usr.bin/make/tests/variables/opt_V/Makefile new file mode 100644 index 0000000..0c3bf17 --- /dev/null +++ b/usr.bin/make/tests/variables/opt_V/Makefile @@ -0,0 +1,16 @@ +# $FreeBSD$ + +TESTSDIR= ${TESTSBASE}/usr.bin/make/variables/opt_V + +TAP_TESTS_SH= legacy_test + +FILESDIR= ${TESTSDIR} +FILES= Makefile.test +FILES+= expected.status.1 +FILES+= expected.status.2 +FILES+= expected.stderr.1 +FILES+= expected.stderr.2 +FILES+= expected.stdout.1 +FILES+= expected.stdout.2 + +.include <bsd.test.mk> diff --git a/usr.bin/make/tests/variables/opt_V/Makefile.test b/usr.bin/make/tests/variables/opt_V/Makefile.test new file mode 100644 index 0000000..128e511 --- /dev/null +++ b/usr.bin/make/tests/variables/opt_V/Makefile.test @@ -0,0 +1,15 @@ +# $FreeBSD$ +# +# Test the -V option +# + +FOO= foo +FOOBAR= ${FOO}bar + +test1: + @echo "-V FOOBAR" + @${MAKE} -V FOOBAR + +test2: + @echo '-V "$${FOOBAR}"' + @${MAKE} -V '$${FOOBAR}' diff --git a/usr.bin/make/tests/variables/opt_V/expected.status.1 b/usr.bin/make/tests/variables/opt_V/expected.status.1 new file mode 100644 index 0000000..573541a --- /dev/null +++ b/usr.bin/make/tests/variables/opt_V/expected.status.1 @@ -0,0 +1 @@ +0 diff --git a/usr.bin/make/tests/variables/opt_V/expected.status.2 b/usr.bin/make/tests/variables/opt_V/expected.status.2 new file mode 100644 index 0000000..573541a --- /dev/null +++ b/usr.bin/make/tests/variables/opt_V/expected.status.2 @@ -0,0 +1 @@ +0 diff --git a/usr.bin/make/tests/variables/opt_V/expected.stderr.1 b/usr.bin/make/tests/variables/opt_V/expected.stderr.1 new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/usr.bin/make/tests/variables/opt_V/expected.stderr.1 diff --git a/usr.bin/make/tests/variables/opt_V/expected.stderr.2 b/usr.bin/make/tests/variables/opt_V/expected.stderr.2 new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/usr.bin/make/tests/variables/opt_V/expected.stderr.2 diff --git a/usr.bin/make/tests/variables/opt_V/expected.stdout.1 b/usr.bin/make/tests/variables/opt_V/expected.stdout.1 new file mode 100644 index 0000000..050db40 --- /dev/null +++ b/usr.bin/make/tests/variables/opt_V/expected.stdout.1 @@ -0,0 +1,2 @@ +-V FOOBAR +foobar diff --git a/usr.bin/make/tests/variables/opt_V/expected.stdout.2 b/usr.bin/make/tests/variables/opt_V/expected.stdout.2 new file mode 100644 index 0000000..4da2aef --- /dev/null +++ b/usr.bin/make/tests/variables/opt_V/expected.stdout.2 @@ -0,0 +1,2 @@ +-V "${FOOBAR}" +foobar diff --git a/usr.bin/make/tests/variables/opt_V/legacy_test.sh b/usr.bin/make/tests/variables/opt_V/legacy_test.sh new file mode 100644 index 0000000..4b1122a --- /dev/null +++ b/usr.bin/make/tests/variables/opt_V/legacy_test.sh @@ -0,0 +1,12 @@ +#! /bin/sh +# $FreeBSD$ + +. $(dirname $0)/../../common.sh + +# Description +DESC="Variable expansion using command line '-V'" + +# Run +TEST_N=2 + +eval_cmd $* diff --git a/usr.bin/make/tests/variables/t0/Makefile b/usr.bin/make/tests/variables/t0/Makefile new file mode 100644 index 0000000..06e1179 --- /dev/null +++ b/usr.bin/make/tests/variables/t0/Makefile @@ -0,0 +1,13 @@ +# $FreeBSD$ + +TESTSDIR= ${TESTSBASE}/usr.bin/make/variables/t0 + +TAP_TESTS_SH= legacy_test + +FILESDIR= ${TESTSDIR} +FILES= Makefile.test +FILES+= expected.status.1 +FILES+= expected.stderr.1 +FILES+= expected.stdout.1 + +.include <bsd.test.mk> diff --git a/usr.bin/make/tests/variables/t0/Makefile.test b/usr.bin/make/tests/variables/t0/Makefile.test new file mode 100644 index 0000000..1cc58ee --- /dev/null +++ b/usr.bin/make/tests/variables/t0/Makefile.test @@ -0,0 +1,23 @@ +# $FreeBSD$ +# +# A unsorted set of macro expansions. This should be sorted out. +# +A = 0 +AV = 1 +test1: + @echo $A + @echo ${AV} + @echo ${A} + @# The following are soo broken why no syntax error? + @echo $( + @echo $) + @echo ${ + @echo ${A + @echo ${A) + @echo ${A){ + @echo ${AV + @echo ${AV) + @echo ${AV){ + @echo ${AV{ + @echo ${A{ + @echo $} diff --git a/usr.bin/make/tests/variables/t0/expected.status.1 b/usr.bin/make/tests/variables/t0/expected.status.1 new file mode 100644 index 0000000..573541a --- /dev/null +++ b/usr.bin/make/tests/variables/t0/expected.status.1 @@ -0,0 +1 @@ +0 diff --git a/usr.bin/make/tests/variables/t0/expected.stderr.1 b/usr.bin/make/tests/variables/t0/expected.stderr.1 new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/usr.bin/make/tests/variables/t0/expected.stderr.1 diff --git a/usr.bin/make/tests/variables/t0/expected.stdout.1 b/usr.bin/make/tests/variables/t0/expected.stdout.1 new file mode 100644 index 0000000..e2c70de --- /dev/null +++ b/usr.bin/make/tests/variables/t0/expected.stdout.1 @@ -0,0 +1,15 @@ +0 +1 +0 + + + + + + + + + + + + diff --git a/usr.bin/make/tests/variables/t0/legacy_test.sh b/usr.bin/make/tests/variables/t0/legacy_test.sh new file mode 100644 index 0000000..8c78e2d --- /dev/null +++ b/usr.bin/make/tests/variables/t0/legacy_test.sh @@ -0,0 +1,9 @@ +#! /bin/sh +# $FreeBSD$ + +. $(dirname $0)/../../common.sh + +# Description +DESC="Variable expansion." + +eval_cmd $* |