Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
L
libzmq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Packages
Packages
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
submodule
libzmq
Commits
7b39d2cb
Commit
7b39d2cb
authored
Aug 20, 2018
by
Simon Giesecke
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Problem: test_unbind_wildcard not yet using unity
Solution: migrate to unity
parent
c66288a8
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
116 additions
and
120 deletions
+116
-120
Makefile.am
Makefile.am
+2
-1
test_unbind_wildcard.cpp
tests/test_unbind_wildcard.cpp
+114
-119
No files found.
Makefile.am
View file @
7b39d2cb
...
@@ -559,7 +559,8 @@ tests_test_disconnect_inproc_SOURCES = tests/test_disconnect_inproc.cpp
...
@@ -559,7 +559,8 @@ tests_test_disconnect_inproc_SOURCES = tests/test_disconnect_inproc.cpp
tests_test_disconnect_inproc_LDADD
=
src/libzmq.la
tests_test_disconnect_inproc_LDADD
=
src/libzmq.la
tests_test_unbind_wildcard_SOURCES
=
tests/test_unbind_wildcard.cpp
tests_test_unbind_wildcard_SOURCES
=
tests/test_unbind_wildcard.cpp
tests_test_unbind_wildcard_LDADD
=
src/libzmq.la
tests_test_unbind_wildcard_LDADD
=
src/libzmq.la
${
UNITY_LIBS
}
tests_test_unbind_wildcard_CPPFLAGS
=
${
UNITY_CPPFLAGS
}
tests_test_ctx_options_SOURCES
=
tests/test_ctx_options.cpp
tests_test_ctx_options_SOURCES
=
tests/test_ctx_options.cpp
tests_test_ctx_options_LDADD
=
src/libzmq.la
tests_test_ctx_options_LDADD
=
src/libzmq.la
...
...
tests/test_unbind_wildcard.cpp
View file @
7b39d2cb
...
@@ -18,28 +18,31 @@
...
@@ -18,28 +18,31 @@
*/
*/
#include "testutil.hpp"
#include "testutil.hpp"
#include "testutil_unity.hpp"
int
main
(
void
)
void
setUp
(
)
{
{
setup_test_environment
();
setup_test_context
();
void
*
ctx
=
zmq_ctx_new
();
}
assert
(
ctx
);
int
ipv6
=
is_ipv6_available
();
void
tearDown
()
{
teardown_test_context
();
}
void
test_address_wildcard_ipv4
()
{
/* Address wildcard, IPv6 disabled */
/* Address wildcard, IPv6 disabled */
void
*
sb
=
zmq_socket
(
ctx
,
ZMQ_REP
);
void
*
sb
=
test_context_socket
(
ZMQ_REP
);
assert
(
sb
);
void
*
sc
=
test_context_socket
(
ZMQ_REQ
);
void
*
sc
=
zmq_socket
(
ctx
,
ZMQ_REQ
);
assert
(
sc
);
int
rc
=
zmq_bind
(
sb
,
"tcp://*:*"
);
TEST_ASSERT_SUCCESS_ERRNO
(
zmq_bind
(
sb
,
"tcp://*:*"
));
assert
(
rc
==
0
);
char
bind_endpoint
[
256
];
char
bind_endpoint
[
256
];
char
connect_endpoint
[
256
];
char
connect_endpoint
[
256
];
size_t
endpoint_len
=
sizeof
(
bind_endpoint
);
size_t
endpoint_len
=
sizeof
(
bind_endpoint
);
rc
=
zmq_getsockopt
(
sb
,
ZMQ_LAST_ENDPOINT
,
bind_endpoint
,
&
endpoint_len
);
TEST_ASSERT_SUCCESS_ERRNO
(
assert
(
rc
==
0
);
zmq_getsockopt
(
sb
,
ZMQ_LAST_ENDPOINT
,
bind_endpoint
,
&
endpoint_len
)
);
// Apparently Windows can't connect to 0.0.0.0. A better fix would be welcome.
// Apparently Windows can't connect to 0.0.0.0. A better fix would be welcome.
#ifdef ZMQ_HAVE_WINDOWS
#ifdef ZMQ_HAVE_WINDOWS
...
@@ -49,39 +52,38 @@ int main (void)
...
@@ -49,39 +52,38 @@ int main (void)
strcpy
(
connect_endpoint
,
bind_endpoint
);
strcpy
(
connect_endpoint
,
bind_endpoint
);
#endif
#endif
rc
=
zmq_connect
(
sc
,
connect_endpoint
);
TEST_ASSERT_SUCCESS_ERRNO
(
zmq_connect
(
sc
,
connect_endpoint
));
assert
(
rc
==
0
);
bounce
(
sb
,
sc
);
bounce
(
sb
,
sc
);
rc
=
zmq_disconnect
(
sc
,
connect_endpoint
);
TEST_ASSERT_SUCCESS_ERRNO
(
zmq_disconnect
(
sc
,
connect_endpoint
));
assert
(
rc
==
0
);
TEST_ASSERT_SUCCESS_ERRNO
(
zmq_unbind
(
sb
,
bind_endpoint
));
rc
=
zmq_unbind
(
sb
,
bind_endpoint
);
assert
(
rc
==
0
);
rc
=
zmq_close
(
sc
);
test_context_socket_close
(
sc
);
assert
(
rc
==
0
);
test_context_socket_close
(
sb
);
rc
=
zmq_close
(
sb
);
}
assert
(
rc
==
0
);
void
test_address_wildcard_ipv6
()
{
int
ipv6
=
is_ipv6_available
();
/* Address wildcard, IPv6 enabled */
/* Address wildcard, IPv6 enabled */
sb
=
zmq_socket
(
ctx
,
ZMQ_REP
);
void
*
sb
=
test_context_socket
(
ZMQ_REP
);
assert
(
sb
);
void
*
sc
=
test_context_socket
(
ZMQ_REQ
);
sc
=
zmq_socket
(
ctx
,
ZMQ_REQ
);
assert
(
sc
);
rc
=
zmq_setsockopt
(
sb
,
ZMQ_IPV6
,
&
ipv6
,
sizeof
(
int
));
TEST_ASSERT_SUCCESS_ERRNO
(
assert
(
rc
==
0
);
zmq_setsockopt
(
sb
,
ZMQ_IPV6
,
&
ipv6
,
sizeof
(
int
))
);
rc
=
zmq_setsockopt
(
sc
,
ZMQ_IPV6
,
&
ipv6
,
sizeof
(
int
));
TEST_ASSERT_SUCCESS_ERRNO
(
assert
(
rc
==
0
);
zmq_setsockopt
(
sc
,
ZMQ_IPV6
,
&
ipv6
,
sizeof
(
int
))
);
rc
=
zmq_bind
(
sb
,
"tcp://*:*"
);
TEST_ASSERT_SUCCESS_ERRNO
(
zmq_bind
(
sb
,
"tcp://*:*"
));
assert
(
rc
==
0
);
endpoint_len
=
sizeof
(
bind_endpoint
);
char
bind_endpoint
[
256
];
char
connect_endpoint
[
256
];
size_t
endpoint_len
=
sizeof
(
bind_endpoint
);
memset
(
bind_endpoint
,
0
,
endpoint_len
);
memset
(
bind_endpoint
,
0
,
endpoint_len
);
rc
=
zmq_getsockopt
(
sb
,
ZMQ_LAST_ENDPOINT
,
bind_endpoint
,
&
endpoint_len
);
TEST_ASSERT_SUCCESS_ERRNO
(
assert
(
rc
==
0
);
zmq_getsockopt
(
sb
,
ZMQ_LAST_ENDPOINT
,
bind_endpoint
,
&
endpoint_len
)
);
#ifdef ZMQ_HAVE_WINDOWS
#ifdef ZMQ_HAVE_WINDOWS
if
(
ipv6
)
if
(
ipv6
)
...
@@ -94,123 +96,116 @@ int main (void)
...
@@ -94,123 +96,116 @@ int main (void)
strcpy
(
connect_endpoint
,
bind_endpoint
);
strcpy
(
connect_endpoint
,
bind_endpoint
);
#endif
#endif
rc
=
zmq_connect
(
sc
,
connect_endpoint
);
TEST_ASSERT_SUCCESS_ERRNO
(
zmq_connect
(
sc
,
connect_endpoint
));
assert
(
rc
==
0
);
bounce
(
sb
,
sc
);
bounce
(
sb
,
sc
);
rc
=
zmq_disconnect
(
sc
,
connect_endpoint
);
TEST_ASSERT_SUCCESS_ERRNO
(
zmq_disconnect
(
sc
,
connect_endpoint
));
assert
(
rc
==
0
);
TEST_ASSERT_SUCCESS_ERRNO
(
zmq_unbind
(
sb
,
bind_endpoint
));
rc
=
zmq_unbind
(
sb
,
bind_endpoint
);
assert
(
rc
==
0
);
rc
=
zmq_close
(
sc
);
test_context_socket_close
(
sc
);
assert
(
rc
==
0
);
test_context_socket_close
(
sb
);
rc
=
zmq_close
(
sb
);
}
assert
(
rc
==
0
);
void
test_port_wildcard_ipv4_address
()
{
/* Port wildcard, IPv4 address, IPv6 disabled */
/* Port wildcard, IPv4 address, IPv6 disabled */
sb
=
zmq_socket
(
ctx
,
ZMQ_REP
);
void
*
sb
=
test_context_socket
(
ZMQ_REP
);
assert
(
sb
);
void
*
sc
=
test_context_socket
(
ZMQ_REQ
);
sc
=
zmq_socket
(
ctx
,
ZMQ_REQ
);
assert
(
sc
);
rc
=
zmq_bind
(
sb
,
"tcp://127.0.0.1:*"
);
TEST_ASSERT_SUCCESS_ERRNO
(
zmq_bind
(
sb
,
"tcp://127.0.0.1:*"
));
assert
(
rc
==
0
);
char
endpoint
[
256
];
char
endpoint
[
256
];
endpoint_len
=
sizeof
(
endpoint
);
size_t
endpoint_len
=
sizeof
(
endpoint
);
memset
(
endpoint
,
0
,
endpoint_len
);
memset
(
endpoint
,
0
,
endpoint_len
);
rc
=
zmq_getsockopt
(
sb
,
ZMQ_LAST_ENDPOINT
,
endpoint
,
&
endpoint_len
);
TEST_ASSERT_SUCCESS_ERRNO
(
assert
(
rc
==
0
);
zmq_getsockopt
(
sb
,
ZMQ_LAST_ENDPOINT
,
endpoint
,
&
endpoint_len
)
);
rc
=
zmq_connect
(
sc
,
endpoint
);
TEST_ASSERT_SUCCESS_ERRNO
(
zmq_connect
(
sc
,
endpoint
));
assert
(
rc
==
0
);
bounce
(
sb
,
sc
);
bounce
(
sb
,
sc
);
rc
=
zmq_disconnect
(
sc
,
endpoint
);
TEST_ASSERT_SUCCESS_ERRNO
(
zmq_disconnect
(
sc
,
endpoint
));
assert
(
rc
==
0
);
TEST_ASSERT_SUCCESS_ERRNO
(
zmq_unbind
(
sb
,
endpoint
));
rc
=
zmq_unbind
(
sb
,
endpoint
);
assert
(
rc
==
0
);
rc
=
zmq_close
(
sc
);
test_context_socket_close
(
sc
);
assert
(
rc
==
0
);
test_context_socket_close
(
sb
);
rc
=
zmq_close
(
sb
);
}
assert
(
rc
==
0
);
void
test_port_wildcard_ipv4_address_ipv6
()
{
/* Port wildcard, IPv4 address, IPv6 enabled */
/* Port wildcard, IPv4 address, IPv6 enabled */
sb
=
zmq_socket
(
ctx
,
ZMQ_REP
);
void
*
sb
=
test_context_socket
(
ZMQ_REP
);
assert
(
sb
);
void
*
sc
=
test_context_socket
(
ZMQ_REQ
);
sc
=
zmq_socket
(
ctx
,
ZMQ_REQ
);
assert
(
sc
);
rc
=
zmq_setsockopt
(
sb
,
ZMQ_IPV6
,
&
ipv6
,
sizeof
(
int
));
const
int
ipv6
=
is_ipv6_available
();
assert
(
rc
==
0
);
TEST_ASSERT_SUCCESS_ERRNO
(
rc
=
zmq_setsockopt
(
sc
,
ZMQ_IPV6
,
&
ipv6
,
sizeof
(
int
));
zmq_setsockopt
(
sb
,
ZMQ_IPV6
,
&
ipv6
,
sizeof
(
int
)));
assert
(
rc
==
0
);
TEST_ASSERT_SUCCESS_ERRNO
(
zmq_setsockopt
(
sc
,
ZMQ_IPV6
,
&
ipv6
,
sizeof
(
int
)));
rc
=
zmq_bind
(
sb
,
"tcp://127.0.0.1:*"
);
TEST_ASSERT_SUCCESS_ERRNO
(
zmq_bind
(
sb
,
"tcp://127.0.0.1:*"
));
assert
(
rc
==
0
);
endpoint_len
=
sizeof
(
endpoint
);
char
endpoint
[
256
];
size_t
endpoint_len
=
sizeof
(
endpoint
);
memset
(
endpoint
,
0
,
endpoint_len
);
memset
(
endpoint
,
0
,
endpoint_len
);
rc
=
zmq_getsockopt
(
sb
,
ZMQ_LAST_ENDPOINT
,
endpoint
,
&
endpoint_len
);
TEST_ASSERT_SUCCESS_ERRNO
(
assert
(
rc
==
0
);
zmq_getsockopt
(
sb
,
ZMQ_LAST_ENDPOINT
,
endpoint
,
&
endpoint_len
)
);
rc
=
zmq_connect
(
sc
,
endpoint
);
TEST_ASSERT_SUCCESS_ERRNO
(
zmq_connect
(
sc
,
endpoint
));
assert
(
rc
==
0
);
bounce
(
sb
,
sc
);
bounce
(
sb
,
sc
);
rc
=
zmq_disconnect
(
sc
,
endpoint
);
TEST_ASSERT_SUCCESS_ERRNO
(
zmq_disconnect
(
sc
,
endpoint
));
assert
(
rc
==
0
);
TEST_ASSERT_SUCCESS_ERRNO
(
zmq_unbind
(
sb
,
endpoint
));
rc
=
zmq_unbind
(
sb
,
endpoint
);
assert
(
rc
==
0
);
test_context_socket_close
(
sc
);
test_context_socket_close
(
sb
);
}
rc
=
zmq_close
(
sc
);
void
test_port_wildcard_ipv6_address
()
assert
(
rc
==
0
);
{
rc
=
zmq_close
(
sb
);
const
int
ipv6
=
is_ipv6_available
();
assert
(
rc
==
0
);
if
(
!
ipv6
)
TEST_IGNORE_MESSAGE
(
"ipv6 is not available"
);
if
(
ipv6
)
{
/* Port wildcard, IPv6 address, IPv6 enabled */
/* Port wildcard, IPv6 address, IPv6 enabled */
void
*
sb
=
test_context_socket
(
ZMQ_REP
);
sb
=
zmq_socket
(
ctx
,
ZMQ_REP
);
void
*
sc
=
test_context_socket
(
ZMQ_REQ
);
assert
(
sb
);
sc
=
zmq_socket
(
ctx
,
ZMQ_REQ
);
assert
(
sc
);
rc
=
zmq_setsockopt
(
sb
,
ZMQ_IPV6
,
&
ipv6
,
sizeof
(
int
));
TEST_ASSERT_SUCCESS_ERRNO
(
assert
(
rc
==
0
);
zmq_setsockopt
(
sb
,
ZMQ_IPV6
,
&
ipv6
,
sizeof
(
int
))
);
rc
=
zmq_setsockopt
(
sc
,
ZMQ_IPV6
,
&
ipv6
,
sizeof
(
int
));
TEST_ASSERT_SUCCESS_ERRNO
(
assert
(
rc
==
0
);
zmq_setsockopt
(
sc
,
ZMQ_IPV6
,
&
ipv6
,
sizeof
(
int
))
);
rc
=
zmq_bind
(
sb
,
"tcp://[::1]:*"
);
TEST_ASSERT_SUCCESS_ERRNO
(
zmq_bind
(
sb
,
"tcp://[::1]:*"
));
assert
(
rc
==
0
);
endpoint_len
=
sizeof
(
endpoint
);
char
endpoint
[
256
];
memset
(
endpoint
,
0
,
endpoint_len
);
size_t
endpoint_len
=
sizeof
(
endpoint
);
rc
=
zmq_getsockopt
(
sb
,
ZMQ_LAST_ENDPOINT
,
endpoint
,
&
endpoint_len
);
memset
(
endpoint
,
0
,
endpoint_len
);
assert
(
rc
==
0
);
TEST_ASSERT_SUCCESS_ERRNO
(
zmq_getsockopt
(
sb
,
ZMQ_LAST_ENDPOINT
,
endpoint
,
&
endpoint_len
));
rc
=
zmq_connect
(
sc
,
endpoint
);
TEST_ASSERT_SUCCESS_ERRNO
(
zmq_connect
(
sc
,
endpoint
));
assert
(
rc
==
0
);
bounce
(
sb
,
sc
);
bounce
(
sb
,
sc
);
rc
=
zmq_disconnect
(
sc
,
endpoint
);
TEST_ASSERT_SUCCESS_ERRNO
(
zmq_disconnect
(
sc
,
endpoint
));
assert
(
rc
==
0
);
TEST_ASSERT_SUCCESS_ERRNO
(
zmq_unbind
(
sb
,
endpoint
));
rc
=
zmq_unbind
(
sb
,
endpoint
);
assert
(
rc
==
0
);
rc
=
zmq_close
(
sc
);
test_context_socket_close
(
sc
);
assert
(
rc
==
0
);
test_context_socket_close
(
sb
);
rc
=
zmq_close
(
sb
);
}
assert
(
rc
==
0
);
}
rc
=
zmq_ctx_term
(
ctx
);
int
main
()
assert
(
rc
==
0
);
{
setup_test_environment
();
return
0
;
UNITY_BEGIN
();
RUN_TEST
(
test_address_wildcard_ipv4
);
RUN_TEST
(
test_address_wildcard_ipv6
);
RUN_TEST
(
test_port_wildcard_ipv4_address
);
RUN_TEST
(
test_port_wildcard_ipv4_address_ipv6
);
RUN_TEST
(
test_port_wildcard_ipv6_address
);
return
UNITY_END
();
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment