throw_on_error.cpp 896 B

1234567891011121314151617181920212223242526272829303132333435
  1. // Copyright (c) 2006, 2007 Julio M. Merino Vidal
  2. // Copyright (c) 2008 Ilya Sokolov, Boris Schaeling
  3. // Copyright (c) 2009 Boris Schaeling
  4. // Copyright (c) 2010 Felipe Tanus, Boris Schaeling
  5. // Copyright (c) 2011, 2012 Jeff Flinn, Boris Schaeling
  6. //
  7. // Distributed under the Boost Software License, Version 1.0. (See accompanying
  8. // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
  9. #include <boost/core/lightweight_test.hpp>
  10. #include <boost/process.hpp>
  11. #include <boost/process/cmd.hpp>
  12. #include <system_error>
  13. namespace bp = boost::process;
  14. int main(int argc, char* argv[])
  15. {
  16. bool thrown = false;
  17. try {
  18. bp::child c(
  19. bp::cmd="doesnt-exist",
  20. bp::throw_on_error
  21. );
  22. thrown = false;
  23. }
  24. catch(bp::process_error & )
  25. {
  26. thrown = true;
  27. }
  28. BOOST_TEST(thrown);
  29. return boost::report_errors();
  30. }