Skip to content
Snippets Groups Projects
Commit 8c3cfe18 authored by Benny Baumann's avatar Benny Baumann
Browse files

fix: Fix UDP socket test

Also cleans up the overall socket test code
parent 571b6343
No related branches found
No related tags found
No related merge requests found
Pipeline #10729 canceled
......@@ -22,7 +22,9 @@
using namespace rmrf::net;
const std::string udp_test_string = "TEST UDP PACKET";
const std::string test_string_tcp = "Moin from TCP";
const std::string test_string_udp = "Moin from UDP";
const std::string test_string_unix = "Moin from UNIX";
volatile bool tcp_called = false;
volatile bool udp_called = false;
......@@ -60,7 +62,7 @@ void ev_thread_callable() {
}
void udp_test_cb(const iorecord& data) {
BOOST_CHECK_EQUAL((char*) data.ptr(), udp_test_string.c_str());
BOOST_CHECK_EQUAL(data.str(), test_string_udp);
std::stringstream msg_ss;
msg_ss << "Received UDP packet from: " << data.get_address().str();
BOOST_TEST_MESSAGE(msg_ss.str());
......@@ -74,12 +76,13 @@ void run_udp_test() {
const socketaddr source_address = get_first_general_socketaddr("127.0.0.1", 9862, socket_t::UDP);
const socketaddr destination_address = get_first_general_socketaddr("127.0.0.1", 9863, socket_t::UDP);
auto sender = client_factory_construct_udp_client(source_address, udp_test_cb);
auto receiver = connect(destination_address, socket_t::UDP);
udp_source_family = destination_address.family();
auto sender = client_factory_construct_udp_client(source_address, nullptr);
auto receiver = client_factory_construct_udp_client(destination_address, udp_test_cb);
udp_packet<1024> data;
data << udp_test_string;
data << test_string_udp;
sender->send_packet(destination_address, data);
std::this_thread::yield();
......@@ -105,11 +108,11 @@ void run_tcp_test(const socketaddr& interface_addr) {
auto client = connect("127.0.0.1", "9861");
client->set_incomming_data_callback(
[](const iorecord& data) {
BOOST_CHECK_EQUAL(data.str(), "Moin");
BOOST_CHECK_EQUAL(data.str(), test_string_tcp);
tcp_called = true;
});
const std::string moin_string("Moin");
client->write_data(iorecord(moin_string.c_str(), moin_string.length()));
client->write_data(iorecord(test_string_tcp.c_str(), test_string_tcp.length()));
std::this_thread::yield();
std::this_thread::sleep_for(100ms);
......@@ -136,12 +139,11 @@ void run_unix_test() {
auto client = connect(socket_name);
client->set_incomming_data_callback(
[](const iorecord& data) {
BOOST_CHECK_EQUAL(data.str(), "Moin, von UNIX");
BOOST_CHECK_EQUAL(data.str(), test_string_unix);
unix_called = true;
});
const std::string moin_string("Moin, von UNIX");
client->write_data(iorecord(moin_string.c_str(), moin_string.length()));
client->write_data(iorecord(test_string_unix.c_str(), test_string_unix.length()));
std::this_thread::yield();
std::this_thread::sleep_for(100ms);
......@@ -155,7 +157,7 @@ BOOST_AUTO_TEST_CASE(Netio_Socket_TCP) {
std::thread ev_thread(ev_thread_callable);
const auto interface_addr = get_first_general_socketaddr("127.0.0.1", 9861);
(void)interface_addr;
//(void)interface_addr;
BOOST_CHECK_NO_THROW(run_tcp_test(interface_addr));
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment