mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-02-23 23:27:21 +01:00
test: improve sock_tests/move_assignment
Use also a socket for the moved-to object and check which one is closed when.
This commit is contained in:
parent
5086a99b84
commit
7df4508369
1 changed files with 18 additions and 6 deletions
|
@ -58,15 +58,27 @@ BOOST_AUTO_TEST_CASE(move_constructor)
|
||||||
|
|
||||||
BOOST_AUTO_TEST_CASE(move_assignment)
|
BOOST_AUTO_TEST_CASE(move_assignment)
|
||||||
{
|
{
|
||||||
const SOCKET s = CreateSocket();
|
const SOCKET s1 = CreateSocket();
|
||||||
Sock* sock1 = new Sock(s);
|
const SOCKET s2 = CreateSocket();
|
||||||
Sock* sock2 = new Sock(INVALID_SOCKET);
|
Sock* sock1 = new Sock(s1);
|
||||||
|
Sock* sock2 = new Sock(s2);
|
||||||
|
|
||||||
|
BOOST_CHECK(!SocketIsClosed(s1));
|
||||||
|
BOOST_CHECK(!SocketIsClosed(s2));
|
||||||
|
|
||||||
*sock2 = std::move(*sock1);
|
*sock2 = std::move(*sock1);
|
||||||
|
BOOST_CHECK(!SocketIsClosed(s1));
|
||||||
|
BOOST_CHECK(SocketIsClosed(s2));
|
||||||
|
BOOST_CHECK(*sock2 == s1);
|
||||||
|
|
||||||
delete sock1;
|
delete sock1;
|
||||||
BOOST_CHECK(!SocketIsClosed(s));
|
BOOST_CHECK(!SocketIsClosed(s1));
|
||||||
BOOST_CHECK(*sock2 == s);
|
BOOST_CHECK(SocketIsClosed(s2));
|
||||||
|
BOOST_CHECK(*sock2 == s1);
|
||||||
|
|
||||||
delete sock2;
|
delete sock2;
|
||||||
BOOST_CHECK(SocketIsClosed(s));
|
BOOST_CHECK(SocketIsClosed(s1));
|
||||||
|
BOOST_CHECK(SocketIsClosed(s2));
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifndef WIN32 // Windows does not have socketpair(2).
|
#ifndef WIN32 // Windows does not have socketpair(2).
|
||||||
|
|
Loading…
Add table
Reference in a new issue