From abbb859d9eefa62a5cc774bd08020bf30ad77c26 Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Thu, 13 Apr 2017 10:47:47 +0200 Subject: Implement sendmail process --- tests/sendmail/driver.cxx | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 tests/sendmail/driver.cxx (limited to 'tests/sendmail/driver.cxx') diff --git a/tests/sendmail/driver.cxx b/tests/sendmail/driver.cxx new file mode 100644 index 0000000..9e1af96 --- /dev/null +++ b/tests/sendmail/driver.cxx @@ -0,0 +1,42 @@ +// file : tests/sendmail/driver.cxx -*- C++ -*- +// copyright : Copyright (c) 2014-2017 Code Synthesis Ltd +// license : MIT; see accompanying LICENSE file + +#include +#include + +#include +#include // operator<<(ostream, exception) +#include + +using namespace std; +using namespace butl; + +// Usage: argv[0] +// +int +main (int argc, const char* argv[]) +try +{ + assert (argc == 2); + + sendmail sm ([] (const char* c[], std::size_t n) + { + process::print (cerr, c, n); cerr << endl; + }, + 2, + "", + "tests/sendmail/driver", + {argv[1]}); + + sm.out << cin.rdbuf (); + sm.out.close (); + + if (!sm.wait ()) + return 1; // Assume diagnostics has been issued. +} +catch (const system_error& e) +{ + cerr << argv[0] << ": " << e << endl; + return 1; +} -- cgit v1.1