From 5e71edfa033f163ded9a82f7d66412d8ee05bc48 Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Thu, 1 Dec 2016 15:13:30 +0200 Subject: Port old value reversibility tests --- old-tests/scope/test-1.out | 12 ++-- old-tests/scope/test-2.out | 12 ++-- old-tests/test.sh | 2 - old-tests/variable/dir-path/buildfile | 45 ------------- old-tests/variable/dir-path/test.out | 22 ------- old-tests/variable/dir-path/test.sh | 3 - .../variable/representation/build/bootstrap.build | 4 -- old-tests/variable/representation/buildfile | 34 ---------- old-tests/variable/representation/driver.cxx | 10 --- old-tests/variable/representation/test.out | 20 ------ old-tests/variable/representation/test.sh | 4 -- tests/buildfile | 2 +- tests/value/buildfile | 5 ++ tests/value/reverse.test | 76 ++++++++++++++++++++++ 14 files changed, 94 insertions(+), 157 deletions(-) delete mode 100644 old-tests/variable/dir-path/buildfile delete mode 100644 old-tests/variable/dir-path/test.out delete mode 100755 old-tests/variable/dir-path/test.sh delete mode 100644 old-tests/variable/representation/build/bootstrap.build delete mode 100644 old-tests/variable/representation/buildfile delete mode 100644 old-tests/variable/representation/driver.cxx delete mode 100644 old-tests/variable/representation/test.out delete mode 100755 old-tests/variable/representation/test.sh create mode 100644 tests/value/buildfile create mode 100644 tests/value/reverse.test 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 - -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 +: +$* <>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 +: +$* <>EOO +print ([strings] foo%bar foo% %bar) +EOI +foo%bar foo% %bar +EOO + +: name-pair +: +$* <>EOO +print ([strings] foo@bar foo/@bar/ foo@ @bar @ "@@") +EOI +foo@bar foo/@bar/ foo@ @bar @ @@ +EOO + +: name-combined +: +$* <>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)); +$* <>"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) +{ + $* <>EOO + x = [dir_path] / + print ([string] $x) + print "$x" + print "-I$x" + EOI + / + / + -I/ + EOO +} -- cgit v1.1