Francesco Montorsi
c59104a01d
Add ZMQ_TOPICS_COUNT socket option ( #4459 )
2022-11-29 12:00:11 +00:00
Luca Boccassi
60ccf54fa6
Problem: sub/cancel broken with CURVE
...
Solution: handle downgrading sub/cancel messages in CURVE engine
2020-05-03 17:42:53 +01:00
Gudmundur Adalsteinsson
ff80089939
Problem: Spinning on atomics can cause hangs
...
Solution: Add a sleep in the loop. Some versions of
valgrind may hang when spinning on atomic variables.
2020-04-18 12:44:59 +00:00
grmt
718ad8ab96
add wss transport and fix tipc tests when building using cmake on linux ( #3857 )
...
* Allow CMAKE to generate ws and wss transports
I guess there is little use of just ws transport, so by default
GnuTLS (and libsodium) are enabled
* cmake libzmq including wss transport (ubuntu 19.10 and ubuntu 19.10 + wsl 1.0)
test_security_fails (libsodium assert !?)
* updated relicense
* make external libs gnutls nss sodium optional
* #ifdef WSS classes and functions, build test*ws* only if correct libs are included, warning if libs not present
* make libsodium optional
* cmake fix tests TIPC transport
* clang-format pointed out a wrongly placed #ifdef
* GnuTLS before 3.6.7 is not safe
* msvc doesn't agree with strlen in array declaration, test_socks now at least compiles on windows
* windows: libsodium build fails, missing include dirs set by env var
* ws transport test only works when GnuTLS is found
* Fixed condition to use NSS / built in SHA1, so that test_ws_transport should now pass, also when GnuTLS is not found
2020-04-13 23:03:19 +01:00
Simon Giesecke
b01685ea0a
Problem: no unittests for curve_encoding_t
...
Solution: add initial tests
2020-02-03 22:24:16 +01:00
Simon Giesecke
628adf1cb7
Problem: inconsistent polymorphic inheritance
...
Solution: consistently use virtual, override and final
2020-01-27 08:46:55 +01:00
Simon Giesecke
cb2b377d9f
Problem: redundant else after return
...
Solution: remove else
2019-12-08 15:24:48 +01:00
Simon Giesecke
1d9c6bcf09
Problem: unittest_udp_address not properly formatted
...
Solution: run clang-format
2019-12-08 15:24:48 +01:00
Simon Giesecke
cd954e207d
Problem: use of C-style casts
...
Solution: use static_cast/reinterpret_cast instead
2019-12-08 15:24:48 +01:00
Simon Giesecke
a83c57d0bb
Problem: identifiers not conformant with naming convention
...
Solution: fix identifier names
2019-12-08 15:24:48 +01:00
Shubham Lagwankar
1186e9868a
Problem: code doesn't follow libzmq naming conventions
...
Solution: rename types/variables that are inconsistent
2019-06-28 11:57:45 -04:00
Iwan Paolucci
e1a895917c
Problem: libzmq does not build on QNX 6.6 using CMake #3479
...
Solution: libm and libsocket have to be linked explicitely
2019-04-18 13:23:36 +02:00
Luca Boccassi
dc91981df7
Problem: removing header from testutil.hpp breaks unittest build with gcc8
...
Solution: include unistd.h in unittest_poller.cpp
2019-03-24 11:37:41 +00:00
Simon Giesecke
1450830611
Problem: unused include directives
...
Solution: remove and add where needed
2019-03-23 09:46:37 -04:00
Simon Giesecke
5d74eba64a
Problem: remaining basic assertions
...
Solution: use unity assertions instead
2019-03-23 09:09:36 -04:00
Simon Giesecke
347708bcf2
Problem: test utilities are in headers and recompiled for every test
...
Solution: move test utilities to separate testutil library
2019-03-23 09:09:24 -04:00
Simon Giesecke
6e0724609a
Problem: errno not output on test failure
...
Solution: use appropriate test assertion macro
2019-03-20 16:49:46 +01:00
Luca Boccassi
4a0b6c6c6f
Problem: compiler warning in unittest_poller
...
Solution: cast the unused variable
2018-11-09 20:51:20 +00:00
Shubham Lagwankar
3659c1204a
Problem: radix tree needs benchmarks and improvements ( #3290 )
...
* Problem: radix tree needs benchmarks and improvements
Solution: add a benchmark and make suggested improvements
2018-11-09 10:49:40 +00:00
Shubham Lagwankar
c68afb412e
Problem: potentially large memory footprint of trie as number of
...
subscriptions increases
Solution: use a radix tree instead of a trie to store subscriptions
2018-10-31 07:49:55 -04:00
Christoph Schulz
a21228b664
Conform to cmakelint --filter=-linelength
...
- Lowercase all commands
- Unify indent to 2 spaces
- Remove spaces around brackets
- Remove repitition of condition in else(...) and endif(...)
Note: (re-)running CMake did not change the content of the generated files
2018-09-10 00:12:07 +02:00
Wenbin Hou
c981336445
Udpate unittests/CMakeLists.txt: use ZeroMQ_SOURCE_DIR, ZeroMQ_BINARY_DIR
...
Use ZeroMQ_SOURCE_DIR, ZeroMQ_BINARY_DIR instead of CMAKE_SOURCE_DIR, CMAKE_BINARY_DIR, which allows libzmq to become an "add_subdirectory" target (with static build).
Otherwise, building unittest_xxx would complain header files not found.
2018-08-15 10:11:49 +08:00
kermit
ba3bc3806c
compile unittests
2018-06-06 18:24:53 +08:00
Simon Giesecke
ee85957dc4
Problem: no test case for polling pending connect that ultimately fails
...
Solution: added test case, reproduces the likely cause for #3107
2018-05-22 18:21:06 +02:00
Simon Giesecke
b0c3a42ed2
Problem: C4800 warnings in unittest_ip_resolver.cpp
...
Solution: make proper boolean expression
2018-05-14 19:18:42 +02:00
Lionel Flandrin
b0df4be51c
Problem: UDP engine does not support IPv6
...
Solution: Add IPv6 support
2018-05-09 12:06:23 +02:00
Lionel Flandrin
746d4a0f5e
Problem: UDP transport doesn't let the user specify the local bind address
...
for multicast
Solution: augment the UDP URL syntax to accept an interface specifier with a
syntax similar to the PGM urls.
Fixes #2212
2018-05-04 14:36:18 +02:00
Lionel Flandrin
524affc4c3
Problem: UDP address parser uses ad hoc code to detect multicast address
...
Solution: factor the code into ip_resolver, add IPv6 support and unit tests.
2018-05-04 10:44:01 +02:00
Lionel Flandrin
2dc8579412
Problem: the UDP address code uses an ad hoc custom parser
...
Solution: replace it with the ip_resolver code shared with the TCP
address code
It simplifies the UDP parsing code and makes it behave more like the
TCP counterpart, in particular it's not possible to connect to hosts
by name and bind by NIC names.
It also adds support for "*" port resolving to 0 (useful to let the OS
allocate the port number).
2018-05-03 14:22:48 +02:00
Lionel Flandrin
0b36b84243
Problem: no unit tests for udp_address.cpp
...
Solution: add unit tests
2018-05-03 14:22:42 +02:00
Lionel Flandrin
406c348771
Problem: ip_resolver allows wildcard ports for non-bindable sockets
...
Solution: return an error in this situation but still allow using an explicit
"0" if somebody really wants to connect to port 0.
This shouldn't break any existing code because a "*" port was already rejected
in an early test in the TCP path in zmq::socket_base_t::connect.
2018-05-03 13:19:22 +02:00
Lionel Flandrin
4cd2c2ebf8
Problem: address parsing code is tied to the TCP code
...
Solution: Factor the code into a different file with a well defined API and add
unit tests.
2018-05-02 18:06:01 +02:00
Simon Giesecke
c602361836
Problem: debug output in CMake file
...
Solution: removed
2018-03-14 08:22:23 +01:00
Luca Boccassi
23025f44c6
Problem: unittest_mtrie fails on 32bit *nix
...
Solution: correctly dereference pointer in test.
2018-03-02 18:00:17 +00:00
Simon Giesecke
9cd01bb54f
Problem: inconsistent return values from mtrie_t::rm
...
Solution: Return an enum from rm instead of a bool, and adapt existing uses
2018-03-02 13:42:50 +01:00
Simon Giesecke
e34e03d1a6
Problem: missing test case for addition of duplicate entry
...
Solution: added test case
2018-03-02 13:42:46 +01:00
Simon Giesecke
5d5def40b5
Problem: casts required due to void* arguments in a C++ class
...
Solution: introduce a type template argument
2018-03-02 13:42:42 +01:00
Simon Giesecke
15b4f596a8
Problem: insufficient unit tests for mtrie
...
Solution: added further test cases
2018-03-02 13:42:41 +01:00
Simon Giesecke
8bb055ece8
Problem: insufficient unit tests for mtrie
...
Solution: added test case, reduced code duplication in tests
2018-03-02 13:40:53 +01:00
Simon Giesecke
0e34d13063
Problem: insufficient unit tests for mtrie
...
Solution: added unit test and assertions
2018-03-02 13:40:50 +01:00
Simon Giesecke
506f0e5c44
Problem: insufficient unit tests for mtrie
...
Solution: add test case
2018-03-02 13:40:49 +01:00
Simon Giesecke
56d806a9ef
Problem: infufficient unit tests for mtrie
...
Solution: added some test cases for rm
2018-03-02 13:40:48 +01:00
Simon Giesecke
b42a59a839
Problem: insufficient unit tests for mtrie
...
Solution: added test case
2018-03-02 13:40:46 +01:00
Simon Giesecke
dbbc10e05b
Problem: incomplete test coverage of mtrie
...
Solution: add some more test cases
2018-03-02 13:32:51 +01:00
Simon Giesecke
a9712c0bf2
Problem: no unittests for mtrie
...
Solution: made mtrie generic (to remove complex dependency on pipe_t),
and added some unit tests
2018-03-02 13:32:51 +01:00
Simon Giesecke
5224b8704a
Problem: race condition in unit test
...
Solution: fix order of statements in test_events_t
2018-02-13 22:27:15 -05:00
Simon Giesecke
e8e24030ea
Problem: network initialization and shutdown functions not available for
...
reuse
Solution: extract into functions defined in ip.hpp
Problem: signaler_t::make_fdpair not reusable
Solution: move make_fdpair to ip.hpp
Problem: epoll worker with no fds cannot be stopped
Solution: use interruptible epoll_pwait call
Problem: insufficient unit tests for poller
Solution: add test cases
2018-02-13 18:38:17 +01:00
Simon Giesecke
56c726d425
Problem: no unit tests
...
Solution: set up initial unit tests
2018-02-11 17:25:36 +00:00