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/exit_code.cpp | |
| 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/exit_code.cpp')
| -rw-r--r-- | plugins/New_GPG/src/include/libs/process/test/exit_code.cpp | 106 |
1 files changed, 0 insertions, 106 deletions
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(); -} |
