aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--old-tests/scope/test-1.out12
-rw-r--r--old-tests/scope/test-2.out12
-rwxr-xr-xold-tests/test.sh2
-rw-r--r--old-tests/variable/dir-path/buildfile45
-rw-r--r--old-tests/variable/dir-path/test.out22
-rwxr-xr-xold-tests/variable/dir-path/test.sh3
-rw-r--r--old-tests/variable/representation/build/bootstrap.build4
-rw-r--r--old-tests/variable/representation/buildfile34
-rw-r--r--old-tests/variable/representation/driver.cxx10
-rw-r--r--old-tests/variable/representation/test.out20
-rwxr-xr-xold-tests/variable/representation/test.sh4
-rw-r--r--tests/buildfile2
-rw-r--r--tests/value/buildfile5
-rw-r--r--tests/value/reverse.test76
14 files changed, 94 insertions, 157 deletions
diff --git a/old-tests/scope/test-1.out b/old-tests/scope/test-1.out
index 0273bf1..6c98a76 100644
--- a/old-tests/scope/test-1.out
+++ b/old-tests/scope/test-1.out
@@ -5,11 +5,11 @@
-1:
-1:
0: scope-amalgamation
-0: /home/boris/work/build2/build2/tests/scope/amalgamation/s/
-0: /home/boris/work/build2/build2/tests/scope/amalgamation/s/
+0: /home/boris/work/build2/build2/old-tests/scope/amalgamation/s/
+0: /home/boris/work/build2/build2/old-tests/scope/amalgamation/s/
1: scope-amalgamation-l1
-1: /home/boris/work/build2/build2/tests/scope/amalgamation/l1/s/
-1: /home/boris/work/build2/build2/tests/scope/amalgamation/l1/s/
+1: /home/boris/work/build2/build2/old-tests/scope/amalgamation/l1/s/
+1: /home/boris/work/build2/build2/old-tests/scope/amalgamation/l1/s/
2: scope-amalgamation-l2
-2: /home/boris/work/build2/build2/tests/scope/amalgamation/l1/l2/s/
-2: /home/boris/work/build2/build2/tests/scope/amalgamation/l1/l2/s/
+2: /home/boris/work/build2/build2/old-tests/scope/amalgamation/l1/l2/s/
+2: /home/boris/work/build2/build2/old-tests/scope/amalgamation/l1/l2/s/
diff --git a/old-tests/scope/test-2.out b/old-tests/scope/test-2.out
index 88f9620..ba31e71 100644
--- a/old-tests/scope/test-2.out
+++ b/old-tests/scope/test-2.out
@@ -5,11 +5,11 @@
-1:
-1:
0: scope-amalgamation
-0: /home/boris/work/build2/build2/tests/scope/amalgamation/s/
-0: /home/boris/work/build2/build2/tests/scope/a-out/s/
+0: /home/boris/work/build2/build2/old-tests/scope/amalgamation/s/
+0: /home/boris/work/build2/build2/old-tests/scope/a-out/s/
1: scope-amalgamation-l1
-1: /home/boris/work/build2/build2/tests/scope/amalgamation/l1/s/
-1: /home/boris/work/build2/build2/tests/scope/a-out/l1/s/
+1: /home/boris/work/build2/build2/old-tests/scope/amalgamation/l1/s/
+1: /home/boris/work/build2/build2/old-tests/scope/a-out/l1/s/
2: scope-amalgamation-l2
-2: /home/boris/work/build2/build2/tests/scope/amalgamation/l1/l2/s/
-2: /home/boris/work/build2/build2/tests/scope/a-out/l1/l2/s/
+2: /home/boris/work/build2/build2/old-tests/scope/amalgamation/l1/l2/s/
+2: /home/boris/work/build2/build2/old-tests/scope/a-out/l1/l2/s/
diff --git a/old-tests/test.sh b/old-tests/test.sh
index de93322..ebd7b47 100755
--- a/old-tests/test.sh
+++ b/old-tests/test.sh
@@ -22,12 +22,10 @@ test "pairs"
test "quote"
test "scope"
test "target/out-qualified"
-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/old-tests/variable/dir-path/buildfile b/old-tests/variable/dir-path/buildfile
deleted file mode 100644
index 5c99f07..0000000
--- a/old-tests/variable/dir-path/buildfile
+++ /dev/null
@@ -1,45 +0,0 @@
-# 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/old-tests/variable/dir-path/test.out b/old-tests/variable/dir-path/test.out
deleted file mode 100644
index e608c42..0000000
--- a/old-tests/variable/dir-path/test.out
+++ /dev/null
@@ -1,22 +0,0 @@
--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/old-tests/variable/dir-path/test.sh b/old-tests/variable/dir-path/test.sh
deleted file mode 100755
index c745b76..0000000
--- a/old-tests/variable/dir-path/test.sh
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/sh
-
-b -q | diff --strip-trailing-cr -u test.out -
diff --git a/old-tests/variable/representation/build/bootstrap.build b/old-tests/variable/representation/build/bootstrap.build
deleted file mode 100644
index 6a48e2e..0000000
--- a/old-tests/variable/representation/build/bootstrap.build
+++ /dev/null
@@ -1,4 +0,0 @@
-project = variable-representation
-amalgamation = # Disabled.
-using config
-using test
diff --git a/old-tests/variable/representation/buildfile b/old-tests/variable/representation/buildfile
deleted file mode 100644
index b9c213d..0000000
--- a/old-tests/variable/representation/buildfile
+++ /dev/null
@@ -1,34 +0,0 @@
-# @@ I wonder if we can redo this test in terms of print?
-#
-
-# Test reversibility of variable representation.
-#
-val = -L/
-val += -L/foo/
-val += ..
-val += ../
-val += /
-val += //
-val += ///
-val += //foo/
-#val += dir{-L/}
-
-# Note that this is "reversed" when we assign it to test.options
-# since that variable is of type strings.
-#
-val += foo@bar foo/@bar/ foo@ @bar @ "@@"
-
-val += foo%bar
-val += foo%
-val += %bar
-val += foo%{bar}
-#val += foo%file{x}
-
-val += x%foo@y%bar
-val += x%foo/@y%bar/
-
-using cxx
-
-exe{driver}: cxx{driver}
-exe{driver}: test.output = test.out
-exe{driver}: test.options = $val
diff --git a/old-tests/variable/representation/driver.cxx b/old-tests/variable/representation/driver.cxx
deleted file mode 100644
index ecff9e2..0000000
--- a/old-tests/variable/representation/driver.cxx
+++ /dev/null
@@ -1,10 +0,0 @@
-#include <iostream>
-
-using namespace std;
-
-int
-main (int argc, const char* argv[])
-{
- for (int i (1); i < argc; ++i)
- cout << "'" << argv[i] << "'" << endl;
-}
diff --git a/old-tests/variable/representation/test.out b/old-tests/variable/representation/test.out
deleted file mode 100644
index 84e7250..0000000
--- a/old-tests/variable/representation/test.out
+++ /dev/null
@@ -1,20 +0,0 @@
-'-L/'
-'-L/foo/'
-'..'
-'../'
-'/'
-'//'
-'///'
-'//foo/'
-'foo@bar'
-'foo/@bar/'
-'foo@'
-'@bar'
-'@'
-'@@'
-'foo%bar'
-'foo%'
-'%bar'
-'foo%bar'
-'x%foo@y%bar'
-'x%foo/@y%bar/'
diff --git a/old-tests/variable/representation/test.sh b/old-tests/variable/representation/test.sh
deleted file mode 100755
index da9e0e9..0000000
--- a/old-tests/variable/representation/test.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-
-b test
-
diff --git a/tests/buildfile b/tests/buildfile
index 0c2a895..b05e2e7 100644
--- a/tests/buildfile
+++ b/tests/buildfile
@@ -2,6 +2,6 @@
# copyright : Copyright (c) 2014-2016 Code Synthesis Ltd
# license : MIT; see accompanying LICENSE file
-d = directive/ expansion/ function/ test/
+d = directive/ expansion/ function/ test/ value/
./: $d file{common.test}
include $d
diff --git a/tests/value/buildfile b/tests/value/buildfile
new file mode 100644
index 0000000..48480ad
--- /dev/null
+++ b/tests/value/buildfile
@@ -0,0 +1,5 @@
+# file : tests/value/buildfile
+# copyright : Copyright (c) 2014-2016 Code Synthesis Ltd
+# license : MIT; see accompanying LICENSE file
+
+./: test{reverse}
diff --git a/tests/value/reverse.test b/tests/value/reverse.test
new file mode 100644
index 0000000..2ebfe68
--- /dev/null
+++ b/tests/value/reverse.test
@@ -0,0 +1,76 @@
+# file : tests/directive/reverse.test
+# copyright : Copyright (c) 2014-2016 Code Synthesis Ltd
+# license : MIT; see accompanying LICENSE file
+
+# Test reversal to canonical/original representation.
+#
+
+.include ../common.test
+
+: name-dir
+:
+$* <<EOI >>EOO
+x = s/foo/bar/
+print ([string] $x)
+print "$x"
+print -e=$x
+EOI
+s/foo/bar/
+s/foo/bar/
+-e=s/foo/bar/
+EOO
+
+: name-proj
+:
+$* <<EOI >>EOO
+print ([strings] foo%bar foo% %bar)
+EOI
+foo%bar foo% %bar
+EOO
+
+: name-pair
+:
+$* <<EOI >>EOO
+print ([strings] foo@bar foo/@bar/ foo@ @bar @ "@@")
+EOI
+foo@bar foo/@bar/ foo@ @bar @ @@
+EOO
+
+: name-combined
+:
+$* <<EOI >>EOO
+print ([strings] x%foo@y%bar x%foo/@y%bar/)
+EOI
+x%foo@y%bar x%foo/@y%bar/
+EOO
+
+: dir-path
+:
+r = ([string] $path.canonicalize(foo/bar/));
+s = ([string] $path.canonicalize(foo/bar));
+$* <<EOI >>"EOO"
+x = [dir_path] foo/bar/
+print ([string] $x)
+print "$x"
+print "-I$x"
+EOI
+$r
+$s
+-I$s
+EOO
+
+: dir-path-root
+:
+if ($cxx.target.class != windows)
+{
+ $* <<EOI >>EOO
+ x = [dir_path] /
+ print ([string] $x)
+ print "$x"
+ print "-I$x"
+ EOI
+ /
+ /
+ -I/
+ EOO
+}