Skip to content

Commit b8d6104

Browse files
fmauchFelix Exner
authored andcommitted
Added test that fails connecting to a socket after n tries
1 parent f6189bb commit b8d6104

File tree

6 files changed

+62
-4
lines changed

6 files changed

+62
-4
lines changed

tests/test_dashboard_client.cpp

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -203,6 +203,14 @@ TEST_F(DashboardClientTest, set_receive_timeout)
203203
}
204204
}
205205

206+
TEST_F(DashboardClientTest, connect_non_running_robot)
207+
{
208+
std::unique_ptr<DashboardClient> dashboard_client;
209+
// We use an IP address on the integration_test's subnet
210+
dashboard_client.reset(new DashboardClient("192.168.56.123"));
211+
EXPECT_FALSE(dashboard_client->connect(2, std::chrono::milliseconds(500)));
212+
}
213+
206214
int main(int argc, char* argv[])
207215
{
208216
::testing::InitGoogleTest(&argc, argv);

tests/test_pipeline.cpp

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -234,6 +234,17 @@ TEST_F(PipelineTest, consumer_pipeline)
234234
pipeline_->stop();
235235
}
236236

237+
TEST_F(PipelineTest, connect_non_connected_robot)
238+
{
239+
stream_.reset(new comm::URStream<rtde_interface::RTDEPackage>("127.0.0.1", 12321));
240+
producer_.reset(new comm::URProducer<rtde_interface::RTDEPackage>(*stream_.get(), *parser_.get()));
241+
TestConsumer consumer;
242+
pipeline_.reset(
243+
new comm::Pipeline<rtde_interface::RTDEPackage>(*producer_.get(), &consumer, "RTDE_PIPELINE", notifier_));
244+
245+
EXPECT_THROW(pipeline_->init(2, std::chrono::milliseconds(500)), UrException);
246+
}
247+
237248
int main(int argc, char* argv[])
238249
{
239250
::testing::InitGoogleTest(&argc, argv);

tests/test_producer.cpp

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,9 +119,20 @@ TEST_F(ProducerTest, get_data_package)
119119
producer.stopProducer();
120120
}
121121

122+
TEST_F(ProducerTest, connect_non_connected_robot)
123+
{
124+
comm::URStream<rtde_interface::RTDEPackage> stream("127.0.0.1", 12321);
125+
std::vector<std::string> recipe = { "timestamp" };
126+
rtde_interface::RTDEParser parser(recipe);
127+
parser.setProtocolVersion(2);
128+
comm::URProducer<rtde_interface::RTDEPackage> producer(stream, parser);
129+
130+
EXPECT_THROW(producer.setupProducer(2, std::chrono::milliseconds(500)), UrException);
131+
}
132+
122133
int main(int argc, char* argv[])
123134
{
124135
::testing::InitGoogleTest(&argc, argv);
125136

126137
return RUN_ALL_TESTS();
127-
}
138+
}

tests/test_rtde_client.cpp

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828

2929
#include <gtest/gtest.h>
3030
#include <cmath>
31+
#include "ur_client_library/exceptions.h"
3132

3233
#include <ur_client_library/rtde/rtde_client.h>
3334

@@ -346,6 +347,14 @@ TEST_F(RTDEClientTest, output_recipe_without_timestamp)
346347
EXPECT_FALSE(it == actual_output_recipe_from_vector.end());
347348
}
348349

350+
TEST_F(RTDEClientTest, connect_non_running_robot)
351+
{
352+
// We use an IP address on the integration_test's subnet
353+
client_.reset(
354+
new rtde_interface::RTDEClient("192.168.56.123", notifier_, resources_output_recipe_, resources_input_recipe_));
355+
EXPECT_THROW(client_->init(2, std::chrono::milliseconds(500)), UrException);
356+
}
357+
349358
int main(int argc, char* argv[])
350359
{
351360
::testing::InitGoogleTest(&argc, argv);

tests/test_stream.cpp

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -320,6 +320,13 @@ TEST_F(StreamTest, write_data_package)
320320
EXPECT_EQ(send_message, received_message_);
321321
}
322322

323+
TEST_F(StreamTest, connect_non_connected_robot)
324+
{
325+
comm::URStream<rtde_interface::RTDEPackage> stream("127.0.0.1", 12321);
326+
stream.setReconnectionTime(std::chrono::milliseconds(500));
327+
EXPECT_FALSE(stream.connect(2));
328+
}
329+
323330
int main(int argc, char* argv[])
324331
{
325332
::testing::InitGoogleTest(&argc, argv);

tests/test_tcp_socket.cpp

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,9 @@
2929
// -- END LICENSE BLOCK ------------------------------------------------
3030

3131
#include <gtest/gtest.h>
32+
#include <chrono>
3233
#include <condition_variable>
34+
#include <cstddef>
3335

3436
#include <ur_client_library/comm/tcp_socket.h>
3537
#include <ur_client_library/comm/tcp_server.h>
@@ -101,15 +103,16 @@ class TCPSocketTest : public ::testing::Test
101103
class Client : public comm::TCPSocket
102104
{
103105
public:
104-
Client(int port)
106+
Client(int port, const std::string& ip = "127.0.0.1", const size_t max_num_tries = 0)
105107
{
106108
port_ = port;
109+
ip_ = ip;
110+
max_num_tries_ = max_num_tries;
107111
}
108112

109113
bool setup()
110114
{
111-
std::string ip = "127.0.0.1";
112-
return TCPSocket::setup(ip, port_);
115+
return TCPSocket::setup(ip_, port_, max_num_tries_);
113116
}
114117

115118
void setupClientBeforeServer()
@@ -145,6 +148,8 @@ class TCPSocketTest : public ::testing::Test
145148
private:
146149
std::thread client_setup_thread_;
147150
int port_;
151+
std::string ip_;
152+
size_t max_num_tries_;
148153
bool done_setting_up_client_;
149154

150155
void setupClient(int port)
@@ -341,6 +346,13 @@ TEST_F(TCPSocketTest, setup_while_client_is_connected)
341346
EXPECT_FALSE(client_->setup());
342347
}
343348

349+
TEST_F(TCPSocketTest, connect_non_running_robot)
350+
{
351+
Client client(12321, "127.0.0.1", 2);
352+
client.setReconnectionTime(std::chrono::milliseconds(500));
353+
EXPECT_FALSE(client.setup());
354+
}
355+
344356
int main(int argc, char* argv[])
345357
{
346358
::testing::InitGoogleTest(&argc, argv);

0 commit comments

Comments
 (0)