summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/ChangeLog5
-rw-r--r--tests/scripts/variables/DEFAULT_TARGET59
2 files changed, 64 insertions, 0 deletions
diff --git a/tests/ChangeLog b/tests/ChangeLog
index 8bc29b1..462c2e6 100644
--- a/tests/ChangeLog
+++ b/tests/ChangeLog
@@ -1,3 +1,8 @@
+Mon Feb 28 00:31:14 2005 Boris Kolpackov <boris@kolpackov.net>
+
+ * scripts/variables/DEFAULT_TARGET: Test the .DEFAULT_TARGET
+ special variable.
+
Sun Feb 27 23:33:32 2005 Boris Kolpackov <boris@kolpackov.net>
* scripts/features/se_explicit: Test the second expansion in
diff --git a/tests/scripts/variables/DEFAULT_TARGET b/tests/scripts/variables/DEFAULT_TARGET
new file mode 100644
index 0000000..76b2a23
--- /dev/null
+++ b/tests/scripts/variables/DEFAULT_TARGET
@@ -0,0 +1,59 @@
+# -*-perl-*-
+$description = "Test the .DEFAULT_TARGET special variable.";
+
+$details = "";
+
+# Test #1: basic logic.
+#
+run_make_test('
+# Basics.
+#
+foo: ; @:
+
+ifneq ($(.DEFAULT_TARGET),foo)
+$(error )
+endif
+
+# Reset to empty.
+#
+.DEFAULT_TARGET :=
+
+bar: ; @:
+
+ifneq ($(.DEFAULT_TARGET),bar)
+$(error )
+endif
+
+# Change to a different target.
+#
+
+.DEFAULT_TARGET := baz
+
+baz: ; @echo $@
+',
+'',
+'baz');
+
+
+# Test #2: unknown target.
+#
+run_make_test('
+.DEFAULT_TARGET := foo
+',
+'',
+'make: *** No rule to make target `foo\'. Stop.',
+512);
+
+
+# Test #2: more than one target.
+#
+run_make_test('
+.DEFAULT_TARGET := foo bar
+',
+'',
+'make: *** .DEFAULT_TARGET contains more than one target. Stop.',
+512);
+
+
+# This tells the test driver that the perl test script executed properly.
+1;