aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKaren Arutyunov <karen@codesynthesis.com>2016-10-17 16:43:29 +0300
committerBoris Kolpackov <boris@codesynthesis.com>2016-11-04 09:26:25 +0200
commit4098cdddbb3ef9830b70b3ad2f1e0610a95d9aa0 (patch)
tree80dcc963e206d375845e1a1ac8a870d84a75a7f2
parent8187642ed2b619fc6dc6844f80d107c338c428a3 (diff)
Fix few bugs in testscript parser
-rw-r--r--build2/test/rule.cxx5
-rw-r--r--build2/test/script/parser.cxx2
-rw-r--r--build2/test/script/token6
-rw-r--r--build2/test/script/token.cxx6
-rw-r--r--unit-tests/test/script/lexer/script-line.test4
5 files changed, 14 insertions, 9 deletions
diff --git a/build2/test/rule.cxx b/build2/test/rule.cxx
index 8621422..29d5925 100644
--- a/build2/test/rule.cxx
+++ b/build2/test/rule.cxx
@@ -366,7 +366,8 @@ namespace build2
const path& sp (st->path ());
assert (!sp.empty ()); // Should have been assigned by update.
- text << "test " << t << " with " << *st;
+ if (verb)
+ text << "test " << t << " with " << *st;
try
{
@@ -504,7 +505,7 @@ namespace build2
dpp = run_search (dp, true);
args.push_back (dpp.recall_string ());
- args.push_back ("--strip-trailing-cr"); //@@ TMP: see module.cxx
+ args.push_back ("--strip-trailing-cr"); //@@ TMP: see init.cxx
args.push_back ("-u");
args.push_back (ot.path ().string ().c_str ());
args.push_back ("-");
diff --git a/build2/test/script/parser.cxx b/build2/test/script/parser.cxx
index 67585c6..bfd0667 100644
--- a/build2/test/script/parser.cxx
+++ b/build2/test/script/parser.cxx
@@ -234,7 +234,7 @@ namespace build2
unsigned long fd (3);
if (!t.separated)
{
- if (!ts.arguments.empty ())
+ if (ts.arguments.empty ())
fail (l) << "missing redirect file descriptor";
const string& s (ts.arguments.back ());
diff --git a/build2/test/script/token b/build2/test/script/token
index e952e00..c39811a 100644
--- a/build2/test/script/token
+++ b/build2/test/script/token
@@ -33,9 +33,9 @@ namespace build2
in_string, // <
in_document, // <<
- out_null, // <!
- out_string, // <
- out_document // <<
+ out_null, // >!
+ out_string, // >
+ out_document // >>
};
token_type () = default;
diff --git a/build2/test/script/token.cxx b/build2/test/script/token.cxx
index bfff25a..27e86d6 100644
--- a/build2/test/script/token.cxx
+++ b/build2/test/script/token.cxx
@@ -30,9 +30,9 @@ namespace build2
case token_type::in_string: os << q << '<' << q; break;
case token_type::in_document: os << q << "<<" << q; break;
- case token_type::out_null: os << q << "<!" << q; break;
- case token_type::out_string: os << q << '<' << q; break;
- case token_type::out_document: os << q << "<<" << q; break;
+ case token_type::out_null: os << q << ">!" << q; break;
+ case token_type::out_string: os << q << '>' << q; break;
+ case token_type::out_document: os << q << ">>" << q; break;
default: build2::token_printer (os, t, d);
}
diff --git a/unit-tests/test/script/lexer/script-line.test b/unit-tests/test/script/lexer/script-line.test
index fcde40b..6a55926 100644
--- a/unit-tests/test/script/lexer/script-line.test
+++ b/unit-tests/test/script/lexer/script-line.test
@@ -1,3 +1,7 @@
+a=aaa
+foo bar <"bbb $a ccc" >ddd 2>>EOE
+eee
+EOE
foo
bar
$cxx.target.class