summaryrefslogtreecommitdiff
path: root/tests/scripts/features/override
diff options
context:
space:
mode:
authorLorry Tar Creator <lorry-tar-importer@baserock.org>2014-10-05 16:25:56 +0000
committer <>2015-02-04 09:41:42 +0000
commit9de84c07c0648cde63bfcd2769b07faf86668e1a (patch)
tree6460e009c267f3712a693403b2dbdf161ab0941b /tests/scripts/features/override
downloadmake-tarball-master.tar.gz
Imported from /home/lorry/working-area/delta_make-tarball/make-4.1.tar.bz2.HEADmake-4.1master
Diffstat (limited to 'tests/scripts/features/override')
-rw-r--r--tests/scripts/features/override45
1 files changed, 45 insertions, 0 deletions
diff --git a/tests/scripts/features/override b/tests/scripts/features/override
new file mode 100644
index 0000000..fff6c4e
--- /dev/null
+++ b/tests/scripts/features/override
@@ -0,0 +1,45 @@
+# -*-perl-*-
+
+$description = "Test the override directive on variable assignments.";
+
+$details = "";
+
+# TEST 0: Basic override
+
+run_make_test('
+X = start
+override recur = $(X)
+override simple := $(X)
+X = end
+all: ; @echo "$(recur) $(simple)"
+',
+ 'recur=I simple=J', "end start\n");
+
+# TEST 1: Override with append
+
+run_make_test('
+X += X1
+override X += X2
+override Y += Y1
+Y += Y2
+all: ; @echo "$(X) $(Y)"
+',
+ '', "X1 X2 Y1\n");
+
+# TEST 2: Override with append to the command line
+
+run_make_test(undef, 'X=C Y=C', "C X2 C Y1\n");
+
+# Test override of define/endef
+
+run_make_test('
+override define foo
+@echo First comes the definition.
+@echo Then comes the override.
+endef
+all: ; $(foo)
+',
+ 'foo=Hello', "First comes the definition.\nThen comes the override.\n");
+
+
+1;