| Line | Branch | Exec | Source |
|---|---|---|---|
| 1 | #include "gate/tests.hpp" | ||
| 2 | #include "gate/streams.hpp" | ||
| 3 | |||
| 4 | using namespace gate; | ||
| 5 | |||
| 6 | static StaticString const test_content = "Hello World\n"; | ||
| 7 | |||
| 8 | 5 | static void write_stream(Stream& strm) | |
| 9 | { | ||
| 10 |
2/2✓ Branch 0 taken 500 times.
✓ Branch 1 taken 5 times.
|
505 | for (unsigned n = 0; n != 100; ++n) |
| 11 | { | ||
| 12 | 500 | gate::size_t written = strm.writeBlock(test_content.c_str(), test_content.size()); | |
| 13 |
1/2✓ Branch 3 taken 500 times.
✗ Branch 4 not taken.
|
500 | GATEXX_TEST_CHECK_EQUAL(written, test_content.size()); |
| 14 |
2/8✓ Branch 3 taken 500 times.
✗ Branch 4 not taken.
✓ Branch 6 taken 500 times.
✗ Branch 7 not taken.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
|
500 | GATEXX_TEST_CHECK_NOTHROW(strm.flush()); |
| 15 | } | ||
| 16 | 5 | } | |
| 17 | |||
| 18 | 5 | static void read_stream(Stream& strm) | |
| 19 | { | ||
| 20 | char buffer[1024]; | ||
| 21 |
2/2✓ Branch 0 taken 500 times.
✓ Branch 1 taken 5 times.
|
505 | for (unsigned n = 0; n != 100; ++n) |
| 22 | { | ||
| 23 | 1000 | Result<gate::size_t> peekResult = strm.tryPeek(buffer, test_content.length()); | |
| 24 |
4/12✓ Branch 1 taken 500 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 500 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 500 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 500 times.
✗ Branch 11 not taken.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
|
500 | GATEXX_TEST_CHECK(peekResult.hasValue()); |
| 25 | 500 | gate::size_t lenpeek = 0; | |
| 26 |
4/14✓ Branch 1 taken 500 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 500 times.
✗ Branch 5 not taken.
✓ Branch 8 taken 500 times.
✗ Branch 9 not taken.
✓ Branch 11 taken 500 times.
✗ Branch 12 not taken.
✗ Branch 15 not taken.
✗ Branch 16 not taken.
✗ Branch 18 not taken.
✗ Branch 19 not taken.
✗ Branch 21 not taken.
✗ Branch 22 not taken.
|
500 | GATEXX_TEST_CHECK_NOTHROW(lenpeek = strm.peek(buffer, test_content.length())); |
| 27 |
4/12✓ Branch 1 taken 500 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 500 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 500 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 500 times.
✗ Branch 11 not taken.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
|
500 | GATEXX_TEST_CHECK(lenpeek <= test_content.length()); |
| 28 |
1/2✓ Branch 2 taken 500 times.
✗ Branch 3 not taken.
|
500 | gate::size_t retrieved = strm.readBlock(buffer, test_content.length()); |
| 29 |
4/12✓ Branch 1 taken 500 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 500 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 500 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 500 times.
✗ Branch 11 not taken.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
|
500 | GATEXX_TEST_CHECK_EQUAL(retrieved, test_content.length()); |
| 30 | } | ||
| 31 |
1/2✓ Branch 2 taken 5 times.
✗ Branch 3 not taken.
|
5 | gate::size_t eofretrieved = strm.readBlock(buffer, test_content.length()); |
| 32 |
4/12✓ Branch 1 taken 5 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 5 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 5 times.
✗ Branch 7 not taken.
✓ Branch 9 taken 5 times.
✗ Branch 10 not taken.
✗ Branch 12 not taken.
✗ Branch 13 not taken.
✗ Branch 15 not taken.
✗ Branch 16 not taken.
|
5 | GATEXX_TEST_CHECK(eofretrieved == 0); |
| 33 | 5 | } | |
| 34 | |||
| 35 | 4 | static void common_write_checks(Stream& strm) | |
| 36 | { | ||
| 37 |
1/2✓ Branch 3 taken 4 times.
✗ Branch 4 not taken.
|
4 | GATEXX_TEST_CHECK(strm.c_impl() != NULL); |
| 38 |
1/2✓ Branch 3 taken 4 times.
✗ Branch 4 not taken.
|
4 | GATEXX_TEST_CHECK(!strm.empty()); |
| 39 |
1/2✓ Branch 5 taken 4 times.
✗ Branch 6 not taken.
|
4 | GATEXX_TEST_CHECK(!strm.getInterfaceName().empty()); |
| 40 | 4 | strm.tryWrite("abc", 3); | |
| 41 | 4 | strm.tryWriteBlock("abc", 3); | |
| 42 | 4 | strm.tryFlush(); | |
| 43 | 4 | strm << static_cast<gate::int16_t>(16); | |
| 44 | 4 | strm << static_cast<gate::int32_t>(32); | |
| 45 | 4 | strm << static_cast<gate::int64_t>(64); | |
| 46 | 4 | strm << static_cast<gate::uint16_t>(16); | |
| 47 | 4 | strm << static_cast<gate::uint32_t>(32); | |
| 48 | 4 | strm << static_cast<gate::uint64_t>(64); | |
| 49 | 4 | strm << 3.2f; | |
| 50 | 4 | strm << 6.4; | |
| 51 | 4 | strm << true; | |
| 52 | 4 | strm << "xyz"; | |
| 53 | 4 | strm.println("Hello"); | |
| 54 | 4 | strm.println("World", 5); | |
| 55 | 4 | strm << test_content; | |
| 56 | 4 | strm << test_content.c_impl(); | |
| 57 | 4 | } | |
| 58 | |||
| 59 | ✗ | void memstream_checks(MemStream& strm) | |
| 60 | { | ||
| 61 | |||
| 62 | ✗ | } | |
| 63 | |||
| 64 |
2/7✓ Branch 2 taken 3 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.
|
10 | GATEXX_TEST_UNIT(MemStream) |
| 65 | { | ||
| 66 | { | ||
| 67 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
4 | MemStream m; |
| 68 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
2 | m.reserve(2); |
| 69 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
2 | m.fill('A', 5); |
| 70 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
2 | m.discard(3); |
| 71 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
2 | m.discardBack(1); |
| 72 |
4/12✓ 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 13 not taken.
✗ Branch 14 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
|
2 | GATEXX_TEST_CHECK(m.c_impl() != NULL); |
| 73 |
5/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 9 taken 1 times.
✗ Branch 10 not taken.
✓ Branch 12 taken 1 times.
✗ Branch 13 not taken.
✗ Branch 15 not taken.
✗ Branch 16 not taken.
✗ Branch 18 not taken.
✗ Branch 19 not taken.
|
2 | GATEXX_TEST_REQUIRE(m.getData()); |
| 74 |
5/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 9 taken 1 times.
✗ Branch 10 not taken.
✓ Branch 12 taken 1 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_EQUAL(*m.getData(), 'A'); |
| 75 |
2/4✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
|
2 | Stream::skip(m, m.size()); |
| 76 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
4 | MemStream m2; |
| 77 | 2 | m.swap(m2); | |
| 78 | 2 | m2.swap(m); | |
| 79 | } | ||
| 80 | { | ||
| 81 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
4 | MemStream m; |
| 82 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
2 | write_stream(m); |
| 83 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
2 | read_stream(m); |
| 84 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
2 | common_write_checks(m); |
| 85 | } | ||
| 86 | |||
| 87 | { | ||
| 88 | char buffer[8192]; | ||
| 89 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
4 | StaticMemStream m(buffer, sizeof(buffer)); |
| 90 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
2 | write_stream(m); |
| 91 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
2 | read_stream(m); |
| 92 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
2 | common_write_checks(m); |
| 93 | |||
| 94 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
4 | StaticMemStream m2 = m; |
| 95 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
4 | StaticMemStream m3(NULL, 0, 0); |
| 96 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
2 | m3 = m2; |
| 97 | } | ||
| 98 | |||
| 99 | { | ||
| 100 | char buffer[8192]; | ||
| 101 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
4 | LocalMemStream m(buffer, sizeof(buffer)); |
| 102 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
2 | write_stream(m); |
| 103 |
5/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 9 taken 1 times.
✗ Branch 10 not taken.
✓ Branch 12 taken 1 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(m.getData() != NULL); |
| 104 |
5/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 9 taken 1 times.
✗ Branch 10 not taken.
✓ Branch 12 taken 1 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(m.size() != 0); |
| 105 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
2 | read_stream(m); |
| 106 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
2 | common_write_checks(m); |
| 107 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
2 | m.discard(1); |
| 108 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
2 | m.discardBack(1); |
| 109 | } | ||
| 110 | |||
| 111 | { | ||
| 112 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
4 | MemFileStream m; |
| 113 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
2 | write_stream(m); |
| 114 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
4 | MemFileStream m2 = m.share(); |
| 115 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
2 | m2.seek(0, GATE_STREAM_SEEK_BEGIN); |
| 116 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
2 | m2.reset(); |
| 117 |
5/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 9 taken 1 times.
✗ Branch 10 not taken.
✓ Branch 12 taken 1 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(m2.getAvailable() > 0); |
| 118 |
5/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 9 taken 1 times.
✗ Branch 10 not taken.
✓ Branch 12 taken 1 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(m2.getSize() > 0); |
| 119 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
2 | read_stream(m2); |
| 120 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
2 | common_write_checks(m); |
| 121 |
5/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 9 taken 1 times.
✗ Branch 10 not taken.
✓ Branch 12 taken 1 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(m2.canRead()); |
| 122 |
5/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 9 taken 1 times.
✗ Branch 10 not taken.
✓ Branch 12 taken 1 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(m2.canWrite()); |
| 123 | } | ||
| 124 | |||
| 125 | { | ||
| 126 | static char mem_block[] = "Hello World, World of Hellos"; | ||
| 127 | static gate_size_t mem_block_len = sizeof(mem_block) - 1; | ||
| 128 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
4 | MemViewStream ms(mem_block, mem_block_len, 0); |
| 129 | |||
| 130 |
5/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 9 taken 1 times.
✗ Branch 10 not taken.
✓ Branch 12 taken 1 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(ms.getResource(GATE_STREAM_RESOURCE_INPUT) != 0); |
| 131 | |||
| 132 | char buffer[128]; | ||
| 133 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
2 | gate::size_t len = ms.readBlock(buffer, sizeof(buffer)); |
| 134 |
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_EQUAL(len, mem_block_len); |
| 135 | |||
| 136 |
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(ms.reset()); |
| 137 |
5/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 9 taken 1 times.
✗ Branch 10 not taken.
✓ Branch 12 taken 1 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_EQUAL(ms.getAvailable(), mem_block_len); |
| 138 |
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(ms.seek(13, ControlStream::Seek_Begin)); |
| 139 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
2 | len = ms.readBlock(buffer, sizeof(buffer)); |
| 140 |
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_EQUAL(len, 15); |
| 141 |
5/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 9 taken 1 times.
✗ Branch 10 not taken.
✓ Branch 12 taken 1 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, len, "World of Hellos", 15) == 0); |
| 142 | } | ||
| 143 | 2 | } | |
| 144 | |||
| 145 |
2/7✓ Branch 2 taken 3 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.
|
10 | GATEXX_TEST_UNIT(StringStream) |
| 146 | { | ||
| 147 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
4 | StringStream ss; |
| 148 | |||
| 149 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
2 | write_stream(ss); |
| 150 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
4 | String view = ss.toView(); |
| 151 |
4/12✓ 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 13 not taken.
✗ Branch 14 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
|
2 | GATEXX_TEST_CHECK(!view.empty()); |
| 152 | |||
| 153 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
4 | StringStream sscopy = ss; |
| 154 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
2 | read_stream(ss); |
| 155 | |||
| 156 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
4 | StringStream ss3; |
| 157 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
2 | ss3 = sscopy; |
| 158 | 2 | sscopy.swap(ss3); | |
| 159 | 2 | } | |
| 160 | |||
| 161 |
2/7✓ Branch 2 taken 3 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.
|
10 | GATEXX_TEST_UNIT(SyncMemStream) |
| 162 | { | ||
| 163 |
2/4✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 3 taken 1 times.
✗ Branch 4 not taken.
|
2 | static StaticString const msg = "Hello World"; |
| 164 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
4 | SyncMemStream sms(256, 500); |
| 165 | |||
| 166 |
4/14✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 9 taken 1 times.
✗ Branch 10 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(sms.writeBlock(msg.c_str(), msg.length())); |
| 167 | |||
| 168 | char buffer[16]; | ||
| 169 | 4 | gate::Result<gate::size_t> returnedResult = sms.tryRead(buffer, sizeof(buffer)); | |
| 170 |
4/12✓ 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 13 not taken.
✗ Branch 14 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
|
2 | GATEXX_TEST_REQUIRE(returnedResult.hasValue()); |
| 171 | |||
| 172 |
4/12✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 8 taken 1 times.
✗ Branch 9 not taken.
✓ Branch 11 taken 1 times.
✗ Branch 12 not taken.
✗ Branch 14 not taken.
✗ Branch 15 not taken.
✗ Branch 17 not taken.
✗ Branch 18 not taken.
|
2 | GATEXX_TEST_REQUIRE_EQUAL(returnedResult.value(), msg.length()); |
| 173 |
4/12✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 9 taken 1 times.
✗ Branch 10 not taken.
✓ Branch 12 taken 1 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(0 == Mem::compare(msg.c_str(), buffer, msg.length())); |
| 174 | |||
| 175 | 2 | gate::size_t returned = 0; | |
| 176 |
5/14✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✗ Branch 7 not taken.
✓ Branch 8 taken 1 times.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✓ Branch 17 taken 1 times.
✗ Branch 18 not taken.
✓ Branch 20 taken 1 times.
✗ Branch 21 not taken.
|
4 | GATEXX_TEST_CHECK_THROW(returned = sms.readBlock(buffer, sizeof(buffer))); |
| 177 | |||
| 178 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
4 | SyncMemStream sms2 = sms; |
| 179 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
4 | SyncMemStream sms3(128, 250); |
| 180 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
2 | sms3 = sms2; |
| 181 | 2 | } | |
| 182 | |||
| 183 | class GATE_API_LOCAL MyStream : public IStreamBuilder | ||
| 184 | { | ||
| 185 | public: | ||
| 186 | bool readCalled; | ||
| 187 | bool peekCalled; | ||
| 188 | bool writeCalled; | ||
| 189 | bool flushCalled; | ||
| 190 | |||
| 191 | 1 | MyStream() | |
| 192 | 1 | : readCalled(false), peekCalled(false), writeCalled(false), flushCalled(false) | |
| 193 | { | ||
| 194 | 1 | } | |
| 195 | |||
| 196 | 4 | ~MyStream() | |
| 197 | 2 | { | |
| 198 | 4 | } | |
| 199 | |||
| 200 | protected: | ||
| 201 | 1 | gate::size_t read(char* buffer, gate::size_t bufferlen) override | |
| 202 | { | ||
| 203 | 1 | this->readCalled = true; | |
| 204 |
1/2✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
|
1 | GATEXX_TEST_CHECK(buffer != NULL); |
| 205 |
1/2✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
|
1 | GATEXX_TEST_CHECK(bufferlen > 5); |
| 206 | 1 | return gate_str_print_text(buffer, bufferlen, "Hello", 5); | |
| 207 | } | ||
| 208 | |||
| 209 | 1 | gate::size_t peek(char* buffer, gate::size_t bufferlen) override | |
| 210 | { | ||
| 211 | 1 | this->peekCalled = true; | |
| 212 |
1/2✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
|
1 | GATEXX_TEST_CHECK(buffer != NULL); |
| 213 |
1/2✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
|
1 | GATEXX_TEST_CHECK(bufferlen > 5); |
| 214 | 1 | return gate_str_print_text(buffer, bufferlen, "Hello", 5); | |
| 215 | } | ||
| 216 | |||
| 217 | 1 | gate::size_t write(char const* buffer, gate::size_t bufferlen) override | |
| 218 | { | ||
| 219 | 1 | this->writeCalled = true; | |
| 220 |
1/2✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
|
1 | GATEXX_TEST_CHECK(buffer != NULL); |
| 221 |
1/2✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
|
1 | GATEXX_TEST_CHECK(bufferlen > 0); |
| 222 |
1/2✓ Branch 3 taken 1 times.
✗ Branch 4 not taken.
|
1 | GATEXX_TEST_CHECK(gate_str_compare(buffer, bufferlen, "Hello", 5) == 0); |
| 223 | 1 | return bufferlen; | |
| 224 | } | ||
| 225 | |||
| 226 | 1 | void flush() override | |
| 227 | { | ||
| 228 | 1 | this->flushCalled = true; | |
| 229 | 1 | } | |
| 230 | }; | ||
| 231 | |||
| 232 |
2/7✓ Branch 2 taken 3 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.
|
10 | GATEXX_TEST_UNIT(StreamBuilder) |
| 233 | { | ||
| 234 |
2/4✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
|
2 | MyStream* ptrStream = new MyStream(); |
| 235 | |||
| 236 |
2/4✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
|
4 | Stream strm(ptrStream->c_impl()); // pointer is now owned by stream object |
| 237 | char buffer[32]; | ||
| 238 | gate::size_t len; | ||
| 239 |
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(len = strm.read(buffer, sizeof(buffer))); |
| 240 |
5/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 9 taken 1 times.
✗ Branch 10 not taken.
✓ Branch 12 taken 1 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, len, "Hello", 5) == 0); |
| 241 |
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(ptrStream->readCalled); |
| 242 | |||
| 243 |
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(len = strm.peek(buffer, sizeof(buffer))); |
| 244 |
5/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 9 taken 1 times.
✗ Branch 10 not taken.
✓ Branch 12 taken 1 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, len, "Hello", 5) == 0); |
| 245 |
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(ptrStream->peekCalled); |
| 246 | |||
| 247 |
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(len = strm.write("Hello", 5)); |
| 248 |
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(ptrStream->writeCalled); |
| 249 | |||
| 250 |
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(strm.flush()); |
| 251 |
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(ptrStream->flushCalled); |
| 252 | 2 | } | |
| 253 | |||
| 254 |
2/7✓ Branch 2 taken 3 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.
|
10 | GATEXX_TEST_UNIT(StreamTransfer) |
| 255 | { | ||
| 256 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
4 | MemStream m1; |
| 257 |
2/2✓ Branch 0 taken 60000 times.
✓ Branch 1 taken 1 times.
|
120002 | for(unsigned n = 0; n < 60000; ++n) |
| 258 | { | ||
| 259 | 240000 | Result<gate::size_t> writeResult = m1.tryWriteBlock("Hello World\n", 12); | |
| 260 |
4/12✓ Branch 1 taken 60000 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 60000 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 60000 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 60000 times.
✗ Branch 11 not taken.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
|
120000 | GATEXX_TEST_CHECK(writeResult.hasValue()); |
| 261 |
4/12✓ Branch 1 taken 60000 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 60000 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 60000 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 60000 times.
✗ Branch 11 not taken.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
|
120000 | GATEXX_TEST_CHECK_EQUAL(writeResult.value(), 12); |
| 262 | } | ||
| 263 | |||
| 264 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
4 | MemStream orig; |
| 265 |
3/6✓ 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.
|
2 | orig.writeBlock(m1.getData(), m1.size()); |
| 266 | |||
| 267 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
4 | MemStream m2; |
| 268 | |||
| 269 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
4 | VoidResult transferResult = Stream::tryTransfer(m1, m2); |
| 270 |
4/12✓ 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 13 not taken.
✗ Branch 14 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
|
2 | GATEXX_TEST_CHECK(transferResult.hasValue()); |
| 271 | |||
| 272 |
2/4✓ Branch 3 taken 1 times.
✗ Branch 4 not taken.
✓ Branch 6 taken 1 times.
✗ Branch 7 not taken.
|
2 | transferResult = Stream::tryTransfer((gate_stream_t&)*m2.c_impl(), (gate_stream_t&)*m1.c_impl()); |
| 273 |
4/12✓ 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 13 not taken.
✗ Branch 14 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
|
2 | GATEXX_TEST_CHECK(transferResult.hasValue()); |
| 274 | |||
| 275 |
4/14✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 9 taken 1 times.
✗ Branch 10 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(Stream::transfer((gate_stream_t&)*m1.c_impl(), (gate_stream_t&)*m2.c_impl())); |
| 276 | |||
| 277 | char buffer[55]; // strange size | ||
| 278 |
4/14✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 9 taken 1 times.
✗ Branch 10 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(Stream::transferViaBuffer((gate_stream_t&)*m2.c_impl(), (gate_stream_t&)*m1.c_impl(), buffer, sizeof(buffer))); |
| 279 | |||
| 280 |
2/4✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
|
2 | transferResult = Stream::tryTransferViaBuffer(m1, m2, buffer, sizeof(buffer)); |
| 281 |
4/12✓ 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 13 not taken.
✗ Branch 14 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
|
2 | GATEXX_TEST_CHECK(transferResult.hasValue()); |
| 282 | |||
| 283 |
2/4✓ Branch 3 taken 1 times.
✗ Branch 4 not taken.
✓ Branch 6 taken 1 times.
✗ Branch 7 not taken.
|
2 | transferResult = Stream::tryTransferViaBuffer((gate_stream_t&)*m2.c_impl(), (gate_stream_t&)*m1.c_impl(), buffer, sizeof(buffer)); |
| 284 |
4/12✓ 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 13 not taken.
✗ Branch 14 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
|
2 | GATEXX_TEST_CHECK(transferResult.hasValue()); |
| 285 | |||
| 286 |
6/16✓ 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 12 taken 1 times.
✗ Branch 13 not taken.
✓ Branch 15 taken 1 times.
✗ Branch 16 not taken.
✗ Branch 18 not taken.
✗ Branch 19 not taken.
✗ Branch 21 not taken.
✗ Branch 22 not taken.
|
2 | GATEXX_TEST_REQUIRE_EQUAL(m1.size(), orig.size()); |
| 287 |
7/18✓ 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 13 taken 1 times.
✗ Branch 14 not taken.
✓ Branch 16 taken 1 times.
✗ Branch 17 not taken.
✓ Branch 19 taken 1 times.
✗ Branch 20 not taken.
✗ Branch 22 not taken.
✗ Branch 23 not taken.
✗ Branch 25 not taken.
✗ Branch 26 not taken.
|
2 | GATEXX_TEST_REQUIRE_EQUAL(Mem::compare(m1.getData(), orig.getData(), m1.size()), 0); |
| 288 | 2 | } | |
| 289 |