From 0d366b668244112846554c42045ff1d9956276ed Mon Sep 17 00:00:00 2001 From: Paul Smith Date: Tue, 14 Sep 1999 02:03:19 +0000 Subject: * Added the test suite to the main distribution. --- tests/scripts/features/escape | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 tests/scripts/features/escape (limited to 'tests/scripts/features/escape') diff --git a/tests/scripts/features/escape b/tests/scripts/features/escape new file mode 100644 index 0000000..7404387 --- /dev/null +++ b/tests/scripts/features/escape @@ -0,0 +1,38 @@ +$description = "Test various types of escaping in makefiles."; + +$details = "Make sure that escaping of `:' works in target names."; + +open(MAKEFILE,"> $makefile"); + +print MAKEFILE '$(path)foo : ; @echo cp $^ $@ +'; + +close(MAKEFILE); + + +# TEST 1 + +&run_make_with_options($makefile, "", &get_logfile); +$answer = "cp foo\n"; +&compare_output($answer,&get_logfile(1)); + +# 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)); + +# 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)); + +# 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)); + +# This tells the test driver that the perl test script executed properly. +1; -- cgit v1.2.3