diff options
author | Karen Arutyunov <karen@codesynthesis.com> | 2016-10-26 21:22:10 +0300 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2016-11-04 09:26:36 +0200 |
commit | 023d8d8b040d5fce821080b016b4ce25eb67550d (patch) | |
tree | 9524aa8cb18bcca33ec89f4cd4ef2b87fb3a65e8 /build2/test/script/script.cxx | |
parent | 5daf46f700217521e8ba90c4be0e0369105544df (diff) |
Add support of merge redirect to testscript parser
Diffstat (limited to 'build2/test/script/script.cxx')
-rw-r--r-- | build2/test/script/script.cxx | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/build2/test/script/script.cxx b/build2/test/script/script.cxx index ac11546..8de023f 100644 --- a/build2/test/script/script.cxx +++ b/build2/test/script/script.cxx @@ -43,9 +43,10 @@ namespace build2 switch (r.type) { - case redirect_type::none: assert (false); break; - case redirect_type::pass: o << '+'; break; - case redirect_type::null: o << '-'; break; + case redirect_type::none: assert (false); break; + case redirect_type::pass: o << '+'; break; + case redirect_type::null: o << '-'; break; + case redirect_type::merge: o << '&' << r.fd; break; case redirect_type::here_string: { @@ -140,7 +141,8 @@ namespace build2 { case redirect_type::none: case redirect_type::pass: - case redirect_type::null: break; + case redirect_type::null: + case redirect_type::merge: break; case redirect_type::here_string: new (&str) string (); break; case redirect_type::here_document: new (&doc) doc_type (); break; @@ -158,6 +160,8 @@ namespace build2 case redirect_type::pass: case redirect_type::null: break; + case redirect_type::merge: fd = r.fd; break; + case redirect_type::here_string: { new (&str) string (move (r.str)); @@ -186,6 +190,8 @@ namespace build2 case redirect_type::pass: case redirect_type::null: break; + case redirect_type::merge: fd = r.fd; break; + case redirect_type::here_string: new (&str) string (r.str); break; case redirect_type::here_document: new (&doc) doc_type (r.doc); break; case redirect_type::file: @@ -203,7 +209,8 @@ namespace build2 { case redirect_type::none: case redirect_type::pass: - case redirect_type::null: break; + case redirect_type::null: + case redirect_type::merge: break; case redirect_type::here_string: str.~string (); break; case redirect_type::here_document: doc.~doc_type (); break; |