mirror of
https://github.com/boostorg/process.git
synced 2026-01-27 07:02:13 +00:00
fix move assignment operators for basic_[io]pstream
This commit is contained in:
106
test/pipe.cpp
106
test/pipe.cpp
@@ -102,6 +102,110 @@ BOOST_AUTO_TEST_CASE(stream, *boost::unit_test::timeout(2))
|
||||
BOOST_CHECK_EQUAL(i, j);
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(stream_move, *boost::unit_test::timeout(2))
|
||||
{
|
||||
|
||||
bp::pipe pipe;
|
||||
|
||||
bp::pstream os(pipe);
|
||||
bp::ipstream is(pipe);
|
||||
|
||||
int i = 42, j = 0, k = 0;
|
||||
|
||||
os << i << std::endl;
|
||||
os << std::endl;
|
||||
is >> j;
|
||||
|
||||
BOOST_CHECK_EQUAL(i, j);
|
||||
|
||||
bp::pstream os2 = std::move(os);
|
||||
bp::ipstream is2 = std::move(is);
|
||||
os2 << i << std::endl;
|
||||
os2 << std::endl;
|
||||
is2 >> k;
|
||||
|
||||
BOOST_CHECK_EQUAL(i, k);
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(ostream_move, *boost::unit_test::timeout(2))
|
||||
{
|
||||
|
||||
bp::pipe pipe;
|
||||
|
||||
bp::opstream os(pipe);
|
||||
bp::ipstream is(pipe);
|
||||
|
||||
int i = 42, j = 0, k = 0;
|
||||
|
||||
os << i << std::endl;
|
||||
os << std::endl;
|
||||
is >> j;
|
||||
|
||||
BOOST_CHECK_EQUAL(i, j);
|
||||
|
||||
bp::opstream os2 = std::move(os);
|
||||
bp::ipstream is2 = std::move(is);
|
||||
os2 << i << std::endl;
|
||||
os2 << std::endl;
|
||||
is2 >> k;
|
||||
|
||||
BOOST_CHECK_EQUAL(i, k);
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(stream_move_assignment, *boost::unit_test::timeout(2))
|
||||
{
|
||||
|
||||
bp::pipe pipe;
|
||||
|
||||
bp::pstream os(pipe);
|
||||
bp::ipstream is(pipe);
|
||||
|
||||
int i = 42, j = 0, k = 0;
|
||||
|
||||
os << i << std::endl;
|
||||
os << std::endl;
|
||||
is >> j;
|
||||
|
||||
BOOST_CHECK_EQUAL(i, j);
|
||||
|
||||
bp::pstream os2;
|
||||
os2 = std::move(os);
|
||||
bp::ipstream is2;
|
||||
is2 = std::move(is);
|
||||
os2 << i << std::endl;
|
||||
os2 << std::endl;
|
||||
is2 >> k;
|
||||
|
||||
BOOST_CHECK_EQUAL(i, k);
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(ostream_move_assignment, *boost::unit_test::timeout(2))
|
||||
{
|
||||
|
||||
bp::pipe pipe;
|
||||
|
||||
bp::opstream os(pipe);
|
||||
bp::ipstream is(pipe);
|
||||
|
||||
int i = 42, j = 0, k = 0;
|
||||
|
||||
os << i << std::endl;
|
||||
os << std::endl;
|
||||
is >> j;
|
||||
|
||||
BOOST_CHECK_EQUAL(i, j);
|
||||
|
||||
bp::opstream os2;
|
||||
os2 = std::move(os);
|
||||
bp::ipstream is2;
|
||||
is2 = std::move(is);
|
||||
os2 << i << std::endl;
|
||||
os2 << std::endl;
|
||||
is2 >> k;
|
||||
|
||||
BOOST_CHECK_EQUAL(i, k);
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(stream_line, *boost::unit_test::timeout(2))
|
||||
{
|
||||
|
||||
@@ -268,4 +372,4 @@ BOOST_AUTO_TEST_CASE(stream_close_scope, *boost::unit_test::timeout(5))
|
||||
}
|
||||
|
||||
|
||||
BOOST_AUTO_TEST_SUITE_END();
|
||||
BOOST_AUTO_TEST_SUITE_END();
|
||||
|
||||
Reference in New Issue
Block a user