diff options
| author | Alexander Gluzsky <sss123next@list.ru> | 2013-02-04 16:43:34 +0000 |
|---|---|---|
| committer | Alexander Gluzsky <sss123next@list.ru> | 2013-02-04 16:43:34 +0000 |
| commit | 6a3159197f21b14c2f74584bcbd0d63266b5db47 (patch) | |
| tree | e75e6e9ca1cbd9c5839f0af5d1b542216279cf6e /plugins/New_GPG/src/include/libs/process/test | |
| parent | c32c268ada5d7e265a6f1085cc3e87589f4c1d4a (diff) | |
cleanup
usgin older boost api for backward compatibility
git-svn-id: http://svn.miranda-ng.org/main/trunk@3424 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c
Diffstat (limited to 'plugins/New_GPG/src/include/libs/process/test')
35 files changed, 0 insertions, 2420 deletions
diff --git a/plugins/New_GPG/src/include/libs/process/test/Jamfile.jam b/plugins/New_GPG/src/include/libs/process/test/Jamfile.jam deleted file mode 100644 index ff0829c1bd..0000000000 --- a/plugins/New_GPG/src/include/libs/process/test/Jamfile.jam +++ /dev/null @@ -1,57 +0,0 @@ -# Copyright (c) 2006, 2007 Julio M. Merino Vidal -# Copyright (c) 2008 Ilya Sokolov, Boris Schaeling -# Copyright (c) 2009 Boris Schaeling -# Copyright (c) 2010 Felipe Tanus, Boris Schaeling -# Copyright (c) 2011, 2012 Jeff Flinn, Boris Schaeling -# -# Distributed under the Boost Software License, Version 1.0. (See accompanying -# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -project : requirements - <include>../../.. - <source>/boost//headers - <source>/boost//system - <toolset>msvc:<define>_SCL_SECURE_NO_WARNINGS - <target-os>windows:<define>WIN32_LEAN_AND_MEAN - <target-os>linux:<linkflags>-lpthread -; - -searched-lib shell32 ; - -import testing ; - -exe sparring_partner : sparring_partner.cpp /boost//program_options /boost//filesystem /boost//iostreams ; - -run bind_stderr.cpp /boost//iostreams : : sparring_partner ; -run bind_stdin.cpp /boost//iostreams : : sparring_partner ; -run bind_stdin_stdout.cpp /boost//iostreams : : sparring_partner ; -run bind_stdout.cpp /boost//iostreams : : sparring_partner ; -run bind_stdout_stderr.cpp /boost//iostreams : : sparring_partner ; -run close_stderr.cpp /boost//iostreams : : sparring_partner ; -run close_stdin.cpp /boost//iostreams : : sparring_partner ; -run close_stdout.cpp /boost//iostreams : : sparring_partner ; -run exit_code.cpp /boost//iostreams /boost//program_options : : sparring_partner ; -run extensions.cpp : : sparring_partner ; -run inherit_env.cpp /boost//iostreams /boost//program_options : : sparring_partner ; -run posix_specific.cpp /boost//iostreams : : sparring_partner : <build>no <target-os>linux:<build>yes ; -run run_exe.cpp : : sparring_partner ; -run run_exe_path.cpp /boost//filesystem : : sparring_partner ; -run run_exe_wstring.cpp /boost//filesystem : : sparring_partner : <build>no <target-os>windows:<build>yes ; -run search_path.cpp /boost//filesystem : : : <target-os>windows:<source>shell32 ; -run search_path_wstring.cpp /boost//filesystem shell32 : : : <build>no <target-os>windows:<build>yes ; -run set_args.cpp /boost//iostreams : : sparring_partner ; -run set_args_wstring.cpp /boost//iostreams /boost//filesystem : : sparring_partner : <build>no <target-os>windows:<build>yes ; -run set_cmd_line.cpp /boost//iostreams : : sparring_partner ; -run set_cmd_line_wstring.cpp /boost//iostreams /boost//filesystem : : sparring_partner : <build>no <target-os>windows:<build>yes ; -run set_env.cpp /boost//iostreams : : sparring_partner ; -run set_env_wstring.cpp /boost//iostreams /boost//filesystem : : sparring_partner : <build>no <target-os>windows:<build>yes ; -run set_on_error.cpp : : sparring_partner ; -run shell_path.cpp /boost//filesystem ; -run shell_path_wstring.cpp /boost//filesystem : : : <build>no <target-os>windows:<build>yes ; -run show_window.cpp /boost//iostreams : : sparring_partner : <build>no <target-os>windows:<build>yes ; -run start_in_dir.cpp /boost//iostreams /boost//filesystem : : sparring_partner ; -run start_in_dir_wstring.cpp /boost//iostreams /boost//filesystem : : sparring_partner : <build>no <target-os>windows:<build>yes ; -run terminate.cpp : : sparring_partner ; -run throw_on_error.cpp : : sparring_partner ; -run wait.cpp : : sparring_partner ; -run windows_specific.cpp /boost//iostreams : : sparring_partner : <build>no <target-os>windows:<build>yes ; diff --git a/plugins/New_GPG/src/include/libs/process/test/bind_stderr.cpp b/plugins/New_GPG/src/include/libs/process/test/bind_stderr.cpp deleted file mode 100644 index 2a60a47171..0000000000 --- a/plugins/New_GPG/src/include/libs/process/test/bind_stderr.cpp +++ /dev/null @@ -1,144 +0,0 @@ -// Copyright (c) 2006, 2007 Julio M. Merino Vidal -// Copyright (c) 2008 Ilya Sokolov, Boris Schaeling -// Copyright (c) 2009 Boris Schaeling -// Copyright (c) 2010 Felipe Tanus, Boris Schaeling -// Copyright (c) 2011, 2012 Jeff Flinn, Boris Schaeling -// -// Distributed under the Boost Software License, Version 1.0. (See accompanying -// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#define BOOST_TEST_MAIN -#define BOOST_TEST_IGNORE_SIGCHLD -#include <boost/test/included/unit_test.hpp> -#include <boost/process.hpp> -#include <boost/system/error_code.hpp> -#include <boost/iostreams/device/file_descriptor.hpp> -#include <boost/iostreams/stream.hpp> -#include <boost/asio.hpp> -#include <boost/algorithm/string/predicate.hpp> -#include <string> -#include <istream> -#include <cstdlib> -#if defined(BOOST_WINDOWS_API) -# include <Windows.h> -typedef boost::asio::windows::stream_handle pipe_end; -#elif defined(BOOST_POSIX_API) -# include <sys/wait.h> -# include <unistd.h> -typedef boost::asio::posix::stream_descriptor pipe_end; -#endif - -namespace bp = boost::process; -namespace bpi = boost::process::initializers; -namespace bio = boost::iostreams; - -BOOST_AUTO_TEST_CASE(sync_io) -{ - using boost::unit_test::framework::master_test_suite; - - bp::pipe p = bp::create_pipe(); - - { - bio::file_descriptor_sink sink(p.sink, bio::close_handle); - boost::system::error_code ec; - bp::execute( - bpi::run_exe(master_test_suite().argv[1]), - bpi::set_cmd_line("test --echo-stderr hello"), - bpi::bind_stderr(sink), - bpi::set_on_error(ec) - ); - BOOST_REQUIRE(!ec); - } - - bio::file_descriptor_source source(p.source, bio::close_handle); - bio::stream<bio::file_descriptor_source> is(source); - - std::string s; - is >> s; - BOOST_CHECK_EQUAL(s, "hello"); -} - -bp::pipe create_async_pipe() -{ -#if defined(BOOST_WINDOWS_API) - std::string name = "\\\\.\\pipe\\boost_process_test_bind_stderr"; - HANDLE handle1 = CreateNamedPipeA(name.c_str(), PIPE_ACCESS_INBOUND | - FILE_FLAG_OVERLAPPED, 0, 1, 8192, 8192, 0, NULL); - HANDLE handle2 = CreateFileA(name.c_str(), GENERIC_WRITE, 0, NULL, - OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); - return bp::make_pipe(handle1, handle2); -#elif defined(BOOST_POSIX_API) - return bp::create_pipe(); -#endif -} - -struct read_handler -{ - boost::asio::streambuf &buffer_; - - read_handler(boost::asio::streambuf &buffer) : buffer_(buffer) {} - - void operator()(const boost::system::error_code &ec, std::size_t size) - { - BOOST_REQUIRE(!ec); - std::istream is(&buffer_); - std::string line; - std::getline(is, line); - BOOST_CHECK(boost::algorithm::starts_with(line, "abc")); - } -}; - -BOOST_AUTO_TEST_CASE(async_io) -{ - using boost::unit_test::framework::master_test_suite; - - bp::pipe p = create_async_pipe(); - - { - bio::file_descriptor_sink sink(p.sink, bio::close_handle); - boost::system::error_code ec; - bp::execute( - bpi::run_exe(master_test_suite().argv[1]), - bpi::set_cmd_line("test --echo-stderr abc"), - bpi::bind_stderr(sink), - bpi::set_on_error(ec) - ); - BOOST_REQUIRE(!ec); - } - - boost::asio::io_service io_service; - pipe_end pend(io_service, p.source); - - boost::asio::streambuf buffer; - boost::asio::async_read_until(pend, buffer, '\n', - read_handler(buffer)); - - io_service.run(); -} - -BOOST_AUTO_TEST_CASE(nul) -{ - using boost::unit_test::framework::master_test_suite; - -#if defined(BOOST_WINDOWS_API) - bio::file_descriptor_sink sink("NUL"); -#elif defined(BOOST_POSIX_API) - bio::file_descriptor_sink sink("/dev/null"); -#endif - - boost::system::error_code ec; - bp::child c = bp::execute( - bpi::run_exe(master_test_suite().argv[1]), - bpi::set_cmd_line("test --is-nul-stderr"), - bpi::bind_stderr(sink), - bpi::set_on_error(ec) - ); - BOOST_REQUIRE(!ec); - - int exit_code = bp::wait_for_exit(c); -#if defined(BOOST_WINDOWS_API) - BOOST_CHECK_EQUAL(EXIT_SUCCESS, exit_code); -#elif defined(BOOST_POSIX_API) - BOOST_CHECK_EQUAL(EXIT_SUCCESS, WEXITSTATUS(exit_code)); -#endif -} diff --git a/plugins/New_GPG/src/include/libs/process/test/bind_stdin.cpp b/plugins/New_GPG/src/include/libs/process/test/bind_stdin.cpp deleted file mode 100644 index 83f547dda9..0000000000 --- a/plugins/New_GPG/src/include/libs/process/test/bind_stdin.cpp +++ /dev/null @@ -1,165 +0,0 @@ -// Copyright (c) 2006, 2007 Julio M. Merino Vidal -// Copyright (c) 2008 Ilya Sokolov, Boris Schaeling -// Copyright (c) 2009 Boris Schaeling -// Copyright (c) 2010 Felipe Tanus, Boris Schaeling -// Copyright (c) 2011, 2012 Jeff Flinn, Boris Schaeling -// -// Distributed under the Boost Software License, Version 1.0. (See accompanying -// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#define BOOST_TEST_MAIN -#define BOOST_TEST_IGNORE_SIGCHLD -#include <boost/test/included/unit_test.hpp> -#include <boost/process.hpp> -#include <boost/system/error_code.hpp> -#include <boost/iostreams/device/file_descriptor.hpp> -#include <boost/iostreams/stream.hpp> -#include <boost/asio.hpp> -#include <string> -#include <cstdlib> -#if defined(BOOST_WINDOWS_API) -# include <Windows.h> -typedef boost::asio::windows::stream_handle pipe_end; -#elif defined(BOOST_POSIX_API) -# include <sys/wait.h> -# include <unistd.h> -typedef boost::asio::posix::stream_descriptor pipe_end; -#endif - -namespace bp = boost::process; -namespace bpi = boost::process::initializers; -namespace bio = boost::iostreams; - -BOOST_AUTO_TEST_CASE(sync_io) -{ - using boost::unit_test::framework::master_test_suite; - - bp::pipe p1 = bp::create_pipe(); - bp::pipe p2 = bp::create_pipe(); - - { - bio::file_descriptor_source source1(p1.source, bio::close_handle); - bio::file_descriptor_sink sink2(p2.sink, bio::close_handle); - boost::system::error_code ec; - bp::execute( - bpi::run_exe(master_test_suite().argv[1]), - bpi::set_cmd_line("test --prefix abc"), - bpi::bind_stdin(source1), - bpi::bind_stdout(sink2), -#if defined(BOOST_POSIX_API) - bpi::close_fd(p1.sink), -#endif - bpi::set_on_error(ec) - ); - BOOST_REQUIRE(!ec); - } - - bio::file_descriptor_sink sink1(p1.sink, bio::close_handle); - bio::stream<bio::file_descriptor_sink> os(sink1); - - os << "hello" << std::endl; - - bio::file_descriptor_source source2(p2.source, bio::close_handle); - bio::stream<bio::file_descriptor_source> is(source2); - - std::string s; - is >> s; - BOOST_CHECK_EQUAL(s, "abchello"); - os << 123 << std::endl; - is >> s; - BOOST_CHECK_EQUAL(s, "abc123"); - os << 3.1415 << std::endl; - is >> s; - BOOST_CHECK_EQUAL(s, "abc3.1415"); -} - -bp::pipe create_async_pipe() -{ -#if defined(BOOST_WINDOWS_API) - std::string name = "\\\\.\\pipe\\boost_process_test_bind_stdin"; - HANDLE handle1 = CreateNamedPipeA(name.c_str(), PIPE_ACCESS_INBOUND, - 0, 1, 8192, 8192, 0, NULL); - HANDLE handle2 = CreateFileA(name.c_str(), GENERIC_WRITE, 0, NULL, - OPEN_EXISTING, FILE_FLAG_OVERLAPPED, NULL); - return bp::make_pipe(handle1, handle2); -#elif defined(BOOST_POSIX_API) - return bp::create_pipe(); -#endif -} - -struct write_handler -{ - bio::stream<bio::file_descriptor_source> &is_; - - write_handler(bio::stream<bio::file_descriptor_source> &is) : is_(is) {} - - void operator()(const boost::system::error_code &ec, std::size_t size) - { - BOOST_REQUIRE(!ec); - BOOST_REQUIRE_EQUAL(6u, size); - std::string s; - is_ >> s; - BOOST_CHECK_EQUAL(s, "abchello"); - } -}; - -BOOST_AUTO_TEST_CASE(async_io) -{ - using boost::unit_test::framework::master_test_suite; - - bp::pipe p1 = create_async_pipe(); - bp::pipe p2 = bp::create_pipe(); - - { - bio::file_descriptor_source source1(p1.source, bio::close_handle); - bio::file_descriptor_sink sink2(p2.sink, bio::close_handle); - boost::system::error_code ec; - bp::execute( - bpi::run_exe(master_test_suite().argv[1]), - bpi::set_cmd_line("test --prefix-once abc"), - bpi::bind_stdin(source1), - bpi::bind_stdout(sink2), - bpi::set_on_error(ec) - ); - BOOST_REQUIRE(!ec); - } - - bio::file_descriptor_source source2(p2.source, bio::close_handle); - bio::stream<bio::file_descriptor_source> is(source2); - - boost::asio::io_service io_service; - pipe_end pend(io_service, p1.sink); - - std::string s = "hello\n"; - boost::asio::async_write(pend, boost::asio::buffer(s), - write_handler(is)); - - io_service.run(); -} - -BOOST_AUTO_TEST_CASE(nul) -{ - using boost::unit_test::framework::master_test_suite; - -#if defined(BOOST_WINDOWS_API) - bio::file_descriptor_source source("NUL"); -#elif defined(BOOST_POSIX_API) - bio::file_descriptor_source source("/dev/null"); -#endif - - boost::system::error_code ec; - bp::child c = bp::execute( - bpi::run_exe(master_test_suite().argv[1]), - bpi::set_cmd_line("test --is-nul-stdin"), - bpi::bind_stdin(source), - bpi::set_on_error(ec) - ); - BOOST_REQUIRE(!ec); - - int exit_code = bp::wait_for_exit(c); -#if defined(BOOST_WINDOWS_API) - BOOST_CHECK_EQUAL(EXIT_SUCCESS, exit_code); -#elif defined(BOOST_POSIX_API) - BOOST_CHECK_EQUAL(EXIT_SUCCESS, WEXITSTATUS(exit_code)); -#endif -} diff --git a/plugins/New_GPG/src/include/libs/process/test/bind_stdin_stdout.cpp b/plugins/New_GPG/src/include/libs/process/test/bind_stdin_stdout.cpp deleted file mode 100644 index adb83eef22..0000000000 --- a/plugins/New_GPG/src/include/libs/process/test/bind_stdin_stdout.cpp +++ /dev/null @@ -1,62 +0,0 @@ -// Copyright (c) 2006, 2007 Julio M. Merino Vidal -// Copyright (c) 2008 Ilya Sokolov, Boris Schaeling -// Copyright (c) 2009 Boris Schaeling -// Copyright (c) 2010 Felipe Tanus, Boris Schaeling -// Copyright (c) 2011, 2012 Jeff Flinn, Boris Schaeling -// -// Distributed under the Boost Software License, Version 1.0. (See accompanying -// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#define BOOST_TEST_MAIN -#define BOOST_TEST_IGNORE_SIGCHLD -#include <boost/test/included/unit_test.hpp> -#include <boost/process.hpp> -#include <boost/system/error_code.hpp> -#include <boost/iostreams/device/file_descriptor.hpp> -#include <boost/iostreams/stream.hpp> -#include <string> -#include <iostream> - -namespace bp = boost::process; -namespace bpi = boost::process::initializers; -namespace bio = boost::iostreams; - -BOOST_AUTO_TEST_CASE(sync_io) -{ - using boost::unit_test::framework::master_test_suite; - - bp::pipe p1 = bp::create_pipe(); - bp::pipe p2 = bp::create_pipe(); - - { - bio::file_descriptor_source source(p1.source, bio::close_handle); - bio::file_descriptor_sink sink(p2.sink, bio::close_handle); - boost::system::error_code ec; - bp::execute( - bpi::run_exe(master_test_suite().argv[1]), - bpi::set_cmd_line("test --stdin-to-stdout"), - bpi::bind_stdin(source), - bpi::bind_stdout(sink), -#if defined(BOOST_POSIX_API) - bpi::close_fd(p1.sink), -#endif - bpi::set_on_error(ec) - ); - BOOST_REQUIRE(!ec); - } - - bio::file_descriptor_sink sink(p1.sink, bio::close_handle); - bio::stream<bio::file_descriptor_sink> os(sink); - - bio::file_descriptor_source source(p2.source, bio::close_handle); - bio::stream<bio::file_descriptor_source> is(source); - - std::string s = "abcdefghi j"; - for (std::string::const_iterator it = s.begin(); it != s.end(); ++it) - { - os << *it << std::flush; - char c; - is >> std::noskipws >> c; - BOOST_CHECK_EQUAL(*it, c); - } -} diff --git a/plugins/New_GPG/src/include/libs/process/test/bind_stdout.cpp b/plugins/New_GPG/src/include/libs/process/test/bind_stdout.cpp deleted file mode 100644 index 9b06107ff9..0000000000 --- a/plugins/New_GPG/src/include/libs/process/test/bind_stdout.cpp +++ /dev/null @@ -1,144 +0,0 @@ -// Copyright (c) 2006, 2007 Julio M. Merino Vidal -// Copyright (c) 2008 Ilya Sokolov, Boris Schaeling -// Copyright (c) 2009 Boris Schaeling -// Copyright (c) 2010 Felipe Tanus, Boris Schaeling -// Copyright (c) 2011, 2012 Jeff Flinn, Boris Schaeling -// -// Distributed under the Boost Software License, Version 1.0. (See accompanying -// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#define BOOST_TEST_MAIN -#define BOOST_TEST_IGNORE_SIGCHLD -#include <boost/test/included/unit_test.hpp> -#include <boost/process.hpp> -#include <boost/system/error_code.hpp> -#include <boost/iostreams/device/file_descriptor.hpp> -#include <boost/iostreams/stream.hpp> -#include <boost/asio.hpp> -#include <boost/algorithm/string/predicate.hpp> -#include <string> -#include <istream> -#include <cstdlib> -#if defined(BOOST_WINDOWS_API) -# include <Windows.h> -typedef boost::asio::windows::stream_handle pipe_end; -#elif defined(BOOST_POSIX_API) -# include <sys/wait.h> -# include <unistd.h> -typedef boost::asio::posix::stream_descriptor pipe_end; -#endif - -namespace bp = boost::process; -namespace bpi = boost::process::initializers; -namespace bio = boost::iostreams; - -BOOST_AUTO_TEST_CASE(sync_io) -{ - using boost::unit_test::framework::master_test_suite; - - bp::pipe p = bp::create_pipe(); - - { - bio::file_descriptor_sink sink(p.sink, bio::close_handle); - boost::system::error_code ec; - bp::execute( - bpi::run_exe(master_test_suite().argv[1]), - bpi::set_cmd_line("test --echo-stdout hello"), - bpi::bind_stdout(sink), - bpi::set_on_error(ec) - ); - BOOST_REQUIRE(!ec); - } - - bio::file_descriptor_source source(p.source, bio::close_handle); - bio::stream<bio::file_descriptor_source> is(source); - - std::string s; - is >> s; - BOOST_CHECK_EQUAL(s, "hello"); -} - -bp::pipe create_async_pipe() -{ -#if defined(BOOST_WINDOWS_API) - std::string name = "\\\\.\\pipe\\boost_process_test_bind_stdout"; - HANDLE handle1 = CreateNamedPipeA(name.c_str(), PIPE_ACCESS_INBOUND | - FILE_FLAG_OVERLAPPED, 0, 1, 8192, 8192, 0, NULL); - HANDLE handle2 = CreateFileA(name.c_str(), GENERIC_WRITE, 0, NULL, - OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); - return bp::make_pipe(handle1, handle2); -#elif defined(BOOST_POSIX_API) - return bp::create_pipe(); -#endif -} - -struct read_handler -{ - boost::asio::streambuf &buffer_; - - read_handler(boost::asio::streambuf &buffer) : buffer_(buffer) {} - - void operator()(const boost::system::error_code &ec, std::size_t size) - { - BOOST_REQUIRE(!ec); - std::istream is(&buffer_); - std::string line; - std::getline(is, line); - BOOST_CHECK(boost::algorithm::starts_with(line, "abc")); - } -}; - -BOOST_AUTO_TEST_CASE(async_io) -{ - using boost::unit_test::framework::master_test_suite; - - bp::pipe p = create_async_pipe(); - - { - bio::file_descriptor_sink sink(p.sink, bio::close_handle); - boost::system::error_code ec; - bp::execute( - bpi::run_exe(master_test_suite().argv[1]), - bpi::set_cmd_line("test --echo-stdout abc"), - bpi::bind_stdout(sink), - bpi::set_on_error(ec) - ); - BOOST_REQUIRE(!ec); - } - - boost::asio::io_service io_service; - pipe_end pend(io_service, p.source); - - boost::asio::streambuf buffer; - boost::asio::async_read_until(pend, buffer, '\n', - read_handler(buffer)); - - io_service.run(); -} - -BOOST_AUTO_TEST_CASE(nul) -{ - using boost::unit_test::framework::master_test_suite; - -#if defined(BOOST_WINDOWS_API) - bio::file_descriptor_sink sink("NUL"); -#elif defined(BOOST_POSIX_API) - bio::file_descriptor_sink sink("/dev/null"); -#endif - - boost::system::error_code ec; - bp::child c = bp::execute( - bpi::run_exe(master_test_suite().argv[1]), - bpi::set_cmd_line("test --is-nul-stdout"), - bpi::bind_stdout(sink), - bpi::set_on_error(ec) - ); - BOOST_REQUIRE(!ec); - - int exit_code = bp::wait_for_exit(c); -#if defined(BOOST_WINDOWS_API) - BOOST_CHECK_EQUAL(EXIT_SUCCESS, exit_code); -#elif defined(BOOST_POSIX_API) - BOOST_CHECK_EQUAL(EXIT_SUCCESS, WEXITSTATUS(exit_code)); -#endif -} diff --git a/plugins/New_GPG/src/include/libs/process/test/bind_stdout_stderr.cpp b/plugins/New_GPG/src/include/libs/process/test/bind_stdout_stderr.cpp deleted file mode 100644 index 90f90da858..0000000000 --- a/plugins/New_GPG/src/include/libs/process/test/bind_stdout_stderr.cpp +++ /dev/null @@ -1,131 +0,0 @@ -// Copyright (c) 2006, 2007 Julio M. Merino Vidal -// Copyright (c) 2008 Ilya Sokolov, Boris Schaeling -// Copyright (c) 2009 Boris Schaeling -// Copyright (c) 2010 Felipe Tanus, Boris Schaeling -// Copyright (c) 2011, 2012 Jeff Flinn, Boris Schaeling -// -// Distributed under the Boost Software License, Version 1.0. (See accompanying -// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#define BOOST_TEST_MAIN -#define BOOST_TEST_IGNORE_SIGCHLD -#include <boost/test/included/unit_test.hpp> -#include <boost/process.hpp> -#include <boost/system/error_code.hpp> -#include <boost/iostreams/device/file_descriptor.hpp> -#include <boost/iostreams/stream.hpp> -#include <boost/asio.hpp> -#include <boost/algorithm/string/predicate.hpp> -#include <string> -#include <istream> -#if defined(BOOST_WINDOWS_API) -# include <Windows.h> -typedef boost::asio::windows::stream_handle pipe_end; -#elif defined(BOOST_POSIX_API) -typedef boost::asio::posix::stream_descriptor pipe_end; -#endif - -namespace bp = boost::process; -namespace bpi = boost::process::initializers; -namespace bio = boost::iostreams; - -BOOST_AUTO_TEST_CASE(sync_io) -{ - using boost::unit_test::framework::master_test_suite; - - bp::pipe p1 = bp::create_pipe(); - bp::pipe p2 = bp::create_pipe(); - - { - bio::file_descriptor_sink sink1(p1.sink, bio::close_handle); - bio::file_descriptor_sink sink2(p2.sink, bio::close_handle); - boost::system::error_code ec; - bp::execute( - bpi::run_exe(master_test_suite().argv[1]), - bpi::set_cmd_line("test --echo-stdout-stderr hello"), - bpi::bind_stdout(sink1), - bpi::bind_stderr(sink2), - bpi::set_on_error(ec) - ); - BOOST_REQUIRE(!ec); - } - - bio::file_descriptor_source source1(p1.source, bio::close_handle); - bio::stream<bio::file_descriptor_source> is1(source1); - - std::string s; - is1 >> s; - BOOST_CHECK_EQUAL(s, "hello"); - - bio::file_descriptor_source source2(p2.source, bio::close_handle); - bio::stream<bio::file_descriptor_source> is2(source2); - - is2 >> s; - BOOST_CHECK_EQUAL(s, "hello"); -} - -bp::pipe create_async_pipe(const std::string &s) -{ -#if defined(BOOST_WINDOWS_API) - std::string name = "\\\\.\\pipe\\boost_process_test_bind_stdout_stderr" + s; - HANDLE handle1 = CreateNamedPipeA(name.c_str(), PIPE_ACCESS_INBOUND | - FILE_FLAG_OVERLAPPED, 0, 1, 8192, 8192, 0, NULL); - HANDLE handle2 = CreateFileA(name.c_str(), GENERIC_WRITE, 0, NULL, - OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); - return bp::make_pipe(handle1, handle2); -#elif defined(BOOST_POSIX_API) - return bp::create_pipe(); -#endif -} - -struct read_handler -{ - boost::asio::streambuf &buffer_; - - read_handler(boost::asio::streambuf &buffer) : buffer_(buffer) {} - - void operator()(const boost::system::error_code &ec, std::size_t size) - { - BOOST_REQUIRE(!ec); - std::istream is(&buffer_); - std::string line; - std::getline(is, line); - BOOST_CHECK(boost::algorithm::starts_with(line, "abc")); - } -}; - -BOOST_AUTO_TEST_CASE(async_io) -{ - using boost::unit_test::framework::master_test_suite; - - bp::pipe p1 = create_async_pipe("1"); - bp::pipe p2 = create_async_pipe("2"); - - { - bio::file_descriptor_sink sink1(p1.sink, bio::close_handle); - bio::file_descriptor_sink sink2(p2.sink, bio::close_handle); - boost::system::error_code ec; - bp::execute( - bpi::run_exe(master_test_suite().argv[1]), - bpi::set_cmd_line("test --echo-stdout-stderr abc"), - bpi::bind_stdout(sink1), - bpi::bind_stderr(sink2), - bpi::set_on_error(ec) - ); - BOOST_REQUIRE(!ec); - } - - boost::asio::io_service io_service; - pipe_end pend1(io_service, p1.source); - pipe_end pend2(io_service, p2.source); - - boost::asio::streambuf buffer1; - boost::asio::async_read_until(pend1, buffer1, '\n', - read_handler(buffer1)); - - boost::asio::streambuf buffer2; - boost::asio::async_read_until(pend2, buffer2, '\n', - read_handler(buffer2)); - - io_service.run(); -} diff --git a/plugins/New_GPG/src/include/libs/process/test/close_stderr.cpp b/plugins/New_GPG/src/include/libs/process/test/close_stderr.cpp deleted file mode 100644 index e82f9df82c..0000000000 --- a/plugins/New_GPG/src/include/libs/process/test/close_stderr.cpp +++ /dev/null @@ -1,42 +0,0 @@ -// Copyright (c) 2006, 2007 Julio M. Merino Vidal -// Copyright (c) 2008 Ilya Sokolov, Boris Schaeling -// Copyright (c) 2009 Boris Schaeling -// Copyright (c) 2010 Felipe Tanus, Boris Schaeling -// Copyright (c) 2011, 2012 Jeff Flinn, Boris Schaeling -// -// Distributed under the Boost Software License, Version 1.0. (See accompanying -// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#define BOOST_TEST_MAIN -#define BOOST_TEST_IGNORE_SIGCHLD -#include <boost/test/included/unit_test.hpp> -#include <boost/process.hpp> -#include <boost/system/error_code.hpp> -#include <cstdlib> -#if defined(BOOST_POSIX_API) -# include <sys/wait.h> -#endif - -namespace bp = boost::process; -namespace bpi = boost::process::initializers; - -BOOST_AUTO_TEST_CASE(closed) -{ - using boost::unit_test::framework::master_test_suite; - - boost::system::error_code ec; - bp::child c = bp::execute( - bpi::run_exe(master_test_suite().argv[1]), - bpi::set_cmd_line("test --is-closed-stderr"), - bpi::close_stderr(), - bpi::set_on_error(ec) - ); - BOOST_REQUIRE(!ec); - - int exit_code = bp::wait_for_exit(c); -#if defined(BOOST_WINDOWS_API) - BOOST_CHECK_EQUAL(EXIT_SUCCESS, exit_code); -#elif defined(BOOST_POSIX_API) - BOOST_CHECK_EQUAL(EXIT_SUCCESS, WEXITSTATUS(exit_code)); -#endif -} diff --git a/plugins/New_GPG/src/include/libs/process/test/close_stdin.cpp b/plugins/New_GPG/src/include/libs/process/test/close_stdin.cpp deleted file mode 100644 index 2290652ae8..0000000000 --- a/plugins/New_GPG/src/include/libs/process/test/close_stdin.cpp +++ /dev/null @@ -1,42 +0,0 @@ -// Copyright (c) 2006, 2007 Julio M. Merino Vidal -// Copyright (c) 2008 Ilya Sokolov, Boris Schaeling -// Copyright (c) 2009 Boris Schaeling -// Copyright (c) 2010 Felipe Tanus, Boris Schaeling -// Copyright (c) 2011, 2012 Jeff Flinn, Boris Schaeling -// -// Distributed under the Boost Software License, Version 1.0. (See accompanying -// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#define BOOST_TEST_MAIN -#define BOOST_TEST_IGNORE_SIGCHLD -#include <boost/test/included/unit_test.hpp> -#include <boost/process.hpp> -#include <boost/system/error_code.hpp> -#include <cstdlib> -#if defined(BOOST_POSIX_API) -# include <sys/wait.h> -#endif - -namespace bp = boost::process; -namespace bpi = boost::process::initializers; - -BOOST_AUTO_TEST_CASE(closed) -{ - using boost::unit_test::framework::master_test_suite; - - boost::system::error_code ec; - bp::child c = bp::execute( - bpi::run_exe(master_test_suite().argv[1]), - bpi::set_cmd_line("test --is-closed-stdin"), - bpi::close_stdin(), - bpi::set_on_error(ec) - ); - BOOST_REQUIRE(!ec); - - int exit_code = bp::wait_for_exit(c); -#if defined(BOOST_WINDOWS_API) - BOOST_CHECK_EQUAL(EXIT_SUCCESS, exit_code); -#elif defined(BOOST_POSIX_API) - BOOST_CHECK_EQUAL(EXIT_SUCCESS, WEXITSTATUS(exit_code)); -#endif -} diff --git a/plugins/New_GPG/src/include/libs/process/test/close_stdout.cpp b/plugins/New_GPG/src/include/libs/process/test/close_stdout.cpp deleted file mode 100644 index 4338a8f1ed..0000000000 --- a/plugins/New_GPG/src/include/libs/process/test/close_stdout.cpp +++ /dev/null @@ -1,42 +0,0 @@ -// Copyright (c) 2006, 2007 Julio M. Merino Vidal -// Copyright (c) 2008 Ilya Sokolov, Boris Schaeling -// Copyright (c) 2009 Boris Schaeling -// Copyright (c) 2010 Felipe Tanus, Boris Schaeling -// Copyright (c) 2011, 2012 Jeff Flinn, Boris Schaeling -// -// Distributed under the Boost Software License, Version 1.0. (See accompanying -// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#define BOOST_TEST_MAIN -#define BOOST_TEST_IGNORE_SIGCHLD -#include <boost/test/included/unit_test.hpp> -#include <boost/process.hpp> -#include <boost/system/error_code.hpp> -#include <cstdlib> -#if defined(BOOST_POSIX_API) -# include <sys/wait.h> -#endif - -namespace bp = boost::process; -namespace bpi = boost::process::initializers; - -BOOST_AUTO_TEST_CASE(closed) -{ - using boost::unit_test::framework::master_test_suite; - - boost::system::error_code ec; - bp::child c = bp::execute( - bpi::run_exe(master_test_suite().argv[1]), - bpi::set_cmd_line("test --is-closed-stdout"), - bpi::close_stdout(), - bpi::set_on_error(ec) - ); - BOOST_REQUIRE(!ec); - - int exit_code = bp::wait_for_exit(c); -#if defined(BOOST_WINDOWS_API) - BOOST_CHECK_EQUAL(EXIT_SUCCESS, exit_code); -#elif defined(BOOST_POSIX_API) - BOOST_CHECK_EQUAL(EXIT_SUCCESS, WEXITSTATUS(exit_code)); -#endif -} diff --git a/plugins/New_GPG/src/include/libs/process/test/exit_code.cpp b/plugins/New_GPG/src/include/libs/process/test/exit_code.cpp deleted file mode 100644 index 4fb946dcae..0000000000 --- a/plugins/New_GPG/src/include/libs/process/test/exit_code.cpp +++ /dev/null @@ -1,106 +0,0 @@ -// Copyright (c) 2006, 2007 Julio M. Merino Vidal -// Copyright (c) 2008 Ilya Sokolov, Boris Schaeling -// Copyright (c) 2009 Boris Schaeling -// Copyright (c) 2010 Felipe Tanus, Boris Schaeling -// Copyright (c) 2011, 2012 Jeff Flinn, Boris Schaeling -// -// Distributed under the Boost Software License, Version 1.0. (See accompanying -// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#define BOOST_TEST_MAIN -#define BOOST_TEST_IGNORE_SIGCHLD -#include <boost/test/included/unit_test.hpp> -#include <boost/process.hpp> -#include <boost/system/error_code.hpp> -#include <boost/asio.hpp> -#if defined(BOOST_WINDOWS_API) -# include <Windows.h> -typedef boost::asio::windows::stream_handle pipe_end; -#elif defined(BOOST_POSIX_API) -# include <sys/wait.h> -# include <signal.h> -typedef boost::asio::posix::stream_descriptor pipe_end; -#endif - -namespace bp = boost::process; -namespace bpi = boost::process::initializers; - -BOOST_AUTO_TEST_CASE(sync_wait) -{ - using boost::unit_test::framework::master_test_suite; - - boost::system::error_code ec; - bp::child c = bp::execute( - bpi::run_exe(master_test_suite().argv[1]), - bpi::set_cmd_line("test --exit-code 123"), - bpi::set_on_error(ec) - ); - BOOST_REQUIRE(!ec); - - int exit_code = bp::wait_for_exit(c); -#if defined(BOOST_WINDOWS_API) - BOOST_CHECK_EQUAL(123, exit_code); -#elif defined(BOOST_POSIX_API) - BOOST_CHECK_EQUAL(123, WEXITSTATUS(exit_code)); -#endif -} - -#if defined(BOOST_WINDOWS_API) -struct wait_handler -{ - HANDLE handle_; - - wait_handler(HANDLE handle) : handle_(handle) {} - - void operator()(const boost::system::error_code &ec) - { - BOOST_REQUIRE(!ec); - DWORD exit_code; - BOOST_REQUIRE(GetExitCodeProcess(handle_, &exit_code)); - BOOST_CHECK_EQUAL(123, exit_code); - } -}; -#elif defined(BOOST_POSIX_API) -struct wait_handler -{ - void operator()(const boost::system::error_code &ec, int signal) - { - BOOST_REQUIRE(!ec); - BOOST_REQUIRE_EQUAL(SIGCHLD, signal); - int status; - wait(&status); - BOOST_CHECK_EQUAL(123, WEXITSTATUS(status)); - } -}; -#endif - -BOOST_AUTO_TEST_CASE(async_wait) -{ - using boost::unit_test::framework::master_test_suite; - using namespace boost::asio; - - boost::asio::io_service io_service; - -#if defined(BOOST_POSIX_API) - signal_set set(io_service, SIGCHLD); - set.async_wait(wait_handler()); -#endif - - boost::system::error_code ec; - bp::child c = bp::execute( - bpi::run_exe(master_test_suite().argv[1]), - bpi::set_cmd_line("test --exit-code 123"), - bpi::set_on_error(ec) -#if defined(BOOST_POSIX_API) - , bpi::notify_io_service(io_service) -#endif - ); - BOOST_REQUIRE(!ec); - -#if defined(BOOST_WINDOWS_API) - windows::object_handle handle(io_service, c.process_handle()); - handle.async_wait(wait_handler(handle.native())); -#endif - - io_service.run(); -} diff --git a/plugins/New_GPG/src/include/libs/process/test/extensions.cpp b/plugins/New_GPG/src/include/libs/process/test/extensions.cpp deleted file mode 100644 index 6e53352eda..0000000000 --- a/plugins/New_GPG/src/include/libs/process/test/extensions.cpp +++ /dev/null @@ -1,65 +0,0 @@ -// Copyright (c) 2006, 2007 Julio M. Merino Vidal -// Copyright (c) 2008 Ilya Sokolov, Boris Schaeling -// Copyright (c) 2009 Boris Schaeling -// Copyright (c) 2010 Felipe Tanus, Boris Schaeling -// Copyright (c) 2011, 2012 Jeff Flinn, Boris Schaeling -// -// Distributed under the Boost Software License, Version 1.0. (See accompanying -// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#define BOOST_TEST_MAIN -#define BOOST_TEST_IGNORE_SIGCHLD -#include <boost/test/included/unit_test.hpp> -#include <boost/process.hpp> -#include <boost/system/error_code.hpp> -#include <boost/bind.hpp> -#include <boost/ref.hpp> -#if defined(BOOST_WINDOWS_API) -# include <Windows.h> -#elif defined(BOOST_POSIX_API) -# include <errno.h> -#endif - -namespace bp = boost::process; -namespace bpi = boost::process::initializers; -namespace bio = boost::iostreams; - -void run_exe(const std::string &exe, bp::executor &e) -{ - e.exe = exe.c_str(); -} - -void set_on_error(boost::system::error_code &ec, bp::executor&) -{ - using namespace boost::system; -#if defined(BOOST_WINDOWS_API) - ec = error_code(::GetLastError(), system_category()); -#elif defined(BOOST_POSIX_API) - ec = error_code(errno, system_category()); -#endif -} - -BOOST_AUTO_TEST_CASE(extensions) -{ - using boost::unit_test::framework::master_test_suite; - - std::string exe = master_test_suite().argv[1]; - - boost::system::error_code ec; - bp::execute( -#if defined(BOOST_WINDOWS_API) - bpi::on_CreateProcess_setup( - boost::bind(run_exe, exe, _1)), - bpi::set_cmd_line("test"), - bpi::on_CreateProcess_error( - boost::bind(set_on_error, boost::ref(ec), _1)) -#elif defined(BOOST_POSIX_API) - bpi::on_exec_setup( - boost::bind(run_exe, exe, _1)), - bpi::set_cmd_line("test"), - bpi::on_exec_error( - boost::bind(set_on_error, boost::ref(ec), _1)) -#endif - ); - BOOST_CHECK(!ec); -} diff --git a/plugins/New_GPG/src/include/libs/process/test/inherit_env.cpp b/plugins/New_GPG/src/include/libs/process/test/inherit_env.cpp deleted file mode 100644 index 591948d0e8..0000000000 --- a/plugins/New_GPG/src/include/libs/process/test/inherit_env.cpp +++ /dev/null @@ -1,58 +0,0 @@ -// Copyright (c) 2006, 2007 Julio M. Merino Vidal -// Copyright (c) 2008 Ilya Sokolov, Boris Schaeling -// Copyright (c) 2009 Boris Schaeling -// Copyright (c) 2010 Felipe Tanus, Boris Schaeling -// Copyright (c) 2011, 2012 Jeff Flinn, Boris Schaeling -// -// Distributed under the Boost Software License, Version 1.0. (See accompanying -// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#define BOOST_TEST_MAIN -#define BOOST_TEST_IGNORE_SIGCHLD -#include <boost/test/included/unit_test.hpp> -#include <boost/process.hpp> -#include <boost/system/error_code.hpp> -#include <boost/iostreams/device/file_descriptor.hpp> -#include <boost/iostreams/filtering_stream.hpp> -#include <boost/iostreams/filter/newline.hpp> -#include <boost/program_options/environment_iterator.hpp> -#include <string> -#include <stdlib.h> - -namespace bp = boost::process; -namespace bpi = boost::process::initializers; - -BOOST_AUTO_TEST_CASE(inherit_env) -{ - using boost::unit_test::framework::master_test_suite; - namespace bio = boost::iostreams; - - boost::environment_iterator it(environ); - BOOST_REQUIRE(it != boost::environment_iterator()); - - bp::pipe p = bp::create_pipe(); - - { - bio::file_descriptor_sink sink(p.sink, bio::close_handle); - boost::system::error_code ec; - bp::execute( - bpi::run_exe(master_test_suite().argv[1]), - bpi::set_cmd_line("test --query " + it->first), - bpi::inherit_env(), - bpi::bind_stdout(sink), - bpi::set_on_error(ec) - ); - BOOST_REQUIRE(!ec); - } - - bio::file_descriptor_source source(p.source, bio::close_handle); - bio::filtering_istream is; - is.push(bio::newline_filter(bio::newline::posix)); - is.push(source); - - std::string s; - std::getline(is, s); - BOOST_CHECK_EQUAL(s, "defined"); - std::getline(is, s); - BOOST_CHECK_EQUAL(s, it->second); -} diff --git a/plugins/New_GPG/src/include/libs/process/test/posix_specific.cpp b/plugins/New_GPG/src/include/libs/process/test/posix_specific.cpp deleted file mode 100644 index 6c4ce6378c..0000000000 --- a/plugins/New_GPG/src/include/libs/process/test/posix_specific.cpp +++ /dev/null @@ -1,113 +0,0 @@ -// Copyright (c) 2006, 2007 Julio M. Merino Vidal -// Copyright (c) 2008 Ilya Sokolov, Boris Schaeling -// Copyright (c) 2009 Boris Schaeling -// Copyright (c) 2010 Felipe Tanus, Boris Schaeling -// Copyright (c) 2011, 2012 Jeff Flinn, Boris Schaeling -// -// Distributed under the Boost Software License, Version 1.0. (See accompanying -// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#define BOOST_TEST_MAIN -#define BOOST_TEST_IGNORE_SIGCHLD -#include <boost/test/included/unit_test.hpp> -#include <boost/process.hpp> -#include <boost/system/error_code.hpp> -#include <boost/system/system_error.hpp> -#include <boost/iostreams/device/file_descriptor.hpp> -#include <boost/iostreams/stream.hpp> -#include <string> -#include <sys/wait.h> -#include <errno.h> - -namespace bp = boost::process; -namespace bpi = boost::process::initializers; -namespace bio = boost::iostreams; - -BOOST_AUTO_TEST_CASE(bind_fd) -{ - using boost::unit_test::framework::master_test_suite; - - bp::pipe p = bp::create_pipe(); - - { - bio::file_descriptor_sink sink(p.sink, bio::close_handle); - boost::system::error_code ec; - bp::execute( - bpi::run_exe(master_test_suite().argv[1]), - bpi::set_cmd_line("test --posix-echo-one 3 hello"), - bpi::bind_fd(3, sink), - bpi::set_on_error(ec) - ); - BOOST_CHECK(!ec); - } - - bio::file_descriptor_source source(p.source, bio::close_handle); - bio::stream<bio::file_descriptor_source> is(source); - - std::string s; - is >> s; - BOOST_CHECK_EQUAL(s, "hello"); -} - -BOOST_AUTO_TEST_CASE(bind_fds) -{ - using boost::unit_test::framework::master_test_suite; - - bp::pipe p1 = bp::create_pipe(); - bp::pipe p2 = bp::create_pipe(); - - { - bio::file_descriptor_sink sink1(p1.sink, bio::close_handle); - bio::file_descriptor_sink sink2(p2.sink, bio::close_handle); - boost::system::error_code ec; - bp::execute( - bpi::run_exe(master_test_suite().argv[1]), - bpi::set_cmd_line("test --posix-echo-two 3 hello 99 bye"), - bpi::bind_fd(3, sink1), - bpi::bind_fd(99, sink2), - bpi::set_on_error(ec) - ); - BOOST_CHECK(!ec); - } - - bio::file_descriptor_source source1(p1.source, bio::close_handle); - bio::stream<bio::file_descriptor_source> is1(source1); - - std::string s1; - is1 >> s1; - BOOST_CHECK_EQUAL(s1, "hello"); - - bio::file_descriptor_source source2(p2.source, bio::close_handle); - bio::stream<bio::file_descriptor_source> is2(source2); - - std::string s2; - is2 >> s2; - BOOST_CHECK_EQUAL(s2, "bye"); -} - -BOOST_AUTO_TEST_CASE(execve_set_on_error) -{ - boost::system::error_code ec; - bp::execute( - bpi::run_exe("doesnt-exist"), - bpi::set_on_error(ec) - ); - BOOST_CHECK(ec); - BOOST_CHECK_EQUAL(ec.value(), ENOENT); -} - -BOOST_AUTO_TEST_CASE(execve_throw_on_error) -{ - try - { - bp::execute( - bpi::run_exe("doesnt-exist"), - bpi::throw_on_error() - ); - } - catch (boost::system::system_error &e) - { - BOOST_CHECK(e.code()); - BOOST_CHECK_EQUAL(e.code().value(), ENOENT); - } -} diff --git a/plugins/New_GPG/src/include/libs/process/test/run_exe.cpp b/plugins/New_GPG/src/include/libs/process/test/run_exe.cpp deleted file mode 100644 index 7c6e6b2511..0000000000 --- a/plugins/New_GPG/src/include/libs/process/test/run_exe.cpp +++ /dev/null @@ -1,39 +0,0 @@ -// Copyright (c) 2006, 2007 Julio M. Merino Vidal -// Copyright (c) 2008 Ilya Sokolov, Boris Schaeling -// Copyright (c) 2009 Boris Schaeling -// Copyright (c) 2010 Felipe Tanus, Boris Schaeling -// Copyright (c) 2011, 2012 Jeff Flinn, Boris Schaeling -// -// Distributed under the Boost Software License, Version 1.0. (See accompanying -// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#define BOOST_TEST_MAIN -#define BOOST_TEST_IGNORE_SIGCHLD -#include <boost/test/included/unit_test.hpp> -#include <boost/process.hpp> -#include <boost/system/error_code.hpp> - -namespace bp = boost::process; -namespace bpi = boost::process::initializers; - -BOOST_AUTO_TEST_CASE(run_exe_success) -{ - using boost::unit_test::framework::master_test_suite; - - boost::system::error_code ec; - bp::execute( - bpi::run_exe(master_test_suite().argv[1]), - bpi::set_on_error(ec) - ); - BOOST_CHECK(!ec); -} - -BOOST_AUTO_TEST_CASE(run_exe_error) -{ - boost::system::error_code ec; - bp::execute( - bpi::run_exe("doesnt-exist"), - bpi::set_on_error(ec) - ); - BOOST_CHECK(ec); -} diff --git a/plugins/New_GPG/src/include/libs/process/test/run_exe_path.cpp b/plugins/New_GPG/src/include/libs/process/test/run_exe_path.cpp deleted file mode 100644 index f514935259..0000000000 --- a/plugins/New_GPG/src/include/libs/process/test/run_exe_path.cpp +++ /dev/null @@ -1,46 +0,0 @@ -// Copyright (c) 2006, 2007 Julio M. Merino Vidal -// Copyright (c) 2008 Ilya Sokolov, Boris Schaeling -// Copyright (c) 2009 Boris Schaeling -// Copyright (c) 2010 Felipe Tanus, Boris Schaeling -// Copyright (c) 2011, 2012 Jeff Flinn, Boris Schaeling -// -// Distributed under the Boost Software License, Version 1.0. (See accompanying -// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#define BOOST_TEST_MAIN -#define BOOST_TEST_IGNORE_SIGCHLD -#include <boost/test/included/unit_test.hpp> -#include <boost/process.hpp> -#include <boost/system/error_code.hpp> -#include <boost/filesystem.hpp> - -namespace bp = boost::process; -namespace bpi = boost::process::initializers; - -BOOST_AUTO_TEST_CASE(run_exe_success) -{ - using boost::unit_test::framework::master_test_suite; - - boost::filesystem::path exe = master_test_suite().argv[1]; - - boost::system::error_code ec; - bp::execute( - bpi::run_exe(exe), - bpi::set_on_error(ec) - ); - BOOST_CHECK(!ec); -} - -#if defined(BOOST_WINDOWS_API) -BOOST_AUTO_TEST_CASE(run_exe_error) -{ - boost::filesystem::path exe = "doesnt-exist"; - - boost::system::error_code ec; - bp::execute( - bpi::run_exe(exe), - bpi::set_on_error(ec) - ); - BOOST_CHECK(ec); -} -#endif diff --git a/plugins/New_GPG/src/include/libs/process/test/run_exe_wstring.cpp b/plugins/New_GPG/src/include/libs/process/test/run_exe_wstring.cpp deleted file mode 100644 index cc11bd00a5..0000000000 --- a/plugins/New_GPG/src/include/libs/process/test/run_exe_wstring.cpp +++ /dev/null @@ -1,46 +0,0 @@ -// Copyright (c) 2006, 2007 Julio M. Merino Vidal -// Copyright (c) 2008 Ilya Sokolov, Boris Schaeling -// Copyright (c) 2009 Boris Schaeling -// Copyright (c) 2010 Felipe Tanus, Boris Schaeling -// Copyright (c) 2011, 2012 Jeff Flinn, Boris Schaeling -// -// Distributed under the Boost Software License, Version 1.0. (See accompanying -// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#define _UNICODE -#define UNICODE -#define BOOST_TEST_MAIN -#define BOOST_TEST_IGNORE_SIGCHLD -#include <boost/test/included/unit_test.hpp> -#include <boost/process.hpp> -#include <boost/system/error_code.hpp> -#include <boost/filesystem.hpp> - -namespace bp = boost::process; -namespace bpi = boost::process::initializers; - -BOOST_AUTO_TEST_CASE(run_exe_success) -{ - using boost::unit_test::framework::master_test_suite; - - boost::filesystem::path p = master_test_suite().argv[1]; - - boost::system::error_code ec; - bp::execute( - bpi::run_exe(p.wstring()), - bpi::set_on_error(ec) - ); - BOOST_CHECK(!ec); -} - -#if defined(BOOST_WINDOWS_API) -BOOST_AUTO_TEST_CASE(run_exe_error) -{ - boost::system::error_code ec; - bp::execute( - bpi::run_exe(L"doesnt-exist"), - bpi::set_on_error(ec) - ); - BOOST_CHECK(ec); -} -#endif diff --git a/plugins/New_GPG/src/include/libs/process/test/search_path.cpp b/plugins/New_GPG/src/include/libs/process/test/search_path.cpp deleted file mode 100644 index 2a155d8095..0000000000 --- a/plugins/New_GPG/src/include/libs/process/test/search_path.cpp +++ /dev/null @@ -1,34 +0,0 @@ -// Copyright (c) 2006, 2007 Julio M. Merino Vidal -// Copyright (c) 2008 Ilya Sokolov, Boris Schaeling -// Copyright (c) 2009 Boris Schaeling -// Copyright (c) 2010 Felipe Tanus, Boris Schaeling -// Copyright (c) 2011, 2012 Jeff Flinn, Boris Schaeling -// -// Distributed under the Boost Software License, Version 1.0. (See accompanying -// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#define BOOST_TEST_MAIN -#include <boost/test/included/unit_test.hpp> -#include <boost/process.hpp> -#include <string> - -namespace bp = boost::process; - -BOOST_AUTO_TEST_CASE(search) -{ -#if defined(BOOST_WINDOWS_API) - std::string filename = "cmd"; -#elif defined(BOOST_POSIX_API) - std::string filename = "ls"; -#endif - - BOOST_CHECK(!bp::search_path(filename).empty()); - -#if defined(BOOST_WINDOWS_API) - std::string path = "C:\\Windows;C:\\Windows\\System32"; -#elif defined(BOOST_POSIX_API) - std::string path = "/usr/local/bin:/usr/bin:/bin"; -#endif - - BOOST_CHECK(!bp::search_path(filename, path).empty()); -} diff --git a/plugins/New_GPG/src/include/libs/process/test/search_path_wstring.cpp b/plugins/New_GPG/src/include/libs/process/test/search_path_wstring.cpp deleted file mode 100644 index 3ba9c33279..0000000000 --- a/plugins/New_GPG/src/include/libs/process/test/search_path_wstring.cpp +++ /dev/null @@ -1,25 +0,0 @@ -// Copyright (c) 2006, 2007 Julio M. Merino Vidal -// Copyright (c) 2008 Ilya Sokolov, Boris Schaeling -// Copyright (c) 2009 Boris Schaeling -// Copyright (c) 2010 Felipe Tanus, Boris Schaeling -// Copyright (c) 2011, 2012 Jeff Flinn, Boris Schaeling -// -// Distributed under the Boost Software License, Version 1.0. (See accompanying -// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#define _UNICODE -#define UNICODE -#define BOOST_TEST_MAIN -#include <boost/test/included/unit_test.hpp> -#include <boost/process.hpp> -#include <string> - -namespace bp = boost::process; - -BOOST_AUTO_TEST_CASE(search) -{ - std::wstring filename = L"cmd"; - BOOST_CHECK(!bp::search_path(filename).empty()); - std::wstring path = L"C:\\Windows;C:\\Windows\\System32"; - BOOST_CHECK(!bp::search_path(filename, path).empty()); -} diff --git a/plugins/New_GPG/src/include/libs/process/test/set_args.cpp b/plugins/New_GPG/src/include/libs/process/test/set_args.cpp deleted file mode 100644 index c3a453291d..0000000000 --- a/plugins/New_GPG/src/include/libs/process/test/set_args.cpp +++ /dev/null @@ -1,83 +0,0 @@ -// Copyright (c) 2006, 2007 Julio M. Merino Vidal -// Copyright (c) 2008 Ilya Sokolov, Boris Schaeling -// Copyright (c) 2009 Boris Schaeling -// Copyright (c) 2010 Felipe Tanus, Boris Schaeling -// Copyright (c) 2011, 2012 Jeff Flinn, Boris Schaeling -// -// Distributed under the Boost Software License, Version 1.0. (See accompanying -// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#define BOOST_TEST_MAIN -#define BOOST_TEST_IGNORE_SIGCHLD -#include <boost/test/included/unit_test.hpp> -#include <boost/process.hpp> -#include <boost/system/error_code.hpp> -#include <boost/iostreams/device/file_descriptor.hpp> -#include <boost/iostreams/filtering_stream.hpp> -#include <boost/iostreams/filter/newline.hpp> -#include <boost/assign/list_of.hpp> -#include <string> - -namespace bp = boost::process; -namespace bpi = boost::process::initializers; - -BOOST_AUTO_TEST_CASE(set_args) -{ - using boost::unit_test::framework::master_test_suite; - namespace bio = boost::iostreams; - namespace ba = boost::assign; - - bp::pipe p = bp::create_pipe(); - - { - bio::file_descriptor_sink sink(p.sink, bio::close_handle); - boost::system::error_code ec; - bp::execute( - bpi::run_exe(master_test_suite().argv[1]), - bpi::set_args(ba::list_of<std::string>("test") - ("--echo-argv")("a b")), - bpi::bind_stdout(sink), - bpi::set_on_error(ec) - ); - BOOST_REQUIRE(!ec); - } - - bio::file_descriptor_source source(p.source, bio::close_handle); - bio::filtering_istream is; - is.push(bio::newline_filter(bio::newline::posix)); - is.push(source); - - std::string s; - std::getline(is, s); - BOOST_CHECK_EQUAL(s, "\"test\" \"--echo-argv\" \"a b\""); -} - -BOOST_AUTO_TEST_CASE(set_args_without_run_exe) -{ - using boost::unit_test::framework::master_test_suite; - namespace bio = boost::iostreams; - namespace ba = boost::assign; - - std::string exe = master_test_suite().argv[1]; - bp::pipe p = bp::create_pipe(); - - { - bio::file_descriptor_sink sink(p.sink, bio::close_handle); - boost::system::error_code ec; - bp::execute( - bpi::set_args(ba::list_of<std::string>(exe)("--echo-argv")), - bpi::bind_stdout(sink), - bpi::set_on_error(ec) - ); - BOOST_REQUIRE(!ec); - } - - bio::file_descriptor_source source(p.source, bio::close_handle); - bio::filtering_istream is; - is.push(bio::newline_filter(bio::newline::posix)); - is.push(source); - - std::string s; - std::getline(is, s); - BOOST_CHECK_EQUAL(s, "\"" + exe + "\" \"--echo-argv\""); -} diff --git a/plugins/New_GPG/src/include/libs/process/test/set_args_wstring.cpp b/plugins/New_GPG/src/include/libs/process/test/set_args_wstring.cpp deleted file mode 100644 index 685b57f440..0000000000 --- a/plugins/New_GPG/src/include/libs/process/test/set_args_wstring.cpp +++ /dev/null @@ -1,56 +0,0 @@ -// Copyright (c) 2006, 2007 Julio M. Merino Vidal -// Copyright (c) 2008 Ilya Sokolov, Boris Schaeling -// Copyright (c) 2009 Boris Schaeling -// Copyright (c) 2010 Felipe Tanus, Boris Schaeling -// Copyright (c) 2011, 2012 Jeff Flinn, Boris Schaeling -// -// Distributed under the Boost Software License, Version 1.0. (See accompanying -// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#define _UNICODE -#define UNICODE -#define BOOST_TEST_MAIN -#define BOOST_TEST_IGNORE_SIGCHLD -#include <boost/test/included/unit_test.hpp> -#include <boost/process.hpp> -#include <boost/system/error_code.hpp> -#include <boost/iostreams/device/file_descriptor.hpp> -#include <boost/iostreams/filtering_stream.hpp> -#include <boost/iostreams/filter/newline.hpp> -#include <boost/assign/list_of.hpp> -#include <string> - -namespace bp = boost::process; -namespace bpi = boost::process::initializers; - -BOOST_AUTO_TEST_CASE(set_args) -{ - using boost::unit_test::framework::master_test_suite; - namespace bio = boost::iostreams; - namespace ba = boost::assign; - - bp::pipe p = bp::create_pipe(); - - { - boost::filesystem::path exe = master_test_suite().argv[1]; - bio::file_descriptor_sink sink(p.sink, bio::close_handle); - boost::system::error_code ec; - bp::execute( - bpi::run_exe(exe), - bpi::set_args(ba::list_of<std::wstring>(L"test") - (L"--echo-argv")(L"a b")), - bpi::bind_stdout(sink), - bpi::set_on_error(ec) - ); - BOOST_REQUIRE(!ec); - } - - bio::file_descriptor_source source(p.source, bio::close_handle); - bio::filtering_istream is; - is.push(bio::newline_filter(bio::newline::posix)); - is.push(source); - - std::string s; - std::getline(is, s); - BOOST_CHECK_EQUAL(s, "\"test\" \"--echo-argv\" \"a b\""); -} diff --git a/plugins/New_GPG/src/include/libs/process/test/set_cmd_line.cpp b/plugins/New_GPG/src/include/libs/process/test/set_cmd_line.cpp deleted file mode 100644 index 128634a094..0000000000 --- a/plugins/New_GPG/src/include/libs/process/test/set_cmd_line.cpp +++ /dev/null @@ -1,50 +0,0 @@ -// Copyright (c) 2006, 2007 Julio M. Merino Vidal -// Copyright (c) 2008 Ilya Sokolov, Boris Schaeling -// Copyright (c) 2009 Boris Schaeling -// Copyright (c) 2010 Felipe Tanus, Boris Schaeling -// Copyright (c) 2011, 2012 Jeff Flinn, Boris Schaeling -// -// Distributed under the Boost Software License, Version 1.0. (See accompanying -// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#define BOOST_TEST_MAIN -#define BOOST_TEST_IGNORE_SIGCHLD -#include <boost/test/included/unit_test.hpp> -#include <boost/process.hpp> -#include <boost/system/error_code.hpp> -#include <boost/iostreams/device/file_descriptor.hpp> -#include <boost/iostreams/filtering_stream.hpp> -#include <boost/iostreams/filter/newline.hpp> -#include <string> - -namespace bp = boost::process; -namespace bpi = boost::process::initializers; - -BOOST_AUTO_TEST_CASE(set_cmd_line) -{ - using boost::unit_test::framework::master_test_suite; - namespace bio = boost::iostreams; - - bp::pipe p = bp::create_pipe(); - - { - bio::file_descriptor_sink sink(p.sink, bio::close_handle); - boost::system::error_code ec; - bp::execute( - bpi::run_exe(master_test_suite().argv[1]), - bpi::set_cmd_line("test --echo-argv \"a b\""), - bpi::bind_stdout(sink), - bpi::set_on_error(ec) - ); - BOOST_REQUIRE(!ec); - } - - bio::file_descriptor_source source(p.source, bio::close_handle); - bio::filtering_istream is; - is.push(bio::newline_filter(bio::newline::posix)); - is.push(source); - - std::string s; - std::getline(is, s); - BOOST_CHECK_EQUAL(s, "\"test\" \"--echo-argv\" \"a b\""); -} diff --git a/plugins/New_GPG/src/include/libs/process/test/set_cmd_line_wstring.cpp b/plugins/New_GPG/src/include/libs/process/test/set_cmd_line_wstring.cpp deleted file mode 100644 index 629f7e3bb8..0000000000 --- a/plugins/New_GPG/src/include/libs/process/test/set_cmd_line_wstring.cpp +++ /dev/null @@ -1,54 +0,0 @@ -// Copyright (c) 2006, 2007 Julio M. Merino Vidal -// Copyright (c) 2008 Ilya Sokolov, Boris Schaeling -// Copyright (c) 2009 Boris Schaeling -// Copyright (c) 2010 Felipe Tanus, Boris Schaeling -// Copyright (c) 2011, 2012 Jeff Flinn, Boris Schaeling -// -// Distributed under the Boost Software License, Version 1.0. (See accompanying -// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#define _UNICODE -#define UNICODE -#define BOOST_TEST_MAIN -#define BOOST_TEST_IGNORE_SIGCHLD -#include <boost/test/included/unit_test.hpp> -#include <boost/process.hpp> -#include <boost/system/error_code.hpp> -#include <boost/filesystem.hpp> -#include <boost/iostreams/device/file_descriptor.hpp> -#include <boost/iostreams/filter/newline.hpp> -#include <boost/iostreams/filtering_stream.hpp> -#include <string> - -namespace bp = boost::process; -namespace bpi = boost::process::initializers; - -BOOST_AUTO_TEST_CASE(set_cmd_line) -{ - using boost::unit_test::framework::master_test_suite; - namespace bio = boost::iostreams; - - bp::pipe p = bp::create_pipe(); - - { - boost::filesystem::path exe = master_test_suite().argv[1]; - bio::file_descriptor_sink sink(p.sink, bio::close_handle); - boost::system::error_code ec; - bp::execute( - bpi::run_exe(exe), - bpi::set_cmd_line(L"test --echo-argv \"a b\""), - bpi::bind_stdout(sink), - bpi::set_on_error(ec) - ); - BOOST_REQUIRE(!ec); - } - - bio::file_descriptor_source source(p.source, bio::close_handle); - bio::filtering_istream is; - is.push(bio::newline_filter(bio::newline::posix)); - is.push(source); - - std::string s; - std::getline(is, s); - BOOST_CHECK_EQUAL(s, "\"test\" \"--echo-argv\" \"a b\""); -} diff --git a/plugins/New_GPG/src/include/libs/process/test/set_env.cpp b/plugins/New_GPG/src/include/libs/process/test/set_env.cpp deleted file mode 100644 index d0eaf54e70..0000000000 --- a/plugins/New_GPG/src/include/libs/process/test/set_env.cpp +++ /dev/null @@ -1,57 +0,0 @@ -// Copyright (c) 2006, 2007 Julio M. Merino Vidal -// Copyright (c) 2008 Ilya Sokolov, Boris Schaeling -// Copyright (c) 2009 Boris Schaeling -// Copyright (c) 2010 Felipe Tanus, Boris Schaeling -// Copyright (c) 2011, 2012 Jeff Flinn, Boris Schaeling -// -// Distributed under the Boost Software License, Version 1.0. (See accompanying -// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#define BOOST_TEST_MAIN -#define BOOST_TEST_IGNORE_SIGCHLD -#include <boost/test/included/unit_test.hpp> -#include <boost/process.hpp> -#include <boost/system/error_code.hpp> -#include <boost/iostreams/device/file_descriptor.hpp> -#include <boost/iostreams/filtering_stream.hpp> -#include <boost/iostreams/filter/newline.hpp> -#include <set> -#include <string> - -namespace bp = boost::process; -namespace bpi = boost::process::initializers; - -BOOST_AUTO_TEST_CASE(set_env) -{ - using boost::unit_test::framework::master_test_suite; - namespace bio = boost::iostreams; - - std::set<std::string> env; - env.insert("FOO=BAR"); - - bp::pipe p = bp::create_pipe(); - - { - bio::file_descriptor_sink sink(p.sink, bio::close_handle); - boost::system::error_code ec; - bp::execute( - bpi::run_exe(master_test_suite().argv[1]), - bpi::set_cmd_line("test --query FOO"), - bpi::set_env(env), - bpi::bind_stdout(sink), - bpi::set_on_error(ec) - ); - BOOST_REQUIRE(!ec); - } - - bio::file_descriptor_source source(p.source, bio::close_handle); - bio::filtering_istream is; - is.push(bio::newline_filter(bio::newline::posix)); - is.push(source); - - std::string s; - std::getline(is, s); - BOOST_CHECK_EQUAL(s, "defined"); - std::getline(is, s); - BOOST_CHECK_EQUAL(s, "BAR"); -} diff --git a/plugins/New_GPG/src/include/libs/process/test/set_env_wstring.cpp b/plugins/New_GPG/src/include/libs/process/test/set_env_wstring.cpp deleted file mode 100644 index bd884d33fe..0000000000 --- a/plugins/New_GPG/src/include/libs/process/test/set_env_wstring.cpp +++ /dev/null @@ -1,61 +0,0 @@ -// Copyright (c) 2006, 2007 Julio M. Merino Vidal -// Copyright (c) 2008 Ilya Sokolov, Boris Schaeling -// Copyright (c) 2009 Boris Schaeling -// Copyright (c) 2010 Felipe Tanus, Boris Schaeling -// Copyright (c) 2011, 2012 Jeff Flinn, Boris Schaeling -// -// Distributed under the Boost Software License, Version 1.0. (See accompanying -// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#define _UNICODE -#define UNICODE -#define BOOST_TEST_MAIN -#define BOOST_TEST_IGNORE_SIGCHLD -#include <boost/test/included/unit_test.hpp> -#include <boost/process.hpp> -#include <boost/system/error_code.hpp> -#include <boost/filesystem.hpp> -#include <boost/iostreams/device/file_descriptor.hpp> -#include <boost/iostreams/filtering_stream.hpp> -#include <boost/iostreams/filter/newline.hpp> -#include <set> -#include <string> - -namespace bp = boost::process; -namespace bpi = boost::process::initializers; - -BOOST_AUTO_TEST_CASE(set_env) -{ - using boost::unit_test::framework::master_test_suite; - namespace bio = boost::iostreams; - - std::set<std::wstring> env; - env.insert(L"FOO=BAR"); - - bp::pipe p = bp::create_pipe(); - - { - boost::filesystem::path exe = master_test_suite().argv[1]; - bio::file_descriptor_sink sink(p.sink, bio::close_handle); - boost::system::error_code ec; - bp::execute( - bpi::run_exe(exe), - bpi::set_cmd_line(L"test --query FOO"), - bpi::set_env(env), - bpi::bind_stdout(sink), - bpi::set_on_error(ec) - ); - BOOST_REQUIRE(!ec); - } - - bio::file_descriptor_source source(p.source, bio::close_handle); - bio::filtering_istream is; - is.push(bio::newline_filter(bio::newline::posix)); - is.push(source); - - std::string s; - std::getline(is, s); - BOOST_CHECK_EQUAL(s, "defined"); - std::getline(is, s); - BOOST_CHECK_EQUAL(s, "BAR"); -} diff --git a/plugins/New_GPG/src/include/libs/process/test/set_on_error.cpp b/plugins/New_GPG/src/include/libs/process/test/set_on_error.cpp deleted file mode 100644 index 3680dee364..0000000000 --- a/plugins/New_GPG/src/include/libs/process/test/set_on_error.cpp +++ /dev/null @@ -1,27 +0,0 @@ -// Copyright (c) 2006, 2007 Julio M. Merino Vidal -// Copyright (c) 2008 Ilya Sokolov, Boris Schaeling -// Copyright (c) 2009 Boris Schaeling -// Copyright (c) 2010 Felipe Tanus, Boris Schaeling -// Copyright (c) 2011, 2012 Jeff Flinn, Boris Schaeling -// -// Distributed under the Boost Software License, Version 1.0. (See accompanying -// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#define BOOST_TEST_MAIN -#define BOOST_TEST_IGNORE_SIGCHLD -#include <boost/test/included/unit_test.hpp> -#include <boost/process.hpp> -#include <boost/system/error_code.hpp> - -namespace bp = boost::process; -namespace bpi = boost::process::initializers; - -BOOST_AUTO_TEST_CASE(set_on_error_test) -{ - boost::system::error_code ec; - bp::execute( - bpi::run_exe("doesnt-exist"), - bpi::set_on_error(ec) - ); - BOOST_CHECK(ec); -} diff --git a/plugins/New_GPG/src/include/libs/process/test/shell_path.cpp b/plugins/New_GPG/src/include/libs/process/test/shell_path.cpp deleted file mode 100644 index 31418b8116..0000000000 --- a/plugins/New_GPG/src/include/libs/process/test/shell_path.cpp +++ /dev/null @@ -1,29 +0,0 @@ -// Copyright (c) 2006, 2007 Julio M. Merino Vidal -// Copyright (c) 2008 Ilya Sokolov, Boris Schaeling -// Copyright (c) 2009 Boris Schaeling -// Copyright (c) 2010 Felipe Tanus, Boris Schaeling -// Copyright (c) 2011, 2012 Jeff Flinn, Boris Schaeling -// -// Distributed under the Boost Software License, Version 1.0. (See accompanying -// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#define BOOST_TEST_MAIN -#include <boost/test/included/unit_test.hpp> -#include <boost/process.hpp> -#include <boost/filesystem.hpp> - -namespace bp = boost::process; - -BOOST_AUTO_TEST_CASE(shell_set_on_error) -{ - boost::system::error_code ec; - boost::filesystem::path p = bp::shell_path(ec); - BOOST_CHECK(!ec); - BOOST_CHECK(boost::filesystem::exists(p)); -} - -BOOST_AUTO_TEST_CASE(shell_throw_on_error) -{ - BOOST_CHECK_NO_THROW(bp::shell_path()); - BOOST_CHECK(boost::filesystem::exists(bp::shell_path())); -} diff --git a/plugins/New_GPG/src/include/libs/process/test/shell_path_wstring.cpp b/plugins/New_GPG/src/include/libs/process/test/shell_path_wstring.cpp deleted file mode 100644 index 72424b1404..0000000000 --- a/plugins/New_GPG/src/include/libs/process/test/shell_path_wstring.cpp +++ /dev/null @@ -1,31 +0,0 @@ -// Copyright (c) 2006, 2007 Julio M. Merino Vidal -// Copyright (c) 2008 Ilya Sokolov, Boris Schaeling -// Copyright (c) 2009 Boris Schaeling -// Copyright (c) 2010 Felipe Tanus, Boris Schaeling -// Copyright (c) 2011, 2012 Jeff Flinn, Boris Schaeling -// -// Distributed under the Boost Software License, Version 1.0. (See accompanying -// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#define _UNICODE -#define UNICODE -#define BOOST_TEST_MAIN -#include <boost/test/included/unit_test.hpp> -#include <boost/process.hpp> -#include <boost/filesystem.hpp> - -namespace bp = boost::process; - -BOOST_AUTO_TEST_CASE(shell_set_on_error) -{ - boost::system::error_code ec; - boost::filesystem::path p = bp::shell_path(ec); - BOOST_CHECK(!ec); - BOOST_CHECK(boost::filesystem::exists(p)); -} - -BOOST_AUTO_TEST_CASE(shell_throw_on_error) -{ - BOOST_CHECK_NO_THROW(bp::shell_path()); - BOOST_CHECK(boost::filesystem::exists(bp::shell_path())); -} diff --git a/plugins/New_GPG/src/include/libs/process/test/show_window.cpp b/plugins/New_GPG/src/include/libs/process/test/show_window.cpp deleted file mode 100644 index 3bba69995e..0000000000 --- a/plugins/New_GPG/src/include/libs/process/test/show_window.cpp +++ /dev/null @@ -1,49 +0,0 @@ -// Copyright (c) 2006, 2007 Julio M. Merino Vidal -// Copyright (c) 2008 Ilya Sokolov, Boris Schaeling -// Copyright (c) 2009 Boris Schaeling -// Copyright (c) 2010 Felipe Tanus, Boris Schaeling -// Copyright (c) 2011, 2012 Jeff Flinn, Boris Schaeling -// -// Distributed under the Boost Software License, Version 1.0. (See accompanying -// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#define BOOST_TEST_MAIN -#define BOOST_TEST_IGNORE_SIGCHLD -#include <boost/test/included/unit_test.hpp> -#include <boost/process.hpp> -#include <boost/system/error_code.hpp> -#include <boost/iostreams/device/file_descriptor.hpp> -#include <boost/iostreams/stream.hpp> -#include <string> -#include <Windows.h> - -namespace bp = boost::process; -namespace bpi = boost::process::initializers; - -BOOST_AUTO_TEST_CASE(show_window) -{ - using boost::unit_test::framework::master_test_suite; - namespace bio = boost::iostreams; - - bp::pipe p = bp::create_pipe(); - - { - bio::file_descriptor_sink sink(p.sink, bio::close_handle); - boost::system::error_code ec; - bp::execute( - bpi::run_exe(master_test_suite().argv[1]), - bpi::set_cmd_line("test --windows-print-showwindow"), - bpi::show_window(SW_SHOWNORMAL), - bpi::bind_stdout(sink), - bpi::set_on_error(ec) - ); - BOOST_REQUIRE(!ec); - } - - bio::file_descriptor_source source(p.source, bio::close_handle); - bio::stream<bio::file_descriptor_source> is(source); - - int i; - is >> i; - BOOST_CHECK_EQUAL(i, SW_SHOWNORMAL); -} diff --git a/plugins/New_GPG/src/include/libs/process/test/sparring_partner.cpp b/plugins/New_GPG/src/include/libs/process/test/sparring_partner.cpp deleted file mode 100644 index abfaf128f3..0000000000 --- a/plugins/New_GPG/src/include/libs/process/test/sparring_partner.cpp +++ /dev/null @@ -1,232 +0,0 @@ -// Copyright (c) 2006, 2007 Julio M. Merino Vidal -// Copyright (c) 2008 Ilya Sokolov, Boris Schaeling -// Copyright (c) 2009 Boris Schaeling -// Copyright (c) 2010 Felipe Tanus, Boris Schaeling -// Copyright (c) 2011, 2012 Jeff Flinn, Boris Schaeling -// -// Distributed under the Boost Software License, Version 1.0. (See accompanying -// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#include <boost/program_options.hpp> -#include <boost/filesystem.hpp> -#include <boost/algorithm/string/join.hpp> -#include <boost/range/iterator_range.hpp> -#include <boost/range/algorithm/transform.hpp> -#include <boost/range/algorithm_ext/push_back.hpp> -#include <boost/lambda/lambda.hpp> -#include <vector> -#include <string> -#include <iterator> -#include <iostream> -#include <cstdlib> -#if defined(BOOST_POSIX_API) -# include <boost/lexical_cast.hpp> -# include <boost/iostreams/device/file_descriptor.hpp> -# include <boost/iostreams/stream.hpp> -# include <unistd.h> -#elif defined(BOOST_WINDOWS_API) -# include <Windows.h> -#endif - -using namespace boost::program_options; - -int main(int argc, char *argv[]) -{ - options_description desc; - desc.add_options() - ("echo-stdout", value<std::string>()) - ("echo-stderr", value<std::string>()) - ("echo-stdout-stderr", value<std::string>()) - ("echo-argv", bool_switch()) - ("exit-code", value<int>()) - ("wait", value<int>()) - ("is-closed-stdin", bool_switch()) - ("is-closed-stdout", bool_switch()) - ("is-closed-stderr", bool_switch()) - ("is-nul-stdin", bool_switch()) - ("is-nul-stdout", bool_switch()) - ("is-nul-stderr", bool_switch()) - ("loop", bool_switch()) - ("prefix", value<std::string>()) - ("prefix-once", value<std::string>()) - ("pwd", bool_switch()) - ("query-env", value<std::string>()) - ("stdin-to-stdout", bool_switch()) -#if defined(BOOST_POSIX_API) - ("posix-echo-one", value<std::vector<std::string> >()->multitoken()) - ("posix-echo-two", value<std::vector<std::string> >()->multitoken()); -#elif defined(BOOST_WINDOWS_API) - ("windows-print-showwindow", bool_switch()) - ("windows-print-flags", bool_switch()); -#endif - - variables_map vm; - command_line_parser parser(argc, argv); - store(parser.options(desc).allow_unregistered().run(), vm); - notify(vm); - - if (vm.count("echo-stdout")) - { - std::cout << vm["echo-stdout"].as<std::string>() << std::endl; - } - else if (vm.count("echo-stderr")) - { - std::cerr << vm["echo-stderr"].as<std::string>() << std::endl; - } - else if (vm.count("echo-stdout-stderr")) - { - std::cout << vm["echo-stdout-stderr"].as<std::string>() << std::endl; - std::cerr << vm["echo-stdout-stderr"].as<std::string>() << std::endl; - } - else if (vm["echo-argv"].as<bool>()) - { - std::vector<std::string> v, v2; - boost::push_back(v, boost::make_iterator_range(argv, argv + argc)); - boost::transform(v, std::back_inserter(v2), - "\"" + boost::lambda::_1 + "\""); - std::cout << boost::algorithm::join(v2, " ") << std::endl; - } - else if (vm.count("exit-code")) - { - return vm["exit-code"].as<int>(); - } - else if (vm.count("wait")) - { - int sec = vm["wait"].as<int>(); -#if defined(BOOST_POSIX_API) - sleep(sec); -#elif defined(BOOST_WINDOWS_API) - Sleep(sec * 1000); -#endif - } - else if (vm["is-closed-stdin"].as<bool>()) - { - std::string s; - std::cin >> s; - return std::cin.eof() ? EXIT_SUCCESS : EXIT_FAILURE; - } - else if (vm["is-closed-stdout"].as<bool>()) - { - std::cout << "foo" << std::endl; - return std::cout.bad() ? EXIT_SUCCESS : EXIT_FAILURE; - } - else if (vm["is-closed-stderr"].as<bool>()) - { - std::cerr << "foo" << std::endl; - return std::cerr.bad() ? EXIT_SUCCESS : EXIT_FAILURE; - } - else if (vm["is-nul-stdin"].as<bool>()) - { -#if defined(BOOST_POSIX_API) - char buffer[1]; - int res = read(STDIN_FILENO, buffer, 1); - return res != -1 ? EXIT_SUCCESS : EXIT_FAILURE; -#elif defined(BOOST_WINDOWS_API) - HANDLE h = GetStdHandle(STD_INPUT_HANDLE); - if (h == INVALID_HANDLE_VALUE) - return EXIT_FAILURE; - char buffer[1]; - DWORD read; - BOOL res = ReadFile(h, buffer, 1, &read, NULL); - CloseHandle(h); - return res ? EXIT_SUCCESS : EXIT_FAILURE; -#endif - } - else if (vm["is-nul-stdout"].as<bool>()) - { - std::cout << "foo" << std::endl; - return std::cout.bad() ? EXIT_FAILURE : EXIT_SUCCESS; - } - else if (vm["is-nul-stderr"].as<bool>()) - { - std::cerr << "foo" << std::endl; - return std::cerr.bad() ? EXIT_FAILURE : EXIT_SUCCESS; - } - else if (vm["loop"].as<bool>()) - { - for (;;); - } - else if (vm.count("prefix")) - { - std::string line; - while (std::getline(std::cin, line)) - std::cout << vm["prefix"].as<std::string>() << line << std::endl; - } - else if (vm.count("prefix-once")) - { - std::string line; - std::getline(std::cin, line); - std::cout << vm["prefix-once"].as<std::string>() << line << std::endl; - } - else if (vm["pwd"].as<bool>()) - { - std::cout << boost::filesystem::current_path().string() << std::endl; - } - else if (vm.count("query-env")) - { -#if defined(BOOST_POSIX_API) - const char *value = getenv(vm["query-env"].as<std::string>().c_str()); - if (value == NULL) - std::cout << "undefined" << std::endl; - else - { - std::cout << "defined" << std::endl; - std::cout << value << std::endl; - } -#elif defined(BOOST_WINDOWS_API) - char buf[1024]; - DWORD res = GetEnvironmentVariableA(vm["query-env"].as<std::string>().c_str(), buf, sizeof(buf)); - if (res == 0) - std::cout << "undefined" << std::endl; - else - { - std::cout << "defined" << std::endl; - std::cout << buf << std::endl; - } -#endif - } - else if (vm["stdin-to-stdout"].as<bool>()) - { - char ch; - while (std::cin >> std::noskipws >> ch) - std::cout << ch << std::flush; - } -#if defined(BOOST_POSIX_API) - else if (vm.count("posix-echo-one")) - { - using namespace boost::iostreams; - std::vector<std::string> v = vm["posix-echo-one"].as<std::vector<std::string> >(); - int fd = boost::lexical_cast<int>(v[0]); - file_descriptor_sink sink(fd, close_handle); - stream<file_descriptor_sink> os(sink); - os << v[1] << std::endl; - } - else if (vm.count("posix-echo-two")) - { - using namespace boost::iostreams; - std::vector<std::string> v = vm["posix-echo-two"].as<std::vector<std::string> >(); - int fd1 = boost::lexical_cast<int>(v[0]); - file_descriptor_sink sink1(fd1, close_handle); - stream<file_descriptor_sink> os1(sink1); - os1 << v[1] << std::endl; - int fd2 = boost::lexical_cast<int>(v[2]); - file_descriptor_sink sink2(fd2, close_handle); - stream<file_descriptor_sink> os2(sink2); - os2 << v[3] << std::endl; - } -#elif defined(BOOST_WINDOWS_API) - else if (vm["windows-print-showwindow"].as<bool>()) - { - STARTUPINFO si; - GetStartupInfo(&si); - std::cout << si.wShowWindow << std::endl; - } - else if (vm["windows-print-flags"].as<bool>()) - { - STARTUPINFO si; - GetStartupInfo(&si); - std::cout << si.dwFlags << std::endl; - } -#endif - return EXIT_SUCCESS; -} diff --git a/plugins/New_GPG/src/include/libs/process/test/start_in_dir.cpp b/plugins/New_GPG/src/include/libs/process/test/start_in_dir.cpp deleted file mode 100644 index eb7c5737bb..0000000000 --- a/plugins/New_GPG/src/include/libs/process/test/start_in_dir.cpp +++ /dev/null @@ -1,63 +0,0 @@ -// Copyright (c) 2006, 2007 Julio M. Merino Vidal -// Copyright (c) 2008 Ilya Sokolov, Boris Schaeling -// Copyright (c) 2009 Boris Schaeling -// Copyright (c) 2010 Felipe Tanus, Boris Schaeling -// Copyright (c) 2011, 2012 Jeff Flinn, Boris Schaeling -// -// Distributed under the Boost Software License, Version 1.0. (See accompanying -// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#define BOOST_TEST_MAIN -#define BOOST_TEST_IGNORE_SIGCHLD -#include <boost/test/included/unit_test.hpp> -#include <boost/process.hpp> -#include <boost/system/error_code.hpp> -#include <boost/iostreams/device/file_descriptor.hpp> -#include <boost/iostreams/filter/newline.hpp> -#include <boost/iostreams/filtering_stream.hpp> -#include <boost/filesystem.hpp> -#include <string> - -namespace bp = boost::process; -namespace bpi = boost::process::initializers; - -struct test_dir -{ - std::string s_; - test_dir(const std::string &s) : s_(s) - { BOOST_REQUIRE_NO_THROW(boost::filesystem::create_directory(s)); } - ~test_dir() { boost::filesystem::remove(s_); } -}; - -BOOST_AUTO_TEST_CASE(start_in_dir) -{ - using boost::unit_test::framework::master_test_suite; - namespace bio = boost::iostreams; - - test_dir dir("start_in_dir_test"); - - bp::pipe p = bp::create_pipe(); - - bio::file_descriptor_sink sink(p.sink, bio::close_handle); - boost::system::error_code ec; - bp::child c = bp::execute( - bpi::run_exe(boost::filesystem::absolute(master_test_suite().argv[1])), - bpi::set_cmd_line("test --pwd"), - bpi::start_in_dir(dir.s_), - bpi::bind_stdout(sink), - bpi::set_on_error(ec) - ); - BOOST_REQUIRE(!ec); - bio::close(sink); - - bio::file_descriptor_source source(p.source, bio::close_handle); - bio::filtering_istream is; - is.push(bio::newline_filter(bio::newline::posix)); - is.push(source); - - std::string s; - std::getline(is, s); - BOOST_CHECK_EQUAL(s, boost::filesystem::absolute(dir.s_)); - - BOOST_REQUIRE_NO_THROW(bp::wait_for_exit(c)); -} diff --git a/plugins/New_GPG/src/include/libs/process/test/start_in_dir_wstring.cpp b/plugins/New_GPG/src/include/libs/process/test/start_in_dir_wstring.cpp deleted file mode 100644 index 245a567583..0000000000 --- a/plugins/New_GPG/src/include/libs/process/test/start_in_dir_wstring.cpp +++ /dev/null @@ -1,67 +0,0 @@ -// Copyright (c) 2006, 2007 Julio M. Merino Vidal -// Copyright (c) 2008 Ilya Sokolov, Boris Schaeling -// Copyright (c) 2009 Boris Schaeling -// Copyright (c) 2010 Felipe Tanus, Boris Schaeling -// Copyright (c) 2011, 2012 Jeff Flinn, Boris Schaeling -// -// Distributed under the Boost Software License, Version 1.0. (See accompanying -// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#define _UNICODE -#define UNICODE -#define BOOST_TEST_MAIN -#define BOOST_TEST_IGNORE_SIGCHLD -#include <boost/test/included/unit_test.hpp> -#include <boost/process.hpp> -#include <boost/system/error_code.hpp> -#include <boost/iostreams/device/file_descriptor.hpp> -#include <boost/iostreams/filter/newline.hpp> -#include <boost/iostreams/filtering_stream.hpp> -#include <boost/filesystem.hpp> -#include <string> - -namespace bp = boost::process; -namespace bpi = boost::process::initializers; - -struct test_dir -{ - std::wstring ws_; - test_dir(const std::wstring &ws) : ws_(ws) - { BOOST_REQUIRE_NO_THROW(boost::filesystem::create_directory(ws)); } - ~test_dir() { boost::filesystem::remove(ws_); } -}; - -BOOST_AUTO_TEST_CASE(start_in_dir) -{ - using boost::unit_test::framework::master_test_suite; - namespace bio = boost::iostreams; - - test_dir dir(L"start_in_dir_test"); - - boost::filesystem::path exe = master_test_suite().argv[1]; - - bp::pipe p = bp::create_pipe(); - - bio::file_descriptor_sink sink(p.sink, bio::close_handle); - boost::system::error_code ec; - bp::child c = bp::execute( - bpi::run_exe(boost::filesystem::absolute(exe)), - bpi::set_cmd_line(L"test --pwd"), - bpi::start_in_dir(dir.ws_), - bpi::bind_stdout(sink), - bpi::set_on_error(ec) - ); - BOOST_REQUIRE(!ec); - bio::close(sink); - - bio::file_descriptor_source source(p.source, bio::close_handle); - bio::filtering_istream is; - is.push(bio::newline_filter(bio::newline::posix)); - is.push(source); - - std::string s; - std::getline(is, s); - BOOST_CHECK_EQUAL(s, boost::filesystem::absolute(dir.ws_)); - - BOOST_REQUIRE_NO_THROW(bp::wait_for_exit(c)); -} diff --git a/plugins/New_GPG/src/include/libs/process/test/terminate.cpp b/plugins/New_GPG/src/include/libs/process/test/terminate.cpp deleted file mode 100644 index 1306492436..0000000000 --- a/plugins/New_GPG/src/include/libs/process/test/terminate.cpp +++ /dev/null @@ -1,48 +0,0 @@ -// Copyright (c) 2006, 2007 Julio M. Merino Vidal -// Copyright (c) 2008 Ilya Sokolov, Boris Schaeling -// Copyright (c) 2009 Boris Schaeling -// Copyright (c) 2010 Felipe Tanus, Boris Schaeling -// Copyright (c) 2011, 2012 Jeff Flinn, Boris Schaeling -// -// Distributed under the Boost Software License, Version 1.0. (See accompanying -// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#define BOOST_TEST_MAIN -#define BOOST_TEST_IGNORE_SIGCHLD -#include <boost/test/included/unit_test.hpp> -#include <boost/process.hpp> -#include <boost/system/error_code.hpp> - -namespace bp = boost::process; -namespace bpi = boost::process::initializers; - -BOOST_AUTO_TEST_CASE(terminate_set_on_error) -{ - using boost::unit_test::framework::master_test_suite; - - boost::system::error_code ec; - bp::child c = bp::execute( - bpi::run_exe(master_test_suite().argv[1]), - bpi::set_cmd_line("test --loop"), - bpi::set_on_error(ec) - ); - BOOST_REQUIRE(!ec); - - bp::terminate(c, ec); - BOOST_CHECK(!ec); -} - -BOOST_AUTO_TEST_CASE(terminate_throw_on_error) -{ - using boost::unit_test::framework::master_test_suite; - - boost::system::error_code ec; - bp::child c = bp::execute( - bpi::run_exe(master_test_suite().argv[1]), - bpi::set_cmd_line("test --loop"), - bpi::set_on_error(ec) - ); - BOOST_REQUIRE(!ec); - - BOOST_CHECK_NO_THROW(bp::terminate(c)); -} diff --git a/plugins/New_GPG/src/include/libs/process/test/throw_on_error.cpp b/plugins/New_GPG/src/include/libs/process/test/throw_on_error.cpp deleted file mode 100644 index 47e5eafb41..0000000000 --- a/plugins/New_GPG/src/include/libs/process/test/throw_on_error.cpp +++ /dev/null @@ -1,28 +0,0 @@ -// Copyright (c) 2006, 2007 Julio M. Merino Vidal -// Copyright (c) 2008 Ilya Sokolov, Boris Schaeling -// Copyright (c) 2009 Boris Schaeling -// Copyright (c) 2010 Felipe Tanus, Boris Schaeling -// Copyright (c) 2011, 2012 Jeff Flinn, Boris Schaeling -// -// Distributed under the Boost Software License, Version 1.0. (See accompanying -// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#define BOOST_TEST_MAIN -#define BOOST_TEST_IGNORE_SIGCHLD -#include <boost/test/included/unit_test.hpp> -#include <boost/process.hpp> -#include <boost/system/system_error.hpp> - -namespace bp = boost::process; -namespace bpi = boost::process::initializers; - -BOOST_AUTO_TEST_CASE(throw_on_error_test) -{ - BOOST_CHECK_THROW( - bp::execute( - bpi::run_exe("doesnt-exist"), - bpi::throw_on_error() - ), - boost::system::system_error - ); -} diff --git a/plugins/New_GPG/src/include/libs/process/test/wait.cpp b/plugins/New_GPG/src/include/libs/process/test/wait.cpp deleted file mode 100644 index 7b60ce4e2e..0000000000 --- a/plugins/New_GPG/src/include/libs/process/test/wait.cpp +++ /dev/null @@ -1,71 +0,0 @@ -// Copyright (c) 2006, 2007 Julio M. Merino Vidal -// Copyright (c) 2008 Ilya Sokolov, Boris Schaeling -// Copyright (c) 2009 Boris Schaeling -// Copyright (c) 2010 Felipe Tanus, Boris Schaeling -// Copyright (c) 2011, 2012 Jeff Flinn, Boris Schaeling -// -// Distributed under the Boost Software License, Version 1.0. (See accompanying -// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#define BOOST_TEST_MAIN -#define BOOST_TEST_IGNORE_SIGCHLD -#include <boost/test/included/unit_test.hpp> -#include <boost/process.hpp> -#include <boost/system/error_code.hpp> -#include <boost/asio.hpp> -#if defined(BOOST_POSIX_API) -# include <signal.h> -#endif - -namespace bp = boost::process; -namespace bpi = boost::process::initializers; - -BOOST_AUTO_TEST_CASE(sync_wait) -{ - using boost::unit_test::framework::master_test_suite; - - boost::system::error_code ec; - bp::child c = bp::execute( - bpi::run_exe(master_test_suite().argv[1]), - bpi::set_cmd_line("test --wait 1"), - bpi::set_on_error(ec) - ); - BOOST_REQUIRE(!ec); - - bp::wait_for_exit(c); -} - -struct wait_handler -{ -#if defined(BOOST_WINDOWS_API) - void operator()(const boost::system::error_code&) {} -#elif defined(BOOST_POSIX_API) - void operator()(const boost::system::error_code&, int) {} -#endif -}; - -BOOST_AUTO_TEST_CASE(async_wait) -{ - using boost::unit_test::framework::master_test_suite; - using namespace boost::asio; - - boost::system::error_code ec; - bp::child c = bp::execute( - bpi::run_exe(master_test_suite().argv[1]), - bpi::set_cmd_line("test --wait 1"), - bpi::set_on_error(ec) - ); - BOOST_REQUIRE(!ec); - - boost::asio::io_service io_service; - -#if defined(BOOST_WINDOWS_API) - windows::object_handle handle(io_service, c.process_handle()); - handle.async_wait(wait_handler()); -#elif defined(BOOST_POSIX_API) - signal_set set(io_service, SIGCHLD); - set.async_wait(wait_handler()); -#endif - - io_service.run(); -} diff --git a/plugins/New_GPG/src/include/libs/process/test/windows_specific.cpp b/plugins/New_GPG/src/include/libs/process/test/windows_specific.cpp deleted file mode 100644 index c0c69e085a..0000000000 --- a/plugins/New_GPG/src/include/libs/process/test/windows_specific.cpp +++ /dev/null @@ -1,53 +0,0 @@ -// Copyright (c) 2006, 2007 Julio M. Merino Vidal -// Copyright (c) 2008 Ilya Sokolov, Boris Schaeling -// Copyright (c) 2009 Boris Schaeling -// Copyright (c) 2010 Felipe Tanus, Boris Schaeling -// Copyright (c) 2011, 2012 Jeff Flinn, Boris Schaeling -// -// Distributed under the Boost Software License, Version 1.0. (See accompanying -// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#define BOOST_TEST_MAIN -#define BOOST_TEST_IGNORE_SIGCHLD -#include <boost/test/included/unit_test.hpp> -#include <boost/process.hpp> -#include <boost/system/error_code.hpp> -#include <boost/iostreams/device/file_descriptor.hpp> -#include <boost/iostreams/stream.hpp> -#include <Windows.h> - -namespace bp = boost::process; -namespace bpi = boost::process::initializers; -namespace bio = boost::iostreams; - -void set_flags(bp::executor &e) -{ - e.startup_info.dwFlags |= STARTF_FORCEOFFFEEDBACK; -} - -BOOST_AUTO_TEST_CASE(flags) -{ - using boost::unit_test::framework::master_test_suite; - - bp::pipe p = bp::create_pipe(); - - { - bio::file_descriptor_sink sink(p.sink, bio::close_handle); - boost::system::error_code ec; - bp::execute( - bpi::run_exe(master_test_suite().argv[1]), - bpi::set_cmd_line("test --windows-print-flags"), - bpi::bind_stdout(sink), - bpi::on_CreateProcess_setup(set_flags), - bpi::set_on_error(ec) - ); - BOOST_CHECK(!ec); - } - - bio::file_descriptor_source source(p.source, bio::close_handle); - bio::stream<bio::file_descriptor_source> is(source); - - int i; - is >> i; - BOOST_CHECK_EQUAL(i, STARTF_USESTDHANDLES | STARTF_FORCEOFFFEEDBACK); -} |
