| Line | Branch | Exec | Source |
|---|---|---|---|
| 1 | #include "gate/tests.hpp" | ||
| 2 | #include "gate/net/sockets.hpp" | ||
| 3 | #include "gate/net/sockettools.hpp" | ||
| 4 | #include "gate/synchronization.hpp" | ||
| 5 | |||
| 6 | using namespace gate; | ||
| 7 | using namespace gate::net; | ||
| 8 | |||
| 9 | 2 | static void testUdpCommunication(Socket& s1, Socket& s2, String const& addr1, String const& addr2) | |
| 10 | { | ||
| 11 |
1/2✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
|
2 | Socket::Endpoint ep1 = Socket::parseAddress(addr1); |
| 12 |
1/2✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
|
2 | Socket::Endpoint ep2 = Socket::parseAddress(addr2); |
| 13 | |||
| 14 |
5/14✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 2 times.
✗ Branch 8 not taken.
✓ Branch 9 taken 2 times.
✗ Branch 10 not taken.
✓ Branch 12 taken 2 times.
✗ Branch 13 not taken.
✗ Branch 15 not taken.
✗ Branch 16 not taken.
✗ Branch 18 not taken.
✗ Branch 19 not taken.
|
2 | GATEXX_TEST_CHECK(ep1.getFamily() != Socket::Family_None); |
| 15 |
5/14✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 2 times.
✗ Branch 8 not taken.
✓ Branch 9 taken 2 times.
✗ Branch 10 not taken.
✓ Branch 12 taken 2 times.
✗ Branch 13 not taken.
✗ Branch 15 not taken.
✗ Branch 16 not taken.
✗ Branch 18 not taken.
✗ Branch 19 not taken.
|
2 | GATEXX_TEST_CHECK(ep2.getFamily() != Socket::Family_None); |
| 16 | |||
| 17 |
4/12✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 2 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 2 times.
✗ Branch 11 not taken.
✗ Branch 14 not taken.
✗ Branch 15 not taken.
✗ Branch 17 not taken.
✗ Branch 18 not taken.
|
2 | GATEXX_TEST_REQUIRE_NOTHROW(s1.bind(ep1)); |
| 18 |
4/12✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 2 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 2 times.
✗ Branch 11 not taken.
✗ Branch 14 not taken.
✗ Branch 15 not taken.
✗ Branch 17 not taken.
✗ Branch 18 not taken.
|
2 | GATEXX_TEST_REQUIRE_NOTHROW(s2.bind(addr2)); |
| 19 | |||
| 20 |
4/12✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 2 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 2 times.
✗ Branch 11 not taken.
✗ Branch 14 not taken.
✗ Branch 15 not taken.
✗ Branch 17 not taken.
✗ Branch 18 not taken.
|
2 | GATEXX_TEST_REQUIRE_NOTHROW(s2.setOption(Socket::Option_ReceiveTimeout, 5000)); |
| 21 | |||
| 22 | static char const* sendText = "Hello"; | ||
| 23 | static gate::size_t sendTextLen = 5; | ||
| 24 | |||
| 25 | 2 | gate::size_t bytes_sent = 0; | |
| 26 |
4/14✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 2 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 2 times.
✗ Branch 11 not taken.
✗ Branch 14 not taken.
✗ Branch 15 not taken.
✗ Branch 17 not taken.
✗ Branch 18 not taken.
✗ Branch 20 not taken.
✗ Branch 21 not taken.
|
2 | GATEXX_TEST_CHECK_NOTHROW(bytes_sent = s1.sendTo(ep2, sendText, sendTextLen)); |
| 27 |
4/12✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 2 times.
✗ Branch 7 not taken.
✓ Branch 9 taken 2 times.
✗ Branch 10 not taken.
✗ Branch 12 not taken.
✗ Branch 13 not taken.
✗ Branch 15 not taken.
✗ Branch 16 not taken.
|
2 | GATEXX_TEST_CHECK_EQUAL(bytes_sent, sendTextLen); |
| 28 | |||
| 29 |
1/2✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
|
2 | Socket::Endpoint remoteEp; |
| 30 | char buffer[32]; | ||
| 31 | 2 | gate::size_t bytes_received = 0; | |
| 32 |
4/14✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 2 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 2 times.
✗ Branch 11 not taken.
✗ Branch 14 not taken.
✗ Branch 15 not taken.
✗ Branch 17 not taken.
✗ Branch 18 not taken.
✗ Branch 20 not taken.
✗ Branch 21 not taken.
|
2 | GATEXX_TEST_CHECK_NOTHROW(bytes_received = s2.receiveFrom(remoteEp, buffer, sizeof(buffer))); |
| 33 |
4/12✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 2 times.
✗ Branch 7 not taken.
✓ Branch 9 taken 2 times.
✗ Branch 10 not taken.
✗ Branch 12 not taken.
✗ Branch 13 not taken.
✗ Branch 15 not taken.
✗ Branch 16 not taken.
|
2 | GATEXX_TEST_CHECK_EQUAL(bytes_received, sendTextLen); |
| 34 |
5/14✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 2 times.
✗ Branch 8 not taken.
✓ Branch 9 taken 2 times.
✗ Branch 10 not taken.
✓ Branch 12 taken 2 times.
✗ Branch 13 not taken.
✗ Branch 15 not taken.
✗ Branch 16 not taken.
✗ Branch 18 not taken.
✗ Branch 19 not taken.
|
2 | GATEXX_TEST_CHECK(gate_str_compare(buffer, bytes_received, sendText, sendTextLen) == 0); |
| 35 | |||
| 36 |
3/12✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
✓ Branch 8 taken 2 times.
✗ Branch 9 not taken.
✗ Branch 12 not taken.
✗ Branch 13 not taken.
✗ Branch 15 not taken.
✗ Branch 16 not taken.
✗ Branch 18 not taken.
✗ Branch 19 not taken.
|
2 | GATEXX_TEST_CHECK_NOTHROW(s1.close()); |
| 37 |
3/12✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
✓ Branch 8 taken 2 times.
✗ Branch 9 not taken.
✗ Branch 12 not taken.
✗ Branch 13 not taken.
✗ Branch 15 not taken.
✗ Branch 16 not taken.
✗ Branch 18 not taken.
✗ Branch 19 not taken.
|
2 | GATEXX_TEST_CHECK_NOTHROW(s2.close()); |
| 38 | 2 | } | |
| 39 | |||
| 40 |
2/7✓ Branch 2 taken 1 times.
✓ Branch 3 taken 1 times.
✗ Branch 4 not taken.
✗ Branch 11 not taken.
✗ Branch 12 not taken.
✗ Branch 14 not taken.
✗ Branch 15 not taken.
|
6 | GATEXX_TEST_UNIT(Udp4Sockets) |
| 41 | { | ||
| 42 | 4 | String addr1; | |
| 43 | { | ||
| 44 |
3/8✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 3 taken 1 times.
✗ Branch 4 not taken.
✓ Branch 6 taken 1 times.
✗ Branch 7 not taken.
✗ Branch 9 not taken.
✗ Branch 10 not taken.
|
2 | static const Socket::Ip4Address ip1(127, 0, 0, 1); |
| 45 |
3/8✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 3 taken 1 times.
✗ Branch 4 not taken.
✓ Branch 6 taken 1 times.
✗ Branch 7 not taken.
✗ Branch 9 not taken.
✗ Branch 10 not taken.
|
2 | static const Socket::Endpoint ep1(ip1, 34567); |
| 46 |
4/14✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 12 taken 1 times.
✗ Branch 13 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
✗ Branch 19 not taken.
✗ Branch 20 not taken.
✗ Branch 22 not taken.
✗ Branch 23 not taken.
|
2 | GATEXX_TEST_CHECK_NOTHROW(addr1 = Socket::printAddress(ep1)); |
| 47 | } | ||
| 48 |
2/4✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 3 taken 1 times.
✗ Branch 4 not taken.
|
2 | static StaticString const addr2 = "127.0.0.1:45678"; |
| 49 | |||
| 50 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
4 | Socket s1(Socket::SocketType_Udp4); |
| 51 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
4 | Socket s2(Socket::Family_Inet4, Socket::MsgType_Datagram, Socket::Protocol_Udp); |
| 52 | |||
| 53 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
2 | testUdpCommunication(s1, s2, addr1, addr2); |
| 54 | 2 | } | |
| 55 | |||
| 56 |
2/7✓ Branch 2 taken 1 times.
✓ Branch 3 taken 1 times.
✗ Branch 4 not taken.
✗ Branch 11 not taken.
✗ Branch 12 not taken.
✗ Branch 14 not taken.
✗ Branch 15 not taken.
|
6 | GATEXX_TEST_UNIT(Udp6Sockets) |
| 57 | { | ||
| 58 |
2/4✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 times.
|
2 | if (!Socket::hasSupportFor(Socket::Family_Inet6)) |
| 59 | { | ||
| 60 | ✗ | return; | |
| 61 | } | ||
| 62 | |||
| 63 | 4 | String addr1; | |
| 64 | { | ||
| 65 |
3/8✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 3 taken 1 times.
✗ Branch 4 not taken.
✓ Branch 6 taken 1 times.
✗ Branch 7 not taken.
✗ Branch 9 not taken.
✗ Branch 10 not taken.
|
2 | static const Socket::Ip6Address ip1(0, 0, 0, 0, 0, 0, 0, 1); |
| 66 |
3/8✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 3 taken 1 times.
✗ Branch 4 not taken.
✓ Branch 6 taken 1 times.
✗ Branch 7 not taken.
✗ Branch 9 not taken.
✗ Branch 10 not taken.
|
2 | static const Socket::Endpoint ep1(ip1, 34567); |
| 67 |
4/14✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 12 taken 1 times.
✗ Branch 13 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
✗ Branch 19 not taken.
✗ Branch 20 not taken.
✗ Branch 22 not taken.
✗ Branch 23 not taken.
|
2 | GATEXX_TEST_CHECK_NOTHROW(addr1 = Socket::printAddress(ep1)); |
| 68 | } | ||
| 69 |
2/4✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 3 taken 1 times.
✗ Branch 4 not taken.
|
2 | static StaticString const addr2 = "[::1]:45678"; |
| 70 | |||
| 71 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
4 | Socket s1(Socket::SocketType_Udp6); |
| 72 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
4 | Socket s2(Socket::Family_Inet6, Socket::MsgType_Datagram, Socket::Protocol_Udp); |
| 73 | |||
| 74 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
2 | testUdpCommunication(s1, s2, addr1, addr2); |
| 75 | } | ||
| 76 | |||
| 77 | |||
| 78 | 2 | static void testSendReceive(Socket& sender, Socket& receiver, char const* text, gate::size_t textlen) | |
| 79 | { | ||
| 80 | char buffer[4096]; | ||
| 81 | 2 | gate::size_t offset_in = 0; | |
| 82 | 2 | gate::size_t offset_out = 0; | |
| 83 | |||
| 84 |
3/4✓ Branch 0 taken 2 times.
✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 2 times.
|
4 | while ((offset_in < textlen) || (offset_out < textlen)) |
| 85 | { | ||
| 86 |
1/2✓ Branch 0 taken 2 times.
✗ Branch 1 not taken.
|
2 | if (offset_in < textlen) |
| 87 | { | ||
| 88 | 2 | gate::size_t sent = 0; | |
| 89 |
4/14✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 2 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 2 times.
✗ Branch 11 not taken.
✗ Branch 14 not taken.
✗ Branch 15 not taken.
✗ Branch 17 not taken.
✗ Branch 18 not taken.
✗ Branch 20 not taken.
✗ Branch 21 not taken.
|
2 | GATEXX_TEST_CHECK_NOTHROW(sent = sender.send(&text[offset_in], textlen - offset_in)); |
| 90 |
4/12✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 2 times.
✗ Branch 7 not taken.
✓ Branch 9 taken 2 times.
✗ Branch 10 not taken.
✗ Branch 12 not taken.
✗ Branch 13 not taken.
✗ Branch 15 not taken.
✗ Branch 16 not taken.
|
2 | GATEXX_TEST_REQUIRE(sent > 0); |
| 91 | 2 | offset_in += sent; | |
| 92 | } | ||
| 93 | |||
| 94 | 2 | gate::size_t received = 0; | |
| 95 |
4/14✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 2 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 2 times.
✗ Branch 11 not taken.
✗ Branch 14 not taken.
✗ Branch 15 not taken.
✗ Branch 17 not taken.
✗ Branch 18 not taken.
✗ Branch 20 not taken.
✗ Branch 21 not taken.
|
2 | GATEXX_TEST_CHECK_NOTHROW(received = receiver.receive(&buffer[offset_out], textlen - offset_out)); |
| 96 |
4/12✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 2 times.
✗ Branch 7 not taken.
✓ Branch 9 taken 2 times.
✗ Branch 10 not taken.
✗ Branch 12 not taken.
✗ Branch 13 not taken.
✗ Branch 15 not taken.
✗ Branch 16 not taken.
|
2 | GATEXX_TEST_REQUIRE(received > 0); |
| 97 | 2 | offset_out += received; | |
| 98 | } | ||
| 99 | |||
| 100 |
4/12✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 2 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 2 times.
✗ Branch 11 not taken.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
|
2 | GATEXX_TEST_CHECK(Mem::compare(text, buffer, textlen) == 0); |
| 101 | 2 | } | |
| 102 | |||
| 103 | 2 | static void testTcpServerClient(Socket& server, Socket& client, String const& server_address) | |
| 104 | { | ||
| 105 |
4/14✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 2 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 2 times.
✗ Branch 11 not taken.
✗ Branch 14 not taken.
✗ Branch 15 not taken.
✗ Branch 17 not taken.
✗ Branch 18 not taken.
✗ Branch 20 not taken.
✗ Branch 21 not taken.
|
2 | GATEXX_TEST_CHECK_NOTHROW(server.bind(server_address)); |
| 106 |
4/14✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 2 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 2 times.
✗ Branch 11 not taken.
✗ Branch 14 not taken.
✗ Branch 15 not taken.
✗ Branch 17 not taken.
✗ Branch 18 not taken.
✗ Branch 20 not taken.
✗ Branch 21 not taken.
|
2 | GATEXX_TEST_CHECK_NOTHROW(server.listen()); |
| 107 | |||
| 108 |
4/14✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 2 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 2 times.
✗ Branch 11 not taken.
✗ Branch 14 not taken.
✗ Branch 15 not taken.
✗ Branch 17 not taken.
✗ Branch 18 not taken.
✗ Branch 20 not taken.
✗ Branch 21 not taken.
|
2 | GATEXX_TEST_CHECK_NOTHROW(client.setOption(Socket::Option_Blocking, 0)); |
| 109 |
4/14✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 2 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 2 times.
✗ Branch 11 not taken.
✗ Branch 14 not taken.
✗ Branch 15 not taken.
✗ Branch 17 not taken.
✗ Branch 18 not taken.
✗ Branch 20 not taken.
✗ Branch 21 not taken.
|
2 | GATEXX_TEST_CHECK_NOTHROW(client.setOption(Socket::Option_ReceiveTimeout, 5000)); |
| 110 |
4/14✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 2 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 2 times.
✗ Branch 11 not taken.
✗ Branch 14 not taken.
✗ Branch 15 not taken.
✗ Branch 17 not taken.
✗ Branch 18 not taken.
✗ Branch 20 not taken.
✗ Branch 21 not taken.
|
2 | GATEXX_TEST_CHECK_NOTHROW(client.setOption(Socket::Option_SendTimeout, 5000)); |
| 111 | |||
| 112 |
4/14✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 2 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 2 times.
✗ Branch 11 not taken.
✗ Branch 14 not taken.
✗ Branch 15 not taken.
✗ Branch 17 not taken.
✗ Branch 18 not taken.
✗ Branch 20 not taken.
✗ Branch 21 not taken.
|
2 | GATEXX_TEST_CHECK_NOTHROW(client.connect(server_address)); |
| 113 | |||
| 114 | 2 | bool_t canRead = true, canWrite = true, hasError = true; | |
| 115 |
4/14✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 2 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 2 times.
✗ Branch 11 not taken.
✗ Branch 14 not taken.
✗ Branch 15 not taken.
✗ Branch 17 not taken.
✗ Branch 18 not taken.
✗ Branch 20 not taken.
✗ Branch 21 not taken.
|
2 | GATEXX_TEST_CHECK_NOTHROW(server.select(&canRead, &canWrite, &hasError, 1000)); |
| 116 |
4/12✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 2 times.
✗ Branch 7 not taken.
✓ Branch 9 taken 2 times.
✗ Branch 10 not taken.
✗ Branch 12 not taken.
✗ Branch 13 not taken.
✗ Branch 15 not taken.
✗ Branch 16 not taken.
|
2 | GATEXX_TEST_CHECK_EQUAL(canRead, true); |
| 117 |
4/12✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 2 times.
✗ Branch 7 not taken.
✓ Branch 9 taken 2 times.
✗ Branch 10 not taken.
✗ Branch 12 not taken.
✗ Branch 13 not taken.
✗ Branch 15 not taken.
✗ Branch 16 not taken.
|
2 | GATEXX_TEST_CHECK_EQUAL(canWrite, false); |
| 118 |
4/12✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 2 times.
✗ Branch 7 not taken.
✓ Branch 9 taken 2 times.
✗ Branch 10 not taken.
✗ Branch 12 not taken.
✗ Branch 13 not taken.
✗ Branch 15 not taken.
✗ Branch 16 not taken.
|
2 | GATEXX_TEST_CHECK_EQUAL(hasError, false); |
| 119 | |||
| 120 |
1/2✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
|
4 | Socket serverside; |
| 121 |
4/14✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 2 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 2 times.
✗ Branch 11 not taken.
✗ Branch 14 not taken.
✗ Branch 15 not taken.
✗ Branch 17 not taken.
✗ Branch 18 not taken.
✗ Branch 20 not taken.
✗ Branch 21 not taken.
|
2 | GATEXX_TEST_CHECK_NOTHROW(server.accept(serverside)); |
| 122 | |||
| 123 | 2 | canRead = canWrite = hasError = true; | |
| 124 |
4/14✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 2 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 2 times.
✗ Branch 11 not taken.
✗ Branch 14 not taken.
✗ Branch 15 not taken.
✗ Branch 17 not taken.
✗ Branch 18 not taken.
✗ Branch 20 not taken.
✗ Branch 21 not taken.
|
2 | GATEXX_TEST_CHECK_NOTHROW(client.select(&canRead, &canWrite, &hasError, 1000)); |
| 125 |
4/12✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 2 times.
✗ Branch 7 not taken.
✓ Branch 9 taken 2 times.
✗ Branch 10 not taken.
✗ Branch 12 not taken.
✗ Branch 13 not taken.
✗ Branch 15 not taken.
✗ Branch 16 not taken.
|
2 | GATEXX_TEST_CHECK_EQUAL(canRead, false); |
| 126 |
4/12✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 2 times.
✗ Branch 7 not taken.
✓ Branch 9 taken 2 times.
✗ Branch 10 not taken.
✗ Branch 12 not taken.
✗ Branch 13 not taken.
✗ Branch 15 not taken.
✗ Branch 16 not taken.
|
2 | GATEXX_TEST_CHECK_EQUAL(canWrite, true); |
| 127 |
4/12✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 2 times.
✗ Branch 7 not taken.
✓ Branch 9 taken 2 times.
✗ Branch 10 not taken.
✗ Branch 12 not taken.
✗ Branch 13 not taken.
✗ Branch 15 not taken.
✗ Branch 16 not taken.
|
2 | GATEXX_TEST_CHECK_EQUAL(hasError, false); |
| 128 | |||
| 129 |
4/14✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 2 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 2 times.
✗ Branch 11 not taken.
✗ Branch 14 not taken.
✗ Branch 15 not taken.
✗ Branch 17 not taken.
✗ Branch 18 not taken.
✗ Branch 20 not taken.
✗ Branch 21 not taken.
|
2 | GATEXX_TEST_CHECK_NOTHROW(client.setOption(Socket::Option_Blocking, 1)); |
| 130 | |||
| 131 | 4 | String localAddr; | |
| 132 |
4/14✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 2 times.
✗ Branch 8 not taken.
✓ Branch 12 taken 2 times.
✗ Branch 13 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
✗ Branch 19 not taken.
✗ Branch 20 not taken.
✗ Branch 22 not taken.
✗ Branch 23 not taken.
|
2 | GATEXX_TEST_CHECK_NOTHROW(localAddr = client.getLocalAddress()); |
| 133 |
4/12✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 2 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 2 times.
✗ Branch 11 not taken.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
|
2 | GATEXX_TEST_CHECK(!localAddr.empty()); |
| 134 | |||
| 135 | 4 | String removeAddr; | |
| 136 |
4/14✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 2 times.
✗ Branch 8 not taken.
✓ Branch 12 taken 2 times.
✗ Branch 13 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
✗ Branch 19 not taken.
✗ Branch 20 not taken.
✗ Branch 22 not taken.
✗ Branch 23 not taken.
|
2 | GATEXX_TEST_CHECK_NOTHROW(removeAddr = client.getRemoteAddress()); |
| 137 |
4/12✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 2 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 2 times.
✗ Branch 11 not taken.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
|
2 | GATEXX_TEST_CHECK(!removeAddr.empty()); |
| 138 | |||
| 139 |
3/4✓ Branch 0 taken 1 times.
✓ Branch 1 taken 1 times.
✓ Branch 3 taken 1 times.
✗ Branch 4 not taken.
|
2 | static const StaticString testMessage = "Hello world, world of hellos"; |
| 140 |
1/2✓ Branch 3 taken 2 times.
✗ Branch 4 not taken.
|
2 | testSendReceive(client, serverside, testMessage.c_str(), testMessage.length()); |
| 141 | |||
| 142 |
4/14✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 2 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 2 times.
✗ Branch 11 not taken.
✗ Branch 14 not taken.
✗ Branch 15 not taken.
✗ Branch 17 not taken.
✗ Branch 18 not taken.
✗ Branch 20 not taken.
✗ Branch 21 not taken.
|
2 | GATEXX_TEST_CHECK_NOTHROW(client.shutdown(false, true)); |
| 143 | 2 | char dummy = 0; | |
| 144 | 2 | gate::size_t zeroReceived = 0; | |
| 145 |
4/14✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 2 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 2 times.
✗ Branch 11 not taken.
✗ Branch 14 not taken.
✗ Branch 15 not taken.
✗ Branch 17 not taken.
✗ Branch 18 not taken.
✗ Branch 20 not taken.
✗ Branch 21 not taken.
|
2 | GATEXX_TEST_CHECK_NOTHROW(zeroReceived = serverside.receive(&dummy, 1)); |
| 146 |
4/12✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 2 times.
✗ Branch 7 not taken.
✓ Branch 9 taken 2 times.
✗ Branch 10 not taken.
✗ Branch 12 not taken.
✗ Branch 13 not taken.
✗ Branch 15 not taken.
✗ Branch 16 not taken.
|
2 | GATEXX_TEST_CHECK_EQUAL(zeroReceived, 0); |
| 147 |
4/14✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 2 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 2 times.
✗ Branch 11 not taken.
✗ Branch 14 not taken.
✗ Branch 15 not taken.
✗ Branch 17 not taken.
✗ Branch 18 not taken.
✗ Branch 20 not taken.
✗ Branch 21 not taken.
|
2 | GATEXX_TEST_CHECK_NOTHROW(serverside.shutdown(false, true)); |
| 148 | |||
| 149 |
3/12✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
✓ Branch 8 taken 2 times.
✗ Branch 9 not taken.
✗ Branch 12 not taken.
✗ Branch 13 not taken.
✗ Branch 15 not taken.
✗ Branch 16 not taken.
✗ Branch 18 not taken.
✗ Branch 19 not taken.
|
2 | GATEXX_TEST_CHECK_NOTHROW(client.close()); |
| 150 |
3/12✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
✓ Branch 8 taken 2 times.
✗ Branch 9 not taken.
✗ Branch 12 not taken.
✗ Branch 13 not taken.
✗ Branch 15 not taken.
✗ Branch 16 not taken.
✗ Branch 18 not taken.
✗ Branch 19 not taken.
|
2 | GATEXX_TEST_CHECK_NOTHROW(serverside.close()); |
| 151 |
3/12✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
✓ Branch 8 taken 2 times.
✗ Branch 9 not taken.
✗ Branch 12 not taken.
✗ Branch 13 not taken.
✗ Branch 15 not taken.
✗ Branch 16 not taken.
✗ Branch 18 not taken.
✗ Branch 19 not taken.
|
2 | GATEXX_TEST_CHECK_NOTHROW(server.close()); |
| 152 | 2 | } | |
| 153 | |||
| 154 |
2/7✓ Branch 2 taken 1 times.
✓ Branch 3 taken 1 times.
✗ Branch 4 not taken.
✗ Branch 11 not taken.
✗ Branch 12 not taken.
✗ Branch 14 not taken.
✗ Branch 15 not taken.
|
6 | GATEXX_TEST_UNIT(Tcp4Sockets) |
| 155 | { | ||
| 156 |
2/4✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 3 taken 1 times.
✗ Branch 4 not taken.
|
2 | static const StaticString server_addr("127.0.0.1:56789"); |
| 157 | |||
| 158 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
4 | Socket server(Socket::SocketType_Tcp4); |
| 159 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
4 | Socket client(Socket::Family_Inet4, Socket::MsgType_Stream, Socket::Protocol_Tcp); |
| 160 | |||
| 161 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
2 | testTcpServerClient(server, client, server_addr); |
| 162 | 2 | } | |
| 163 | |||
| 164 | |||
| 165 |
2/7✓ Branch 2 taken 1 times.
✓ Branch 3 taken 1 times.
✗ Branch 4 not taken.
✗ Branch 11 not taken.
✗ Branch 12 not taken.
✗ Branch 14 not taken.
✗ Branch 15 not taken.
|
6 | GATEXX_TEST_UNIT(Tcp6Sockets) |
| 166 | { | ||
| 167 |
2/4✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 times.
|
2 | if (!Socket::hasSupportFor(Socket::Family_Inet6)) |
| 168 | { | ||
| 169 | ✗ | return; | |
| 170 | } | ||
| 171 | |||
| 172 |
2/4✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 3 taken 1 times.
✗ Branch 4 not taken.
|
2 | static const StaticString server_addr("[::1]:56789"); |
| 173 | |||
| 174 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
4 | Socket server(Socket::SocketType_Tcp6); |
| 175 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
4 | Socket client(Socket::Family_Inet6, Socket::MsgType_Stream, Socket::Protocol_Tcp); |
| 176 | |||
| 177 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
2 | testTcpServerClient(server, client, server_addr); |
| 178 | } | ||
| 179 | |||
| 180 | |||
| 181 | class GATE_API_LOCAL TestQueueHandler : public DataQueueSink | ||
| 182 | { | ||
| 183 | public: | ||
| 184 | SocketQueue queue; | ||
| 185 | SocketQueue::channel_id_t idServer; | ||
| 186 | SocketQueue::channel_id_t idServerConnection; | ||
| 187 | SocketQueue::channel_id_t idIncorrect; | ||
| 188 | SocketQueue::channel_id_t idClient; | ||
| 189 | SyncEvent tasksCompleted; | ||
| 190 | AtomicInt taskCounter; | ||
| 191 | |||
| 192 | 1 | explicit TestQueueHandler(SocketQueue socketQueue) | |
| 193 | 1 | : queue(socketQueue), | |
| 194 | idServer(0), idServerConnection(0), idIncorrect(0), idClient(0), | ||
| 195 |
2/4✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 5 taken 1 times.
✗ Branch 6 not taken.
|
1 | tasksCompleted(false) |
| 196 | { | ||
| 197 | 1 | } | |
| 198 | |||
| 199 | 2 | virtual ~TestQueueHandler() noexcept | |
| 200 | 2 | { | |
| 201 | 2 | } | |
| 202 | |||
| 203 | private: | ||
| 204 | |||
| 205 | 5 | void notifyTaskCompleted() | |
| 206 | { | ||
| 207 | 5 | int32_t const completedTasks = ++this->taskCounter; | |
| 208 |
2/2✓ Branch 0 taken 1 times.
✓ Branch 1 taken 4 times.
|
5 | if (completedTasks == 5) |
| 209 | { | ||
| 210 | 1 | tasksCompleted.set(); | |
| 211 | } | ||
| 212 | 5 | } | |
| 213 | |||
| 214 | 1 | void onOpen(channel_id_t channel_id, char const* address, gate::size_t addressLength, void* userParam) override | |
| 215 | { | ||
| 216 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | if(userParam == &this->idClient) |
| 217 | { | ||
| 218 | 1 | this->notifyTaskCompleted(); | |
| 219 |
2/8✓ Branch 3 taken 1 times.
✗ Branch 4 not taken.
✓ Branch 6 taken 1 times.
✗ Branch 7 not taken.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
|
1 | GATEXX_TEST_CHECK_NOTHROW(this->queue.beginWrite(this->idClient, "Hello", 5, &this->idClient)); |
| 220 | } | ||
| 221 | 1 | } | |
| 222 | |||
| 223 | 1 | void onOpenFailed(channel_id_t channel_id, result_t result, char const* errorMsg, gate::size_t errorMsgLength, void* userParam) override | |
| 224 | { | ||
| 225 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | if(userParam == &this->idIncorrect) |
| 226 | { | ||
| 227 |
1/2✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
|
1 | GATEXX_TEST_CHECK_EQUAL(channel_id, this->idIncorrect); |
| 228 | 1 | this->notifyTaskCompleted(); | |
| 229 | } | ||
| 230 | 1 | } | |
| 231 | |||
| 232 | 1 | void onOpenNew(channel_id_t channel_id, char const* address, gate::size_t addressLength, void* userParam) override | |
| 233 | { | ||
| 234 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | if(userParam == &this->idServer) |
| 235 | { | ||
| 236 | 1 | this->idServerConnection = channel_id; | |
| 237 | 1 | this->notifyTaskCompleted(); | |
| 238 |
2/8✓ Branch 3 taken 1 times.
✗ Branch 4 not taken.
✓ Branch 6 taken 1 times.
✗ Branch 7 not taken.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
|
1 | GATEXX_TEST_CHECK_NOTHROW(this->queue.beginRead(channel_id, 1024, &this->idServerConnection)); |
| 239 | } | ||
| 240 | 1 | } | |
| 241 | |||
| 242 | 1 | void onReadCompleted(channel_id_t channel_id, char const* buffer, gate::size_t bufferLength, void* userParam) override | |
| 243 | { | ||
| 244 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | if(userParam == &this->idServerConnection) |
| 245 | { | ||
| 246 | 1 | this->notifyTaskCompleted(); | |
| 247 | } | ||
| 248 | 1 | } | |
| 249 | 1 | void onWriteCompleted(channel_id_t channel_id, char const* buffer, gate::size_t bufferLength, void* userParam) override | |
| 250 | { | ||
| 251 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | if(userParam == &this->idClient) |
| 252 | { | ||
| 253 | 1 | this->notifyTaskCompleted(); | |
| 254 | } | ||
| 255 | 1 | } | |
| 256 | }; | ||
| 257 | |||
| 258 |
2/7✓ Branch 2 taken 1 times.
✓ Branch 3 taken 1 times.
✗ Branch 4 not taken.
✗ Branch 11 not taken.
✗ Branch 12 not taken.
✗ Branch 14 not taken.
✗ Branch 15 not taken.
|
6 | GATEXX_TEST_UNIT(SocketQueue) |
| 259 | { | ||
| 260 |
2/4✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 3 taken 1 times.
✗ Branch 4 not taken.
|
2 | static StaticString serverAddress("127.0.0.1:9876"); |
| 261 |
2/4✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 3 taken 1 times.
✗ Branch 4 not taken.
|
2 | static StaticString serverAddressIncorrect("127.0.0.1:9877"); |
| 262 |
2/4✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
|
4 | TestQueueHandler handler(SocketQueue::create(1000)); |
| 263 | { | ||
| 264 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
4 | SocketQueue queue = SocketQueue::create(1000); |
| 265 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
2 | queue = handler.queue; |
| 266 | } | ||
| 267 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
2 | handler.queue.setCallback(handler); |
| 268 | |||
| 269 |
4/14✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 1 times.
✗ Branch 11 not taken.
✗ Branch 14 not taken.
✗ Branch 15 not taken.
✗ Branch 17 not taken.
✗ Branch 18 not taken.
✗ Branch 20 not taken.
✗ Branch 21 not taken.
|
2 | GATEXX_TEST_CHECK_NOTHROW(handler.idServer = handler.queue.open(serverAddress, SocketQueue::Flag_OpenServer, &handler.idServer)); |
| 270 |
4/14✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 1 times.
✗ Branch 11 not taken.
✗ Branch 14 not taken.
✗ Branch 15 not taken.
✗ Branch 17 not taken.
✗ Branch 18 not taken.
✗ Branch 20 not taken.
✗ Branch 21 not taken.
|
2 | GATEXX_TEST_CHECK_NOTHROW(handler.idIncorrect = handler.queue.open(serverAddressIncorrect, SocketQueue::Flag_OpenClient, &handler.idIncorrect)); |
| 271 |
4/14✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 1 times.
✗ Branch 11 not taken.
✗ Branch 14 not taken.
✗ Branch 15 not taken.
✗ Branch 17 not taken.
✗ Branch 18 not taken.
✗ Branch 20 not taken.
✗ Branch 21 not taken.
|
2 | GATEXX_TEST_CHECK_NOTHROW(handler.idClient = handler.queue.open(serverAddress, SocketQueue::Flag_OpenClient, &handler.idClient)); |
| 272 | |||
| 273 |
4/14✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 1 times.
✗ Branch 11 not taken.
✗ Branch 14 not taken.
✗ Branch 15 not taken.
✗ Branch 17 not taken.
✗ Branch 18 not taken.
✗ Branch 20 not taken.
✗ Branch 21 not taken.
|
2 | GATEXX_TEST_CHECK_NOTHROW(handler.queue.start()); |
| 274 |
1/2✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
|
2 | bool completionSignalReceived = handler.tasksCompleted.waitFor(gate::time::Seconds(5)); |
| 275 |
4/14✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 1 times.
✗ Branch 11 not taken.
✗ Branch 14 not taken.
✗ Branch 15 not taken.
✗ Branch 17 not taken.
✗ Branch 18 not taken.
✗ Branch 20 not taken.
✗ Branch 21 not taken.
|
2 | GATEXX_TEST_CHECK_NOTHROW(handler.queue.close(handler.idServer)); |
| 276 |
4/14✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 1 times.
✗ Branch 11 not taken.
✗ Branch 14 not taken.
✗ Branch 15 not taken.
✗ Branch 17 not taken.
✗ Branch 18 not taken.
✗ Branch 20 not taken.
✗ Branch 21 not taken.
|
2 | GATEXX_TEST_CHECK_NOTHROW(handler.queue.closeAll()); |
| 277 |
4/14✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 1 times.
✗ Branch 11 not taken.
✗ Branch 14 not taken.
✗ Branch 15 not taken.
✗ Branch 17 not taken.
✗ Branch 18 not taken.
✗ Branch 20 not taken.
✗ Branch 21 not taken.
|
2 | GATEXX_TEST_CHECK_NOTHROW(handler.queue.stop()); |
| 278 |
4/12✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 1 times.
✗ Branch 7 not taken.
✓ Branch 9 taken 1 times.
✗ Branch 10 not taken.
✗ Branch 12 not taken.
✗ Branch 13 not taken.
✗ Branch 15 not taken.
✗ Branch 16 not taken.
|
2 | GATEXX_TEST_CHECK(completionSignalReceived); |
| 279 | |||
| 280 | { | ||
| 281 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
4 | DataQueueSink sink; |
| 282 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
2 | sink.onStatus(0, 0, 0, NULL, 0, NULL); |
| 283 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
2 | sink.onOpen(0, NULL, 0, NULL); |
| 284 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
2 | sink.onOpenFailed(0, 0, NULL, 0, NULL); |
| 285 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
2 | sink.onOpenNew(0, NULL, 0, NULL); |
| 286 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
2 | sink.onOpenNewFailed(0, 0, NULL, 0, NULL); |
| 287 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
2 | sink.onReadCompleted(0, NULL, 0, NULL); |
| 288 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
2 | sink.onWriteCompleted(0, NULL, 0, NULL); |
| 289 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
2 | sink.onReadError(0, 0, NULL); |
| 290 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
2 | sink.onWriteError(0, 0, NULL); |
| 291 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
2 | sink.onError(0, 0, NULL, 0); |
| 292 | } | ||
| 293 | 2 | } | |
| 294 |