diff options
Diffstat (limited to 'usr.bin/bmake/tests/syntax')
43 files changed, 259 insertions, 0 deletions
diff --git a/usr.bin/bmake/tests/syntax/Makefile b/usr.bin/bmake/tests/syntax/Makefile new file mode 100644 index 0000000000000..3cd89f84428fa --- /dev/null +++ b/usr.bin/bmake/tests/syntax/Makefile @@ -0,0 +1,7 @@ +# $FreeBSD$ + +TESTSDIR= ${TESTSBASE}/usr.bin/bmake/syntax + +TESTS_SUBDIRS= directive-t0 enl funny-targets semi + +.include <bsd.test.mk> diff --git a/usr.bin/bmake/tests/syntax/directive-t0/Makefile b/usr.bin/bmake/tests/syntax/directive-t0/Makefile new file mode 100644 index 0000000000000..66e1f3253a021 --- /dev/null +++ b/usr.bin/bmake/tests/syntax/directive-t0/Makefile @@ -0,0 +1,13 @@ +# $FreeBSD$ + +TESTSDIR= ${TESTSBASE}/usr.bin/bmake/syntax/directive-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/bmake/tests/syntax/directive-t0/Makefile.test b/usr.bin/bmake/tests/syntax/directive-t0/Makefile.test new file mode 100644 index 0000000000000..0f95a2161164e --- /dev/null +++ b/usr.bin/bmake/tests/syntax/directive-t0/Makefile.test @@ -0,0 +1,8 @@ +# $FreeBSD$ +# +# A typo'ed directive. +# + +.uudef foo + +all: diff --git a/usr.bin/bmake/tests/syntax/directive-t0/expected.status.1 b/usr.bin/bmake/tests/syntax/directive-t0/expected.status.1 new file mode 100644 index 0000000000000..d00491fd7e5bb --- /dev/null +++ b/usr.bin/bmake/tests/syntax/directive-t0/expected.status.1 @@ -0,0 +1 @@ +1 diff --git a/usr.bin/bmake/tests/syntax/directive-t0/expected.stderr.1 b/usr.bin/bmake/tests/syntax/directive-t0/expected.stderr.1 new file mode 100644 index 0000000000000..de66fcc377529 --- /dev/null +++ b/usr.bin/bmake/tests/syntax/directive-t0/expected.stderr.1 @@ -0,0 +1,2 @@ +"Makefile", line 6: Unknown directive +make: fatal errors encountered -- cannot continue diff --git a/usr.bin/bmake/tests/syntax/directive-t0/expected.stdout.1 b/usr.bin/bmake/tests/syntax/directive-t0/expected.stdout.1 new file mode 100644 index 0000000000000..e69de29bb2d1d --- /dev/null +++ b/usr.bin/bmake/tests/syntax/directive-t0/expected.stdout.1 diff --git a/usr.bin/bmake/tests/syntax/directive-t0/legacy_test.sh b/usr.bin/bmake/tests/syntax/directive-t0/legacy_test.sh new file mode 100644 index 0000000000000..451c8764c252e --- /dev/null +++ b/usr.bin/bmake/tests/syntax/directive-t0/legacy_test.sh @@ -0,0 +1,13 @@ +#! /bin/sh +# $FreeBSD$ + +. $(dirname $0)/../../common.sh + +# Description +DESC="A typo'ed directive." + +# Run +TEST_N=1 +TEST_1= + +eval_cmd $* diff --git a/usr.bin/bmake/tests/syntax/enl/Makefile b/usr.bin/bmake/tests/syntax/enl/Makefile new file mode 100644 index 0000000000000..743e88fb49fc0 --- /dev/null +++ b/usr.bin/bmake/tests/syntax/enl/Makefile @@ -0,0 +1,25 @@ +# $FreeBSD$ + +TESTSDIR= ${TESTSBASE}/usr.bin/bmake/syntax/enl + +TAP_TESTS_SH= legacy_test + +FILESDIR= ${TESTSDIR} +FILES= Makefile.test +FILES+= expected.status.1 +FILES+= expected.status.2 +FILES+= expected.status.3 +FILES+= expected.status.4 +FILES+= expected.status.5 +FILES+= expected.stderr.1 +FILES+= expected.stderr.2 +FILES+= expected.stderr.3 +FILES+= expected.stderr.4 +FILES+= expected.stderr.5 +FILES+= expected.stdout.1 +FILES+= expected.stdout.2 +FILES+= expected.stdout.3 +FILES+= expected.stdout.4 +FILES+= expected.stdout.5 + +.include <bsd.test.mk> diff --git a/usr.bin/bmake/tests/syntax/enl/Makefile.test b/usr.bin/bmake/tests/syntax/enl/Makefile.test new file mode 100644 index 0000000000000..a7c69555f2446 --- /dev/null +++ b/usr.bin/bmake/tests/syntax/enl/Makefile.test @@ -0,0 +1,59 @@ +# $FreeBSD$ +# +# Test handling of escaped newlines. +# + +.ifmake test1 + +# This should succeed +\ +\ +\ +test1: + @echo ok + +.elifmake test2 + +# This should print ok because the second assignment to foo is actually +# a continued comment. +FOO=ok +#\ +\ +FOO=not ok +test2: + @echo "${FOO}" + +.elifmake test3 + +# Make sure an escaped newline inserts a space +test3: a\ +b + +a: + @echo a + +b: + @echo b + +.elifmake test4 + +# Make sure an escaped newline inserts exactly one space +FOO=a\ + b + +test4: + @echo "${FOO}" + +.elifmake test5 + +# Make sure each escaped newline inserts exactly one space +FOO=a\ +\ +\ +\ +b + +test5: + @echo "${FOO}" + +.endif diff --git a/usr.bin/bmake/tests/syntax/enl/expected.status.1 b/usr.bin/bmake/tests/syntax/enl/expected.status.1 new file mode 100644 index 0000000000000..573541ac9702d --- /dev/null +++ b/usr.bin/bmake/tests/syntax/enl/expected.status.1 @@ -0,0 +1 @@ +0 diff --git a/usr.bin/bmake/tests/syntax/enl/expected.status.2 b/usr.bin/bmake/tests/syntax/enl/expected.status.2 new file mode 100644 index 0000000000000..573541ac9702d --- /dev/null +++ b/usr.bin/bmake/tests/syntax/enl/expected.status.2 @@ -0,0 +1 @@ +0 diff --git a/usr.bin/bmake/tests/syntax/enl/expected.status.3 b/usr.bin/bmake/tests/syntax/enl/expected.status.3 new file mode 100644 index 0000000000000..573541ac9702d --- /dev/null +++ b/usr.bin/bmake/tests/syntax/enl/expected.status.3 @@ -0,0 +1 @@ +0 diff --git a/usr.bin/bmake/tests/syntax/enl/expected.status.4 b/usr.bin/bmake/tests/syntax/enl/expected.status.4 new file mode 100644 index 0000000000000..573541ac9702d --- /dev/null +++ b/usr.bin/bmake/tests/syntax/enl/expected.status.4 @@ -0,0 +1 @@ +0 diff --git a/usr.bin/bmake/tests/syntax/enl/expected.status.5 b/usr.bin/bmake/tests/syntax/enl/expected.status.5 new file mode 100644 index 0000000000000..573541ac9702d --- /dev/null +++ b/usr.bin/bmake/tests/syntax/enl/expected.status.5 @@ -0,0 +1 @@ +0 diff --git a/usr.bin/bmake/tests/syntax/enl/expected.stderr.1 b/usr.bin/bmake/tests/syntax/enl/expected.stderr.1 new file mode 100644 index 0000000000000..e69de29bb2d1d --- /dev/null +++ b/usr.bin/bmake/tests/syntax/enl/expected.stderr.1 diff --git a/usr.bin/bmake/tests/syntax/enl/expected.stderr.2 b/usr.bin/bmake/tests/syntax/enl/expected.stderr.2 new file mode 100644 index 0000000000000..e69de29bb2d1d --- /dev/null +++ b/usr.bin/bmake/tests/syntax/enl/expected.stderr.2 diff --git a/usr.bin/bmake/tests/syntax/enl/expected.stderr.3 b/usr.bin/bmake/tests/syntax/enl/expected.stderr.3 new file mode 100644 index 0000000000000..e69de29bb2d1d --- /dev/null +++ b/usr.bin/bmake/tests/syntax/enl/expected.stderr.3 diff --git a/usr.bin/bmake/tests/syntax/enl/expected.stderr.4 b/usr.bin/bmake/tests/syntax/enl/expected.stderr.4 new file mode 100644 index 0000000000000..e69de29bb2d1d --- /dev/null +++ b/usr.bin/bmake/tests/syntax/enl/expected.stderr.4 diff --git a/usr.bin/bmake/tests/syntax/enl/expected.stderr.5 b/usr.bin/bmake/tests/syntax/enl/expected.stderr.5 new file mode 100644 index 0000000000000..e69de29bb2d1d --- /dev/null +++ b/usr.bin/bmake/tests/syntax/enl/expected.stderr.5 diff --git a/usr.bin/bmake/tests/syntax/enl/expected.stdout.1 b/usr.bin/bmake/tests/syntax/enl/expected.stdout.1 new file mode 100644 index 0000000000000..9766475a4185a --- /dev/null +++ b/usr.bin/bmake/tests/syntax/enl/expected.stdout.1 @@ -0,0 +1 @@ +ok diff --git a/usr.bin/bmake/tests/syntax/enl/expected.stdout.2 b/usr.bin/bmake/tests/syntax/enl/expected.stdout.2 new file mode 100644 index 0000000000000..9766475a4185a --- /dev/null +++ b/usr.bin/bmake/tests/syntax/enl/expected.stdout.2 @@ -0,0 +1 @@ +ok diff --git a/usr.bin/bmake/tests/syntax/enl/expected.stdout.3 b/usr.bin/bmake/tests/syntax/enl/expected.stdout.3 new file mode 100644 index 0000000000000..422c2b7ab3b3c --- /dev/null +++ b/usr.bin/bmake/tests/syntax/enl/expected.stdout.3 @@ -0,0 +1,2 @@ +a +b diff --git a/usr.bin/bmake/tests/syntax/enl/expected.stdout.4 b/usr.bin/bmake/tests/syntax/enl/expected.stdout.4 new file mode 100644 index 0000000000000..b2901ea97cfc0 --- /dev/null +++ b/usr.bin/bmake/tests/syntax/enl/expected.stdout.4 @@ -0,0 +1 @@ +a b diff --git a/usr.bin/bmake/tests/syntax/enl/expected.stdout.5 b/usr.bin/bmake/tests/syntax/enl/expected.stdout.5 new file mode 100644 index 0000000000000..51200767c6166 --- /dev/null +++ b/usr.bin/bmake/tests/syntax/enl/expected.stdout.5 @@ -0,0 +1 @@ +a b diff --git a/usr.bin/bmake/tests/syntax/enl/legacy_test.sh b/usr.bin/bmake/tests/syntax/enl/legacy_test.sh new file mode 100644 index 0000000000000..307c1f02d2f0b --- /dev/null +++ b/usr.bin/bmake/tests/syntax/enl/legacy_test.sh @@ -0,0 +1,13 @@ +#! /bin/sh +# $FreeBSD$ + +. $(dirname $0)/../../common.sh + +# Description +DESC="Test escaped new-lines handling." + +# Run +TEST_N=5 +TEST_2_TODO="bug in parser" + +eval_cmd $* diff --git a/usr.bin/bmake/tests/syntax/funny-targets/Makefile b/usr.bin/bmake/tests/syntax/funny-targets/Makefile new file mode 100644 index 0000000000000..53a3e4d762db9 --- /dev/null +++ b/usr.bin/bmake/tests/syntax/funny-targets/Makefile @@ -0,0 +1,16 @@ +# $FreeBSD$ + +TESTSDIR= ${TESTSBASE}/usr.bin/bmake/syntax/funny-targets + +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/bmake/tests/syntax/funny-targets/Makefile.test b/usr.bin/bmake/tests/syntax/funny-targets/Makefile.test new file mode 100644 index 0000000000000..064ab3a9435f4 --- /dev/null +++ b/usr.bin/bmake/tests/syntax/funny-targets/Makefile.test @@ -0,0 +1,14 @@ +# $FreeBSD$ +# +# PR bin/6612 / GRN r102178 +# + +test1: colons::colons::target + +colons::colons::target: + @echo '${.TARGET}' + +test2: exclamation!target + +exclamation!target: + @echo '${.TARGET} diff --git a/usr.bin/bmake/tests/syntax/funny-targets/expected.status.1 b/usr.bin/bmake/tests/syntax/funny-targets/expected.status.1 new file mode 100644 index 0000000000000..573541ac9702d --- /dev/null +++ b/usr.bin/bmake/tests/syntax/funny-targets/expected.status.1 @@ -0,0 +1 @@ +0 diff --git a/usr.bin/bmake/tests/syntax/funny-targets/expected.status.2 b/usr.bin/bmake/tests/syntax/funny-targets/expected.status.2 new file mode 100644 index 0000000000000..573541ac9702d --- /dev/null +++ b/usr.bin/bmake/tests/syntax/funny-targets/expected.status.2 @@ -0,0 +1 @@ +0 diff --git a/usr.bin/bmake/tests/syntax/funny-targets/expected.stderr.1 b/usr.bin/bmake/tests/syntax/funny-targets/expected.stderr.1 new file mode 100644 index 0000000000000..e69de29bb2d1d --- /dev/null +++ b/usr.bin/bmake/tests/syntax/funny-targets/expected.stderr.1 diff --git a/usr.bin/bmake/tests/syntax/funny-targets/expected.stderr.2 b/usr.bin/bmake/tests/syntax/funny-targets/expected.stderr.2 new file mode 100644 index 0000000000000..e69de29bb2d1d --- /dev/null +++ b/usr.bin/bmake/tests/syntax/funny-targets/expected.stderr.2 diff --git a/usr.bin/bmake/tests/syntax/funny-targets/expected.stdout.1 b/usr.bin/bmake/tests/syntax/funny-targets/expected.stdout.1 new file mode 100644 index 0000000000000..09cb2328e9f7c --- /dev/null +++ b/usr.bin/bmake/tests/syntax/funny-targets/expected.stdout.1 @@ -0,0 +1 @@ +colons::colons::target diff --git a/usr.bin/bmake/tests/syntax/funny-targets/expected.stdout.2 b/usr.bin/bmake/tests/syntax/funny-targets/expected.stdout.2 new file mode 100644 index 0000000000000..b2f03648b48db --- /dev/null +++ b/usr.bin/bmake/tests/syntax/funny-targets/expected.stdout.2 @@ -0,0 +1 @@ +exclamation!target diff --git a/usr.bin/bmake/tests/syntax/funny-targets/legacy_test.sh b/usr.bin/bmake/tests/syntax/funny-targets/legacy_test.sh new file mode 100644 index 0000000000000..e9cd31701ecd1 --- /dev/null +++ b/usr.bin/bmake/tests/syntax/funny-targets/legacy_test.sh @@ -0,0 +1,12 @@ +#! /bin/sh +# $FreeBSD$ + +. $(dirname $0)/../../common.sh + +# Description +DESC='Target names with "funny" embeded characters.' + +# Run +TEST_N=2 + +eval_cmd $* diff --git a/usr.bin/bmake/tests/syntax/semi/Makefile b/usr.bin/bmake/tests/syntax/semi/Makefile new file mode 100644 index 0000000000000..00a7f1e94e34e --- /dev/null +++ b/usr.bin/bmake/tests/syntax/semi/Makefile @@ -0,0 +1,16 @@ +# $FreeBSD$ + +TESTSDIR= ${TESTSBASE}/usr.bin/bmake/syntax/semi + +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/bmake/tests/syntax/semi/Makefile.test b/usr.bin/bmake/tests/syntax/semi/Makefile.test new file mode 100644 index 0000000000000..12f52255ee12e --- /dev/null +++ b/usr.bin/bmake/tests/syntax/semi/Makefile.test @@ -0,0 +1,26 @@ +# $FreeBSD$ +# +# Test handling of escaped newlines. +# + +.ifmake test1 + +FOO= +BAR=bar +FOO != echo ${FOO} ; echo ${BAR} + +test1: + echo ${FOO} + +.endif + +.ifmake test2 + +FOO=foo +BAR=bar +FOO != echo ${FOO} ; echo ${BAR} + +test2: + echo ${FOO} + +.endif diff --git a/usr.bin/bmake/tests/syntax/semi/expected.status.1 b/usr.bin/bmake/tests/syntax/semi/expected.status.1 new file mode 100644 index 0000000000000..573541ac9702d --- /dev/null +++ b/usr.bin/bmake/tests/syntax/semi/expected.status.1 @@ -0,0 +1 @@ +0 diff --git a/usr.bin/bmake/tests/syntax/semi/expected.status.2 b/usr.bin/bmake/tests/syntax/semi/expected.status.2 new file mode 100644 index 0000000000000..573541ac9702d --- /dev/null +++ b/usr.bin/bmake/tests/syntax/semi/expected.status.2 @@ -0,0 +1 @@ +0 diff --git a/usr.bin/bmake/tests/syntax/semi/expected.stderr.1 b/usr.bin/bmake/tests/syntax/semi/expected.stderr.1 new file mode 100644 index 0000000000000..e69de29bb2d1d --- /dev/null +++ b/usr.bin/bmake/tests/syntax/semi/expected.stderr.1 diff --git a/usr.bin/bmake/tests/syntax/semi/expected.stderr.2 b/usr.bin/bmake/tests/syntax/semi/expected.stderr.2 new file mode 100644 index 0000000000000..e69de29bb2d1d --- /dev/null +++ b/usr.bin/bmake/tests/syntax/semi/expected.stderr.2 diff --git a/usr.bin/bmake/tests/syntax/semi/expected.stdout.1 b/usr.bin/bmake/tests/syntax/semi/expected.stdout.1 new file mode 100644 index 0000000000000..12b9617511d6a --- /dev/null +++ b/usr.bin/bmake/tests/syntax/semi/expected.stdout.1 @@ -0,0 +1,2 @@ +echo bar +bar diff --git a/usr.bin/bmake/tests/syntax/semi/expected.stdout.2 b/usr.bin/bmake/tests/syntax/semi/expected.stdout.2 new file mode 100644 index 0000000000000..be0fa55566661 --- /dev/null +++ b/usr.bin/bmake/tests/syntax/semi/expected.stdout.2 @@ -0,0 +1,2 @@ +echo foo bar +foo bar diff --git a/usr.bin/bmake/tests/syntax/semi/legacy_test.sh b/usr.bin/bmake/tests/syntax/semi/legacy_test.sh new file mode 100644 index 0000000000000..092635a849578 --- /dev/null +++ b/usr.bin/bmake/tests/syntax/semi/legacy_test.sh @@ -0,0 +1,13 @@ +#! /bin/sh +# $FreeBSD$ + +. $(dirname $0)/../../common.sh + +# Description +DESC="Test semicolon handling." + +# Run +TEST_N=2 +TEST_1_TODO="parser bug" + +eval_cmd $* |
