summaryrefslogtreecommitdiff
path: root/tests/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'tests/scripts')
-rw-r--r--tests/scripts/variables/DEFAULT_TARGET59
1 files changed, 59 insertions, 0 deletions
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;