Line | Branch | Exec | Source |
---|---|---|---|
1 | #include "gate/tests.hpp" | ||
2 | #include "gate/streams.hpp" | ||
3 | |||
4 | using namespace gate; | ||
5 | |||
6 | static String const test_content = String::createStaticFrom("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 |
1/2✓ Branch 2 taken 500 times.
✗ Branch 3 not taken.
|
500 | gate::size_t lenpeek = strm.peek(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(lenpeek <= test_content.length()); |
25 |
1/2✓ Branch 2 taken 500 times.
✗ Branch 3 not taken.
|
500 | gate::size_t retrieved = strm.readBlock(buffer, test_content.length()); |
26 |
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()); |
27 | } | ||
28 |
1/2✓ Branch 2 taken 5 times.
✗ Branch 3 not taken.
|
5 | gate::size_t eofretrieved = strm.readBlock(buffer, test_content.length()); |
29 |
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); |
30 | 5 | } | |
31 | |||
32 | 4 | static void common_write_checks(Stream& strm) | |
33 | { | ||
34 |
1/2✓ Branch 3 taken 4 times.
✗ Branch 4 not taken.
|
4 | GATEXX_TEST_CHECK(strm.c_impl() != NULL); |
35 |
1/2✓ Branch 3 taken 4 times.
✗ Branch 4 not taken.
|
4 | GATEXX_TEST_CHECK(!strm.empty()); |
36 |
1/2✓ Branch 5 taken 4 times.
✗ Branch 6 not taken.
|
4 | GATEXX_TEST_CHECK(!strm.getInterfaceName().empty()); |
37 | 4 | strm.tryWrite("abc", 3); | |
38 | 4 | strm.tryWriteBlock("abc", 3); | |
39 | 4 | strm.tryFlush(); | |
40 | 4 | strm << static_cast<gate::int16_t>(16); | |
41 | 4 | strm << static_cast<gate::int32_t>(32); | |
42 | 4 | strm << static_cast<gate::int64_t>(64); | |
43 | 4 | strm << static_cast<gate::uint16_t>(16); | |
44 | 4 | strm << static_cast<gate::uint32_t>(32); | |
45 | 4 | strm << static_cast<gate::uint64_t>(64); | |
46 | 4 | strm << 3.2f; | |
47 | 4 | strm << 6.4; | |
48 | 4 | strm << true; | |
49 | 4 | strm << "xyz"; | |
50 | 4 | strm << test_content; | |
51 | 4 | strm << test_content.c_impl(); | |
52 | 4 | } | |
53 | |||
54 | ✗ | void memstream_checks(MemStream& strm) | |
55 | { | ||
56 | |||
57 | ✗ | } | |
58 | |||
59 |
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(MemStream) |
60 | { | ||
61 | { | ||
62 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
4 | MemStream m; |
63 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
2 | m.fill('A', 5); |
64 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
2 | m.discard(3); |
65 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
2 | m.discardBack(1); |
66 |
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()); |
67 |
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'); |
68 |
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()); |
69 | |||
70 | } | ||
71 | { | ||
72 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
4 | MemStream m; |
73 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
2 | write_stream(m); |
74 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
2 | read_stream(m); |
75 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
2 | common_write_checks(m); |
76 | } | ||
77 | |||
78 | { | ||
79 | char buffer[8192]; | ||
80 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
4 | StaticMemStream m(buffer, sizeof(buffer)); |
81 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
2 | write_stream(m); |
82 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
2 | read_stream(m); |
83 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
2 | common_write_checks(m); |
84 | } | ||
85 | |||
86 | { | ||
87 | char buffer[8192]; | ||
88 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
4 | LocalMemStream m(buffer, sizeof(buffer)); |
89 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
2 | write_stream(m); |
90 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
2 | read_stream(m); |
91 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
2 | common_write_checks(m); |
92 | } | ||
93 | |||
94 | { | ||
95 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
4 | MemFileStream m; |
96 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
2 | write_stream(m); |
97 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
4 | MemFileStream m2 = m.share(); |
98 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
2 | m2.seek(0, GATE_STREAM_SEEK_BEGIN); |
99 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
2 | m2.reset(); |
100 |
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); |
101 |
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); |
102 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
2 | read_stream(m2); |
103 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
2 | common_write_checks(m); |
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(m2.canRead()); |
105 |
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()); |
106 | } | ||
107 | |||
108 | 2 | } | |
109 | |||
110 |
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(StringStream) |
111 | { | ||
112 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
4 | StringStream ss; |
113 | |||
114 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
2 | write_stream(ss); |
115 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
4 | String view = ss.toView(); |
116 |
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()); |
117 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
2 | read_stream(ss); |
118 | 2 | } | |
119 | |||
120 |
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(SyncMemStream) |
121 | { | ||
122 |
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"; |
123 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
4 | SyncMemStream sms(256, 500); |
124 | |||
125 |
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())); |
126 | |||
127 | char buffer[16]; | ||
128 | 2 | gate::size_t returned = 0; | |
129 |
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(returned = sms.read(buffer, sizeof(buffer))); |
130 | |||
131 |
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_EQUAL(returned, msg.length()); |
132 |
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())); |
133 | |||
134 |
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))); |
135 | 2 | } | |
136 |