MCPcopy Create free account
hub / github.com/FastLED/FastLED / FL_TEST_FILE

Function FL_TEST_FILE

tests/fl/stl/asio/test_tcp_acceptor.cpp:11–120  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

9#include "test.h"
10
11FL_TEST_FILE(FL_FILEPATH) {
12
13using namespace fl::asio;
14using namespace fl::asio::ip;
15
16FL_TEST_CASE("tcp::acceptor - Default construction") {
17 tcp::acceptor acc;
18 FL_CHECK_FALSE(acc.is_open());
19 FL_CHECK_EQ(acc.native_handle(), -1);
20 FL_CHECK_EQ(acc.port(), 0);
21}
22
23FL_TEST_CASE("tcp::acceptor - Open binds to port") {
24 tcp::acceptor acc;
25 error_code ec = acc.open(0);
26 FL_CHECK(ec.ok());
27 FL_CHECK(acc.is_open());
28 FL_CHECK(acc.port() > 0);
29 acc.close();
30 FL_CHECK_FALSE(acc.is_open());
31}
32
33FL_TEST_CASE("tcp::acceptor - Listen on unopened acceptor fails") {
34 tcp::acceptor acc;
35 error_code ec = acc.listen();
36 FL_CHECK(static_cast<bool>(ec));
37 FL_CHECK_EQ(ec.code, errc::operation_aborted);
38}
39
40FL_TEST_CASE("tcp::acceptor - Accept with no connection returns would_block") {
41 tcp::acceptor acc;
42 error_code ec = acc.open(0);
43 FL_CHECK(ec.ok());
44 ec = acc.listen(1);
45 FL_CHECK(ec.ok());
46
47 tcp::socket peer;
48 ec = acc.accept(peer);
49 FL_CHECK_EQ(ec.code, errc::would_block);
50 FL_CHECK_FALSE(peer.is_open());
51
52 acc.close();
53}
54
55FL_TEST_CASE("tcp::acceptor - Close resets state") {
56 tcp::acceptor acc;
57 error_code ec = acc.open(0);
58 FL_CHECK(ec.ok());
59 fl::u16 p = acc.port();
60 FL_CHECK(p > 0);
61
62 acc.close();
63 FL_CHECK_FALSE(acc.is_open());
64 FL_CHECK_EQ(acc.port(), 0);
65}
66
67FL_TEST_CASE("tcp::acceptor - Multiple clients") {
68 tcp::acceptor acc;

Callers

nothing calls this directly

Calls 11

endpointClass · 0.85
listenMethod · 0.80
sleep_forFunction · 0.50
is_openMethod · 0.45
native_handleMethod · 0.45
portMethod · 0.45
openMethod · 0.45
okMethod · 0.45
closeMethod · 0.45
acceptMethod · 0.45
connectMethod · 0.45

Tested by

no test coverage detected