From 6d8d9b74d9c50cb07fe952ac0929f618e4280a55 Mon Sep 17 00:00:00 2001 From: Paul Smith Date: Fri, 10 Mar 2006 02:20:45 +0000 Subject: Numerous updates to tests for issues found on Cygwin and Windows. Revert a fix for $? including non-existent files as it shows a bug in the Linux kernel build. Give them a release to fix this. Add some changes from Eli Z. for Windows changes. --- tests/scripts/features/escape | 54 +++++++++++++++++++++---------------------- 1 file changed, 26 insertions(+), 28 deletions(-) (limited to 'tests/scripts/features/escape') diff --git a/tests/scripts/features/escape b/tests/scripts/features/escape index 88b372a..97a2994 100644 --- a/tests/scripts/features/escape +++ b/tests/scripts/features/escape @@ -6,55 +6,53 @@ Make sure that escaping of `:' works in target names. Make sure escaping of whitespace works in target names. Make sure that escaping of '#' works."; -open(MAKEFILE,"> $makefile"); - -print MAKEFILE <<'EOF'; -$(path)foo : ; @echo cp $^ $@ - -foo\ bar: ; @echo 'touch "$@"' - -sharp: foo\#bar.ext -foo\#bar.ext: ; @echo foo\#bar.ext = '$@' -EOF close(MAKEFILE); # TEST 1 -&run_make_with_options($makefile, "", &get_logfile); -$answer = "cp foo\n"; -&compare_output($answer,&get_logfile(1)); +run_make_test(' +$(path)foo : ; @echo "touch ($@)" + +foo\ bar: ; @echo "touch ($@)" + +sharp: foo\#bar.ext +foo\#bar.ext: ; @echo "foo#bar.ext = ($@)"', + '', + 'touch (foo)'); # TEST 2: This one should fail, since the ":" is unquoted. -&run_make_with_options($makefile, "path=p:", &get_logfile, 512); -$answer = "$makefile:1: *** target pattern contains no `%'. Stop.\n"; -&compare_output($answer,&get_logfile(1)); +run_make_test(undef, + 'path=pre:', + "#MAKEFILE#:2: *** target pattern contains no `%'. Stop.", + 512); # TEST 3: This one should work, since we escape the ":". -&run_make_with_options($makefile, "'path=p\\:'", &get_logfile, 0); -$answer = "cp p:foo\n"; -&compare_output($answer,&get_logfile(1)); +run_make_test(undef, + "'path=pre\\:'", + 'touch (pre:foo)'); # TEST 4: This one should fail, since the escape char is escaped. -&run_make_with_options($makefile, "'path=p\\\\:'", &get_logfile, 512); -$answer = "$makefile:1: *** target pattern contains no `%'. Stop.\n"; -&compare_output($answer,&get_logfile(1)); +run_make_test(undef, + "'path=pre\\\\:'", + "#MAKEFILE#:2: *** target pattern contains no `%'. Stop.", + 512); # TEST 5: This one should work -&run_make_with_options($makefile, "'foo bar'", &get_logfile, 0); -$answer = "touch \"foo bar\"\n"; -&compare_output($answer,&get_logfile(1)); +run_make_test(undef, + "'foo bar'", + 'touch (foo bar)'); # TEST 6: Test escaped comments -&run_make_with_options($makefile, "sharp", &get_logfile, 0); -$answer = "foo#bar.ext = foo#bar.ext\n"; -&compare_output($answer,&get_logfile(1)); +run_make_test(undef, + 'sharp', + 'foo#bar.ext = (foo#bar.ext)'); # This tells the test driver that the perl test script executed properly. 1; -- cgit v1.2.3