Commit c546045d authored by Simon Giesecke's avatar Simon Giesecke

Problem: test_connect_delay_tipc not yet using unity

Solution: started migration to unity (run test cases separately)
parent 06a9d809
...@@ -819,7 +819,8 @@ test_apps += \ ...@@ -819,7 +819,8 @@ test_apps += \
tests/test_address_tipc tests/test_address_tipc
tests_test_connect_delay_tipc_SOURCES = tests/test_connect_delay_tipc.cpp tests_test_connect_delay_tipc_SOURCES = tests/test_connect_delay_tipc.cpp
tests_test_connect_delay_tipc_LDADD = src/libzmq.la tests_test_connect_delay_tipc_LDADD = src/libzmq.la ${UNITY_LIBS}
tests_test_connect_delay_tipc_CPPFLAGS = ${UNITY_CPPFLAGS}
tests_test_pair_tipc_SOURCES = tests/test_pair_tipc.cpp tests_test_pair_tipc_SOURCES = tests/test_pair_tipc.cpp
tests_test_pair_tipc_LDADD = src/libzmq.la tests_test_pair_tipc_LDADD = src/libzmq.la
......
...@@ -28,14 +28,22 @@ ...@@ -28,14 +28,22 @@
*/ */
#include "testutil.hpp" #include "testutil.hpp"
#include "testutil_unity.hpp"
int main (void) #include <unity.h>
void setUp ()
{ {
if (!is_tipc_available ()) { setup_test_context ();
printf ("TIPC environment unavailable, skipping test\n"); }
return 77;
} void tearDown ()
{
teardown_test_context ();
}
void test_send_one_connected_one_unconnected ()
{
int val; int val;
int rc; int rc;
char buffer[16]; char buffer[16];
...@@ -101,6 +109,13 @@ int main (void) ...@@ -101,6 +109,13 @@ int main (void)
rc = zmq_ctx_term (context); rc = zmq_ctx_term (context);
assert (rc == 0); assert (rc == 0);
}
void test_send_one_connected_one_unconnected_with_delay ()
{
int val;
int rc;
char buffer[16];
// TEST 2 // TEST 2
// This time we will do the same thing, connect two pipes, // This time we will do the same thing, connect two pipes,
...@@ -109,10 +124,10 @@ int main (void) ...@@ -109,10 +124,10 @@ int main (void)
// also set the delay attach on connect flag, which should // also set the delay attach on connect flag, which should
// cause the pipe attachment to be delayed until the connection // cause the pipe attachment to be delayed until the connection
// succeeds. // succeeds.
context = zmq_ctx_new (); void *context = zmq_ctx_new ();
// Bind the valid socket // Bind the valid socket
to = zmq_socket (context, ZMQ_PULL); void *to = zmq_socket (context, ZMQ_PULL);
assert (to); assert (to);
rc = zmq_bind (to, "tipc://{5560,0,0}"); rc = zmq_bind (to, "tipc://{5560,0,0}");
assert (rc == 0); assert (rc == 0);
...@@ -122,7 +137,7 @@ int main (void) ...@@ -122,7 +137,7 @@ int main (void)
assert (rc == 0); assert (rc == 0);
// Create a socket pushing to two endpoints - all messages should arrive. // Create a socket pushing to two endpoints - all messages should arrive.
from = zmq_socket (context, ZMQ_PUSH); void *from = zmq_socket (context, ZMQ_PUSH);
assert (from); assert (from);
val = 0; val = 0;
...@@ -146,10 +161,11 @@ int main (void) ...@@ -146,10 +161,11 @@ int main (void)
rc = zmq_send (from, "Hello", 5, 0); rc = zmq_send (from, "Hello", 5, 0);
assert (rc == 5); assert (rc == 5);
} }
int timeout = 250;
rc = zmq_setsockopt (to, ZMQ_RCVTIMEO, &timeout, sizeof (int)); rc = zmq_setsockopt (to, ZMQ_RCVTIMEO, &timeout, sizeof (int));
assert (rc == 0); assert (rc == 0);
seen = 0; int seen = 0;
while (true) { while (true) {
rc = zmq_recv (to, &buffer, sizeof (buffer), 0); rc = zmq_recv (to, &buffer, sizeof (buffer), 0);
if (rc == -1) if (rc == -1)
...@@ -166,13 +182,19 @@ int main (void) ...@@ -166,13 +182,19 @@ int main (void)
rc = zmq_ctx_term (context); rc = zmq_ctx_term (context);
assert (rc == 0); assert (rc == 0);
}
void test_send_disconnected_with_delay ()
{
int rc;
char buffer[16];
// TEST 3 // TEST 3
// This time we want to validate that the same blocking behaviour // This time we want to validate that the same blocking behaviour
// occurs with an existing connection that is broken. We will send // occurs with an existing connection that is broken. We will send
// messages to a connected pipe, disconnect and verify the messages // messages to a connected pipe, disconnect and verify the messages
// block. Then we reconnect and verify messages flow again. // block. Then we reconnect and verify messages flow again.
context = zmq_ctx_new (); void *context = zmq_ctx_new ();
void *backend = zmq_socket (context, ZMQ_DEALER); void *backend = zmq_socket (context, ZMQ_DEALER);
assert (backend); assert (backend);
...@@ -241,3 +263,17 @@ int main (void) ...@@ -241,3 +263,17 @@ int main (void)
rc = zmq_ctx_term (context); rc = zmq_ctx_term (context);
assert (rc == 0); assert (rc == 0);
} }
int main (void)
{
if (!is_tipc_available ()) {
printf ("TIPC environment unavailable, skipping test\n");
return 77;
}
UNITY_BEGIN ();
RUN_TEST (test_send_one_connected_one_unconnected);
RUN_TEST (test_send_one_connected_one_unconnected_with_delay);
RUN_TEST (test_send_disconnected_with_delay);
return UNITY_END ();
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment