aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2015-09-09 14:51:48 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2015-09-09 14:51:48 +0200
commit8a9870ed59225972de389b7b4a494a57390bff1b (patch)
tree280788395cb1895bb2367c931b94c6fe711426ea /tests
parent7a2f5753a12a68e87f8556f6e833710f147533b2 (diff)
Add initial support for function calls: $func(a b c)
Now it is just a stub that prints the function name and its argument. Currently only single argument can be passed (no value pack support yet).
Diffstat (limited to 'tests')
-rw-r--r--tests/eval/buildfile1
-rw-r--r--tests/function/call/buildfile15
-rw-r--r--tests/function/call/test.out7
-rwxr-xr-xtests/function/call/test.sh3
4 files changed, 26 insertions, 0 deletions
diff --git a/tests/eval/buildfile b/tests/eval/buildfile
index c658d3b..cf315b6 100644
--- a/tests/eval/buildfile
+++ b/tests/eval/buildfile
@@ -1,4 +1,5 @@
(./):
+()
# Invalid.
#
diff --git a/tests/function/call/buildfile b/tests/function/call/buildfile
new file mode 100644
index 0000000..93eba14
--- /dev/null
+++ b/tests/function/call/buildfile
@@ -0,0 +1,15 @@
+$identity()
+$identity (a)
+$identity (a b c)
+$identity(sub/dir{x y z})
+
+# Verify we can inhibit function call with quoting.
+#
+foo = FOO
+bar = BAR
+
+print $foo"($bar)"
+print "$foo"($bar)
+print "$foo""($bar)"
+
+./:
diff --git a/tests/function/call/test.out b/tests/function/call/test.out
new file mode 100644
index 0000000..abc5974
--- /dev/null
+++ b/tests/function/call/test.out
@@ -0,0 +1,7 @@
+identity()
+identity(a)
+identity(a b c)
+identity(sub/dir{x} sub/dir{y} sub/dir{z})
+FOOBAR
+FOOBAR
+FOOBAR
diff --git a/tests/function/call/test.sh b/tests/function/call/test.sh
new file mode 100755
index 0000000..b898b3c
--- /dev/null
+++ b/tests/function/call/test.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+valgrind -q b -q | diff -u test.out -