mirror of
https://github.com/zeromq/libzmq.git
synced 2025-10-28 03:20:13 +01:00
Problem: tests use hard-coded fixed IPC file path
Solution: use wildcards or random directories to avoid races when multiple users are running the same test on the same machine
This commit is contained in:
@@ -42,24 +42,27 @@ void tearDown ()
|
||||
teardown_test_context ();
|
||||
}
|
||||
|
||||
static const char *SOCKET_ADDR = "ipc:///tmp/test_rebind_ipc";
|
||||
|
||||
void test_rebind_ipc ()
|
||||
{
|
||||
char my_endpoint[256];
|
||||
size_t len = sizeof (my_endpoint);
|
||||
|
||||
void *sb0 = test_context_socket (ZMQ_PUSH);
|
||||
void *sb1 = test_context_socket (ZMQ_PUSH);
|
||||
|
||||
TEST_ASSERT_SUCCESS_ERRNO (zmq_bind (sb0, SOCKET_ADDR));
|
||||
TEST_ASSERT_SUCCESS_ERRNO (zmq_bind (sb0, "ipc://*"));
|
||||
TEST_ASSERT_SUCCESS_ERRNO (
|
||||
zmq_getsockopt (sb0, ZMQ_LAST_ENDPOINT, my_endpoint, &len));
|
||||
|
||||
void *sc = test_context_socket (ZMQ_PULL);
|
||||
TEST_ASSERT_SUCCESS_ERRNO (zmq_connect (sc, SOCKET_ADDR));
|
||||
TEST_ASSERT_SUCCESS_ERRNO (zmq_connect (sc, my_endpoint));
|
||||
|
||||
send_string_expect_success (sb0, "42", 0);
|
||||
recv_string_expect_success (sc, "42", 0);
|
||||
|
||||
test_context_socket_close (sb0);
|
||||
|
||||
TEST_ASSERT_SUCCESS_ERRNO (zmq_bind (sb1, SOCKET_ADDR));
|
||||
TEST_ASSERT_SUCCESS_ERRNO (zmq_bind (sb1, my_endpoint));
|
||||
|
||||
send_string_expect_success (sb1, "42", 0);
|
||||
recv_string_expect_success (sc, "42", 0);
|
||||
|
||||
Reference in New Issue
Block a user