aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2016-07-28 07:17:29 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2016-07-28 13:53:22 +0200
commitb11aaa16d404ce7dc55de6b7338dccbf053a72bd (patch)
treebe5a63a170f9de7318e91d79c4784badb8a4488f /tests
parentad7d4bd0722aa70ba634900cebf93a1b1814fed9 (diff)
Adjust to new path implementation, use to support reversibility
Diffstat (limited to 'tests')
-rwxr-xr-xtests/test.sh4
-rw-r--r--tests/variable/dir-path/buildfile45
-rw-r--r--tests/variable/dir-path/test.out22
-rwxr-xr-xtests/variable/dir-path/test.sh3
-rw-r--r--tests/variable/representation/buildfile3
-rwxr-xr-xtests/variable/representation/test.sh4
6 files changed, 80 insertions, 1 deletions
diff --git a/tests/test.sh b/tests/test.sh
index b26dd3b..f29b43a 100755
--- a/tests/test.sh
+++ b/tests/test.sh
@@ -7,7 +7,7 @@ export PATH=$cur_dir/../build2:$PATH
function test ()
{
- echo "Testing $1"
+ echo "testing $1"
cd "$cur_dir/$1"
./test.sh
}
@@ -22,10 +22,12 @@ test "names"
test "pairs"
test "quote"
test "scope"
+test "variable/dir-path"
test "variable/expansion"
test "variable/null"
test "variable/override"
test "variable/prepend"
test "variable/qualified"
+test "variable/representation"
test "variable/type"
test "variable/type-pattern-append"
diff --git a/tests/variable/dir-path/buildfile b/tests/variable/dir-path/buildfile
new file mode 100644
index 0000000..5c99f07
--- /dev/null
+++ b/tests/variable/dir-path/buildfile
@@ -0,0 +1,45 @@
+# Untyped dir path reversability.
+#
+x = s/foo/bar/
+print -e=$x
+print -e $x
+
+y = $x
+print -e=$y
+print -e $y
+print
+
+# Typed dir path reversability and expansion.
+#
+x = [dir_path] foo/bar/
+print -I$x
+print -I$x/baz
+print -I $x
+print [strings] -I $x
+print -I $x/baz
+print
+
+y = $x # No longer typed but still not original.
+print -I$y
+print -I$y/baz
+print -I $y
+print [strings] -I $y
+print -I $y/baz
+print
+
+z = [strings] $x # Re-typed.
+print $z
+print
+
+# The root case.
+#
+r = [dir_path] /
+print $r/foo
+
+r += foo
+print [strings] $r
+
+r += bar
+print [strings] $r
+
+./:
diff --git a/tests/variable/dir-path/test.out b/tests/variable/dir-path/test.out
new file mode 100644
index 0000000..e608c42
--- /dev/null
+++ b/tests/variable/dir-path/test.out
@@ -0,0 +1,22 @@
+-e=s/foo/bar/
+-e s/foo/bar/
+-e=s/foo/bar/
+-e s/foo/bar/
+
+-Ifoo/bar
+-Ifoo/bar/baz
+-I foo/bar/
+-I foo/bar
+-I foo/bar/baz
+
+-Ifoo/bar
+-Ifoo/bar/baz
+-I foo/bar/
+-I foo/bar
+-I foo/bar/baz
+
+foo/bar
+
+//foo
+/foo
+/foo/bar
diff --git a/tests/variable/dir-path/test.sh b/tests/variable/dir-path/test.sh
new file mode 100755
index 0000000..c745b76
--- /dev/null
+++ b/tests/variable/dir-path/test.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+b -q | diff --strip-trailing-cr -u test.out -
diff --git a/tests/variable/representation/buildfile b/tests/variable/representation/buildfile
index 9bb90d1..b9c213d 100644
--- a/tests/variable/representation/buildfile
+++ b/tests/variable/representation/buildfile
@@ -1,3 +1,6 @@
+# @@ I wonder if we can redo this test in terms of print?
+#
+
# Test reversibility of variable representation.
#
val = -L/
diff --git a/tests/variable/representation/test.sh b/tests/variable/representation/test.sh
new file mode 100755
index 0000000..da9e0e9
--- /dev/null
+++ b/tests/variable/representation/test.sh
@@ -0,0 +1,4 @@
+#!/bin/sh
+
+b test
+