| 92 | } |
| 93 | |
| 94 | void do_test5(int pipe_size) |
| 95 | { |
| 96 | typedef type_safe_union<int, bridge_status> tsu_type; |
| 97 | |
| 98 | dlib::pipe<tsu_type> out(pipe_size); |
| 99 | dlib::pipe<tsu_type> in(pipe_size); |
| 100 | dlib::pipe<bridge_status> out_status(pipe_size); |
| 101 | |
| 102 | bridge b1(connect_to_ip_and_port("127.0.0.1",testing_port), receive(in)); |
| 103 | tsu_type msg; |
| 104 | |
| 105 | msg = b1.get_bridge_status(); |
| 106 | DLIB_TEST(msg.contains<bridge_status>() == true); |
| 107 | DLIB_TEST(msg.get<bridge_status>().is_connected == false); |
| 108 | DLIB_TEST(msg.get<bridge_status>().foreign_ip == ""); |
| 109 | DLIB_TEST(msg.get<bridge_status>().foreign_port == 0); |
| 110 | |
| 111 | { |
| 112 | bridge b2(listen_on_port(testing_port), transmit(out), receive(out_status)); |
| 113 | |
| 114 | in.dequeue(msg); |
| 115 | DLIB_TEST(msg.contains<bridge_status>() == true); |
| 116 | DLIB_TEST(msg.get<bridge_status>().is_connected == true); |
| 117 | DLIB_TEST(msg.get<bridge_status>().foreign_ip == "127.0.0.1"); |
| 118 | DLIB_TEST(msg.get<bridge_status>().foreign_port == testing_port); |
| 119 | msg = b1.get_bridge_status(); |
| 120 | DLIB_TEST(msg.contains<bridge_status>() == true); |
| 121 | DLIB_TEST(msg.get<bridge_status>().is_connected == true); |
| 122 | DLIB_TEST(msg.get<bridge_status>().foreign_ip == "127.0.0.1"); |
| 123 | DLIB_TEST(msg.get<bridge_status>().foreign_port == testing_port); |
| 124 | |
| 125 | bridge_status temp; |
| 126 | out_status.dequeue(temp); |
| 127 | DLIB_TEST(temp.is_connected == true); |
| 128 | DLIB_TEST(temp.foreign_ip == "127.0.0.1"); |
| 129 | |
| 130 | for (int i = 0; i < 100; ++i) |
| 131 | { |
| 132 | msg = i; |
| 133 | out.enqueue(msg); |
| 134 | |
| 135 | msg.get<int>() = 0; |
| 136 | |
| 137 | in.dequeue(msg); |
| 138 | DLIB_TEST(msg.contains<int>() == true); |
| 139 | DLIB_TEST(msg.get<int>() == i); |
| 140 | } |
| 141 | |
| 142 | } |
| 143 | |
| 144 | in.dequeue(msg); |
| 145 | DLIB_TEST(msg.contains<bridge_status>() == true); |
| 146 | DLIB_TEST(msg.get<bridge_status>().is_connected == false); |
| 147 | DLIB_TEST(msg.get<bridge_status>().foreign_ip == "127.0.0.1"); |
| 148 | DLIB_TEST(msg.get<bridge_status>().foreign_port == testing_port); |
| 149 | } |
| 150 | |
| 151 | void do_test5_5(int pipe_size) |
no test coverage detected