diff options
author | Paul Smith <psmith@gnu.org> | 1999-09-14 02:03:19 +0000 |
---|---|---|
committer | Paul Smith <psmith@gnu.org> | 1999-09-14 02:03:19 +0000 |
commit | 0d366b668244112846554c42045ff1d9956276ed (patch) | |
tree | 3802242fe18a5e90d889f5d1ac66fb487361888b /tests/scripts/features/escape | |
parent | 4121dea6a59367b4431cbe7a3c43d74fec9fd832 (diff) | |
download | gunmake-0d366b668244112846554c42045ff1d9956276ed.tar.gz |
* Added the test suite to the main distribution.
Diffstat (limited to 'tests/scripts/features/escape')
-rw-r--r-- | tests/scripts/features/escape | 38 |
1 files changed, 38 insertions, 0 deletions
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; |