aboutsummaryrefslogtreecommitdiff
path: root/old-tests/variable/representation
diff options
context:
space:
mode:
Diffstat (limited to 'old-tests/variable/representation')
-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
5 files changed, 72 insertions, 0 deletions
diff --git a/old-tests/variable/representation/build/bootstrap.build b/old-tests/variable/representation/build/bootstrap.build
new file mode 100644
index 0000000..6a48e2e
--- /dev/null
+++ b/old-tests/variable/representation/build/bootstrap.build
@@ -0,0 +1,4 @@
+project = variable-representation
+amalgamation = # Disabled.
+using config
+using test
diff --git a/old-tests/variable/representation/buildfile b/old-tests/variable/representation/buildfile
new file mode 100644
index 0000000..b9c213d
--- /dev/null
+++ b/old-tests/variable/representation/buildfile
@@ -0,0 +1,34 @@
+# @@ 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
new file mode 100644
index 0000000..ecff9e2
--- /dev/null
+++ b/old-tests/variable/representation/driver.cxx
@@ -0,0 +1,10 @@
+#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
new file mode 100644
index 0000000..84e7250
--- /dev/null
+++ b/old-tests/variable/representation/test.out
@@ -0,0 +1,20 @@
+'-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
new file mode 100755
index 0000000..da9e0e9
--- /dev/null
+++ b/old-tests/variable/representation/test.sh
@@ -0,0 +1,4 @@
+#!/bin/sh
+
+b test
+