diff options
Diffstat (limited to 'tests/scripts/variables')
-rw-r--r-- | tests/scripts/variables/automatic | 29 |
1 files changed, 26 insertions, 3 deletions
diff --git a/tests/scripts/variables/automatic b/tests/scripts/variables/automatic index b80d478..cb17efe 100644 --- a/tests/scripts/variables/automatic +++ b/tests/scripts/variables/automatic @@ -30,9 +30,8 @@ close(MAKEFILE); # TEST #1 -- simple test # ------- -&touch(qw(foo.x baz.z)); - -sleep(1); +# Touch these into the past +&utouch(-10, qw(foo.x baz.z)); &run_make_with_options($makefile, "", &get_logfile); $answer = "touch $dir/bar.y @@ -47,4 +46,28 @@ touch $dir/foo.x\n"; unlink(qw(foo.x bar.y baz.z)); +# TEST #2 -- test the SysV emulation of $$@ etc. +# ------- + +$makefile2 = &get_tmpfile; + +open(MAKEFILE, "> $makefile2"); +print MAKEFILE "dir = $dir\n"; +print MAKEFILE <<'EOF'; +.SUFFIXES: +.DEFAULT: ; @echo '$@' + +$(dir)/foo $(dir)/bar: $@.x $$@.x $$$@.x $$$$@.x $$(@D).x $$(@F).x + +$(dir)/x.z $(dir)/y.z: $(dir)/%.z : $@.% $$@.% $$$@.% $$$$@.% $$(@D).% $$(@F).% +EOF + +&run_make_with_options($makefile2, "$dir/foo $dir/bar", &get_logfile); +$answer = ".x\n$dir/foo.x\n\$.x\n\$@.x\n$dir.x\nfoo.x\n$dir/bar.x\nbar.x\n"; +&compare_output($answer, &get_logfile(1)); + +&run_make_with_options($makefile2, "$dir/x.z $dir/y.z", &get_logfile); +$answer = ".x\n$dir/x.z.x\n\$.x\n\$@.x\n$dir.x\nx.z.x\n.y\n$dir/y.z.y\n\$.y\n\$@.y\n$dir.y\ny.z.y\n"; +&compare_output($answer, &get_logfile(1)); + 1; |