summaryrefslogtreecommitdiff
path: root/tests/scripts/functions/origin
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/functions/origin
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/functions/origin')
-rw-r--r--tests/scripts/functions/origin51
1 files changed, 51 insertions, 0 deletions
diff --git a/tests/scripts/functions/origin b/tests/scripts/functions/origin
new file mode 100644
index 0000000..f7b7eb8
--- /dev/null
+++ b/tests/scripts/functions/origin
@@ -0,0 +1,51 @@
+# -*-perl-*-
+
+$description = "Test the origin function.";
+
+$details = "This is a test of the origin function in gnu make.
+This function will report on where a variable was
+defined per the following list:
+
+'undefined' never defined
+'default' default definition
+'environment' environment var without -e
+'environment override' environment var with -e
+'file' defined in makefile
+'command line' defined on the command line
+'override' defined by override in makefile
+'automatic' Automatic variable\n";
+
+# Set an environment variable
+$extraENV{MAKETEST} = 1;
+
+run_make_test('
+foo := bletch garf
+auto_var = undefined CC MAKETEST MAKE foo CFLAGS WHITE @
+av = $(foreach var, $(auto_var), $(origin $(var)) )
+override WHITE := BLACK
+all: auto
+ @echo $(origin undefined)
+ @echo $(origin CC)
+ @echo $(origin MAKETEST)
+ @echo $(origin MAKE)
+ @echo $(origin foo)
+ @echo $(origin CFLAGS)
+ @echo $(origin WHITE)
+ @echo $(origin @)
+auto :
+ @echo $(av)',
+ '-e WHITE=WHITE CFLAGS=',
+ 'undefined default environment default file command line override automatic
+undefined
+default
+environment
+default
+file
+command line
+override
+automatic');
+
+# Reset an environment variable
+delete $extraENV{MAKETEST};
+
+1;