diff options
Diffstat (limited to 'make/make-3.81/tests/scripts/misc/general3')
-rw-r--r-- | make/make-3.81/tests/scripts/misc/general3 | 313 |
1 files changed, 0 insertions, 313 deletions
diff --git a/make/make-3.81/tests/scripts/misc/general3 b/make/make-3.81/tests/scripts/misc/general3 deleted file mode 100644 index b3142c2..0000000 --- a/make/make-3.81/tests/scripts/misc/general3 +++ /dev/null @@ -1,313 +0,0 @@ -# -*-perl-*- - -$description = "\ -This tests random features of the parser that need to be supported, and -which have either broken at some point in the past or seem likely to -break."; - -run_make_test(" -# We want to allow both empty commands _and_ commands that resolve to empty. -EMPTY = - -.PHONY: all a1 a2 a3 a4 -all: a1 a2 a3 a4 - -a1:; -a2: -\t -a3:;\$(EMPTY) -a4: -\t\$(EMPTY) - -\# Non-empty lines that expand to nothing should also be ignored. -STR = \# Some spaces -TAB = \t \# A TAB and some spaces - -\$(STR) - -\$(STR) \$(TAB)", - '', "#MAKE#: Nothing to be done for `all'."); - -# TEST 2 - -# Make sure files without trailing newlines are handled properly. -# Have to use the old style invocation to test this. - -$makefile2 = &get_tmpfile; - -open(MAKEFILE, "> $makefile2"); -print MAKEFILE "all:;\@echo FOO = \$(FOO)\nFOO = foo"; -close(MAKEFILE); - -&run_make_with_options($makefile2,"",&get_logfile); -$answer = "FOO = foo\n"; -&compare_output($answer,&get_logfile(1)); - -# TEST 3 - -# Check semicolons in variable references - -run_make_test(' -$(if true,$(info true; true)) -all: ; @: -', - '', 'true; true'); - -# TEST 4 - -# Check that backslashes in command scripts are handled according to POSIX. -# Checks Savannah bug # 1332. - -# Test the fastpath / no quotes -run_make_test(' -all: - @echo foo\ -bar - @echo foo\ - bar - @echo foo\ - bar - @echo foo\ - bar - @echo foo \ -bar - @echo foo \ - bar - @echo foo \ - bar - @echo foo \ - bar -', - '', 'foobar -foobar -foo bar -foo bar -foo bar -foo bar -foo bar -foo bar'); - -# Test the fastpath / single quotes -run_make_test(" -all: - \@echo 'foo\\ -bar' - \@echo 'foo\\ - bar' - \@echo 'foo\\ - bar' - \@echo 'foo\\ - bar' - \@echo 'foo \\ -bar' - \@echo 'foo \\ - bar' - \@echo 'foo \\ - bar' - \@echo 'foo \\ - bar' -", - '', 'foo\ -bar -foo\ -bar -foo\ - bar -foo\ - bar -foo \ -bar -foo \ -bar -foo \ - bar -foo \ - bar'); - -# Test the fastpath / double quotes -run_make_test(' -all: - @echo "foo\ -bar" - @echo "foo\ - bar" - @echo "foo\ - bar" - @echo "foo\ - bar" - @echo "foo \ -bar" - @echo "foo \ - bar" - @echo "foo \ - bar" - @echo "foo \ - bar" -', - '', 'foobar -foobar -foo bar -foo bar -foo bar -foo bar -foo bar -foo bar'); - -# Test the slow path / no quotes -run_make_test(' -all: - @echo hi; echo foo\ -bar - @echo hi; echo foo\ - bar - @echo hi; echo foo\ - bar - @echo hi; echo foo\ - bar - @echo hi; echo foo \ -bar - @echo hi; echo foo \ - bar - @echo hi; echo foo \ - bar - @echo hi; echo foo \ - bar -', - '', 'hi -foobar -hi -foobar -hi -foo bar -hi -foo bar -hi -foo bar -hi -foo bar -hi -foo bar -hi -foo bar'); - -# Test the slow path / no quotes. This time we put the slow path -# determination _after_ the backslash-newline handling. -run_make_test(' -all: - @echo foo\ -bar; echo hi - @echo foo\ - bar; echo hi - @echo foo\ - bar; echo hi - @echo foo\ - bar; echo hi - @echo foo \ -bar; echo hi - @echo foo \ - bar; echo hi - @echo foo \ - bar; echo hi - @echo foo \ - bar; echo hi -', - '', 'foobar -hi -foobar -hi -foo bar -hi -foo bar -hi -foo bar -hi -foo bar -hi -foo bar -hi -foo bar -hi'); - -# Test the slow path / single quotes -run_make_test(" -all: - \@echo hi; echo 'foo\\ -bar' - \@echo hi; echo 'foo\\ - bar' - \@echo hi; echo 'foo\\ - bar' - \@echo hi; echo 'foo\\ - bar' - \@echo hi; echo 'foo \\ -bar' - \@echo hi; echo 'foo \\ - bar' - \@echo hi; echo 'foo \\ - bar' - \@echo hi; echo 'foo \\ - bar' -", - '', 'hi -foo\ -bar -hi -foo\ -bar -hi -foo\ - bar -hi -foo\ - bar -hi -foo \ -bar -hi -foo \ -bar -hi -foo \ - bar -hi -foo \ - bar'); - -# Test the slow path / double quotes -run_make_test(' -all: - @echo hi; echo "foo\ -bar" - @echo hi; echo "foo\ - bar" - @echo hi; echo "foo\ - bar" - @echo hi; echo "foo\ - bar" - @echo hi; echo "foo \ -bar" - @echo hi; echo "foo \ - bar" - @echo hi; echo "foo \ - bar" - @echo hi; echo "foo \ - bar" -', - '', 'hi -foobar -hi -foobar -hi -foo bar -hi -foo bar -hi -foo bar -hi -foo bar -hi -foo bar -hi -foo bar'); - -1; |