summaryrefslogtreecommitdiffstats
path: root/make/make-3.81/tests/scripts/options/dash-n
diff options
context:
space:
mode:
authorLukc <lukc@upyum.com>2010-12-11 19:15:23 +0100
committerLukc <lukc@upyum.com>2010-12-11 19:15:35 +0100
commit6d908a38e05b9d4135c65d23114a5874215b5bb8 (patch)
treeb5e6da6d95b9a1235d82032b509b80483a886ff5 /make/make-3.81/tests/scripts/options/dash-n
downloadbase-6d908a38e05b9d4135c65d23114a5874215b5bb8.tar.gz
base-6d908a38e05b9d4135c65d23114a5874215b5bb8.tar.bz2
base-6d908a38e05b9d4135c65d23114a5874215b5bb8.tar.xz
base-6d908a38e05b9d4135c65d23114a5874215b5bb8.zip
Engagement initial.
Diffstat (limited to 'make/make-3.81/tests/scripts/options/dash-n')
-rw-r--r--make/make-3.81/tests/scripts/options/dash-n70
1 files changed, 70 insertions, 0 deletions
diff --git a/make/make-3.81/tests/scripts/options/dash-n b/make/make-3.81/tests/scripts/options/dash-n
new file mode 100644
index 0000000..de19f42
--- /dev/null
+++ b/make/make-3.81/tests/scripts/options/dash-n
@@ -0,0 +1,70 @@
+# -*-perl-*-
+$description = "Test the -n option.\n";
+
+$details = "Try various uses of -n and ensure they all give the correct results.\n";
+
+open(MAKEFILE, "> $makefile");
+
+# The Contents of the MAKEFILE ...
+
+print MAKEFILE <<'EOMAKE';
+
+final: intermediate ; echo >> $@
+intermediate: orig ; echo >> $@
+
+EOMAKE
+
+close(MAKEFILE);
+
+&touch('orig');
+
+# TEST 0
+
+&run_make_with_options($makefile, "", &get_logfile);
+$answer = "echo >> intermediate\necho >> final\n";
+&compare_output($answer, &get_logfile(1));
+
+# TEST 1
+
+&run_make_with_options($makefile, "-Worig -n", &get_logfile);
+$answer = "echo >> intermediate\necho >> final\n";
+&compare_output($answer, &get_logfile(1));
+
+unlink('orig', 'intermediate', 'final');
+
+# We consider the actual updated timestamp of targets with all
+# recursive commands, even with -n.
+
+$makefile2 = &get_tmpfile;
+
+open(MAKEFILE, "> $makefile2");
+
+print MAKEFILE <<'EOF';
+.SUFFIXES:
+BAR = # nothing
+FOO = +$(BAR)
+a: b; echo > $@
+b: c; $(FOO)
+EOF
+
+close(MAKEFILE);
+
+&utouch(-20, 'b');
+&utouch(-10, 'a');
+&touch('c');
+
+# TEST 2
+
+&run_make_with_options($makefile2, "", &get_logfile);
+$answer = "$make_name: `a' is up to date.\n";
+&compare_output($answer, &get_logfile(1));
+
+# TEST 3
+
+&run_make_with_options($makefile2, "-n", &get_logfile);
+$answer = "$make_name: `a' is up to date.\n";
+&compare_output($answer, &get_logfile(1));
+
+unlink('a', 'b', 'c');
+
+1;