mirror of
https://github.com/mirror/make.git
synced 2026-09-02 04:38:12 +08:00
Fix a bug handling target/prerequisite names containing comment
characters.
This commit is contained in:
@@ -73,7 +73,7 @@ if ($parallel_jobs) {
|
||||
|
||||
# TEST 4: Each double-colon rule is supposed to be run individually
|
||||
|
||||
&touch('f2.h');
|
||||
&utouch(-5, 'f2.h');
|
||||
&touch('foo');
|
||||
|
||||
&run_make_with_options($makefile, "foo", &get_logfile, 0);
|
||||
@@ -90,7 +90,7 @@ if ($parallel_jobs) {
|
||||
|
||||
# TEST 6: Each double-colon rule is supposed to be run individually
|
||||
|
||||
&touch('f1.h');
|
||||
&utouch(-5, 'f1.h');
|
||||
unlink('f2.h');
|
||||
&touch('foo');
|
||||
|
||||
|
||||
@@ -3,7 +3,8 @@ $description = "Test various types of escaping in makefiles.";
|
||||
|
||||
$details = "\
|
||||
Make sure that escaping of `:' works in target names.
|
||||
Also make sure escaping of whitespace works in target names";
|
||||
Make sure escaping of whitespace works in target names.
|
||||
Make sure that escaping of '#' works.";
|
||||
|
||||
open(MAKEFILE,"> $makefile");
|
||||
|
||||
@@ -11,6 +12,9 @@ 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);
|
||||
@@ -46,5 +50,11 @@ $answer = "$makefile:1: *** target pattern contains no `%'. Stop.\n";
|
||||
$answer = "touch \"foo bar\"\n";
|
||||
&compare_output($answer,&get_logfile(1));
|
||||
|
||||
# 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));
|
||||
|
||||
# This tells the test driver that the perl test script executed properly.
|
||||
1;
|
||||
|
||||
Reference in New Issue
Block a user