Luca Boccassi
253e9dd27b
Problem: libzmq does not send ZMTP 3.1 sub/cancel commands
...
Solution: if all peers of a socket are >= 3.1 use sub/cancel commands
instead of the old 0/1 messages.
For backward compatibility, move the handling of 0/1 or sub/cancel
command strings to the encoders, so that the right thing can be done
depending on the protocol version.
Do not set the command flag until the encoder, so that we can handle
the inproc case (which skips the encoder).
2020-02-05 17:03:39 +00:00
Simon Giesecke
21b8d5cff7
Problem: duplicated code in tests related to monitoring
...
Solution: extract new receive_monitor_address function
2020-02-04 18:36:03 +01:00
Simon Giesecke
495fb00b7e
Problem: pointee types are unnecessarily non-const
...
Solution: add const where possible
2020-02-04 18:34:19 +01:00
Luca Boccassi
84ec65482f
Merge pull request #3808 from sigiesec/fix-test-monitor-to-be-checked
...
Fix intermittent test_monitor and test_security_zap timeouts/deadlocks for now
2020-02-04 15:23:58 +01:00
Simon Giesecke
66094678d1
Problem: intermittent deadlocks/timeouts in test_monitor and test_security_zap
...
Solution: wait for monitor to stop resp. unregister monitor before
closing monitored socket.
2020-02-04 14:34:36 +01:00
Simon Giesecke
58b636675a
Problem: on POSIX systems, all tests have a timeout of 60 seconds; disabling it via ZMQ_DISABLE_TEST_TIMEOUT doesn't work anymore
...
Solution: remove ZMQ_DISABLE_TEST_TIMEOUT guard but add default parameter to setup_test_environment
2020-02-04 09:48:55 +01:00
Simon Giesecke
577d64c007
Problem: intermittent timeouts on test_heartbeats
...
Solution: increase number of retries when reading monitor event,
and increase timeout
2020-02-04 09:48:55 +01:00
Luca Boccassi
06bdebfe8d
Merge pull request #3805 from sigiesec/curve-zerocopy
...
CURVE: Reduce number of memory allocations and message copies
2020-02-04 08:58:31 +01:00
Simon Giesecke
e7043c815d
Problem: intermittent timeouts of test_reconnect_ivl
...
Solution: increase timeout to 15 seconds
2020-02-03 23:19:45 +01:00
Simon Giesecke
78b94a4fcf
Problem: testutil.hpp pulls in min/max macro definitions on Windows
...
Solution: define NOMINMAX
2020-02-03 17:07:15 +01:00
Simon Giesecke
36a8df2f8c
Problem: sockets can be created after calling zmq_ctx_shutdown
...
Solution: fix handling of _starting and _terminate flags
Add tests for this situation.
Clarify documentation of zmq_ctx_shutdown and zmq_socket.
Fixes #3792
2020-01-26 18:06:14 +01:00
Matthias Loy
67adc458df
Roundtrip test for websocket url without a path
2020-01-18 23:19:31 +01:00
Doron Somech
b120ec33a9
problem: ws_engine don't support WS RFC ping-pong
...
Solution: implement both PONG response and producing pings
2020-01-18 18:28:00 +02:00
Luca Boccassi
c560a41473
Problem: mingw build broken
...
Solution: check correct preprocessor define in test_reconnect_ivl to match the
test invocation
2019-12-28 21:17:09 +01:00
Simon Giesecke
a64c3e6c7d
Problem: redundant consecutive return statements
...
Solution: remove the redundant one
2019-12-24 10:17:10 +01:00
Simon Giesecke
cb2b377d9f
Problem: redundant else after return
...
Solution: remove else
2019-12-08 15:24:48 +01:00
Simon Giesecke
fdabd73da6
Problem: parameters not const where const possible
...
Solution: add const
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
Luca Boccassi
df993d113c
Merge pull request #3751 from sigiesec/windows-domain-sockets-signaler
...
Use Unix domain sockets for listener when available on Windows
2019-12-07 00:25:21 +00:00
Simon Giesecke
cf7e0fb066
Problem: test_capabilities fails on Windows when IPC support is available
...
Solution: Fix ifdef for expectation of IPC support
2019-12-06 20:24:41 +01:00
liedtkeInTUM
65d2f1f498
Problem: if IPC enabled libzmq does not compile when in uwp build ( #3747 )
...
* Problem: if IPC enabled libzmq does not compile when in uwp build
* Problem 10.0.##### can be valid windows target versions
* Problem: No builds are triggered on uwp platform
* Problem: epoll is set before UWP platform is checked
* Problem: used wrong CMAKE_SYSTEM_NAME specifier
* Problem: build tests fails during cmake configure
* Use Win32 build step for Win32-uwp platform
* Disable compile options that produce warnings that leads to a ci fail
* winnt version is set by cmake, no need for redefinition in windows.hpp
* Eliminate all warning according Incremental and opt:icf are specified
* Prefer to disable opt flags in debug config rather than incremental linking
* CMAKE_GENERATOR should not include uwp definition
* Add release build with uwp configuration
* Problem: pointer potentially uninitialized
2019-12-06 13:27:24 +00:00
Andrij Abyzov
5a854780f2
Problem: cannot send arbitrary data from XSUB to XPUB.
...
Solution: now if the first frame in a multipart message is not subscribe/unsubscribe,
the rest of the parts are also considered to be not subscribe/unsubscribe.
2019-12-04 16:25:08 +01:00
Luca Boccassi
00a448b1f0
Problem: WS tests bind to hard-coded TCP port and fail when ran in parallel
...
Solution: bind to wildcard and use ZMQ_LAST_ENDPOINT
2019-11-28 12:37:53 +00:00
Andrij Abyzov
108977c838
Change XSUB -> XPUB multipart message processing.
...
Now only the first part in a multipart message will be treated as subscribe/unsubscribe.
The rest will be considered user messages regardless of the first byte.
2019-11-19 18:22:12 +01:00
Doron Somech
a1aeae92cd
problem: test_wss_transport expired
...
Solution: generate new keys that last for 100 years
2019-11-10 10:34:43 +02:00
Luca Boccassi
bfa8cf3089
Problem: test_pair_tcp_cap_net_admin requires sudo but is enabled by default in CMake
...
Solution: add an option to enable it, and default to false. Enable it in
the CI so we don't lose coverage, as it works on Travis.
Fixes #3725
2019-10-31 09:37:22 +00:00
Simon Giesecke
66d0f3511f
Problem: ipc transport not supported under Windows
...
Solution: implement support
2019-10-29 23:04:54 +01:00
Simon Giesecke
7f43e7ff75
Problem: build targeting Windows XP is broken
...
Solution: fix build issues
2019-10-19 14:04:55 +02:00
Luca Boccassi
5bcb7dc5fe
Problem: test_wss_transport doesn't compile without DRAFT
...
Solution: skip it
2019-10-07 10:50:51 +01:00
somdoron
2d6a66a81d
problem: test_xpub_nodrop fails frequently
...
Solution: fix the test
2019-10-07 09:46:43 +03:00
somdoron
41b9af2c79
problem: WS transport doesn't support mechanism
...
Solution: add support to mechanism
2019-10-04 16:24:48 +03:00
somdoron
7296fb5b15
problem: unsecured websocket is rarely used in production
...
Solution: support websocket with tls (wss)
2019-10-02 08:58:26 +03:00
somdoron
a48fdd6a7f
problem: ws_engine doesn't send correct host and path
...
Solution: extract path and host from the address
2019-09-05 17:33:38 +03:00
Luca Boccassi
6fb8ef0711
Problem: can no longer send user data from XSUB to XPUB
...
Solution: fix regression introduced by:
https://github.com/zeromq/libzmq/pull/3168
Correctly fall back to user message if the first byte is neither 0 nor
1, and add a simple unit test
Fixes https://github.com/zeromq/libzmq/issues/3656
2019-09-02 11:33:19 +01:00
Francesco Montorsi
b3582da8fb
Introduce extended set/get methods for ZMQ contexts ( #3642 )
...
* Introduce DRAFT zmq_ctx_set_ext() and zmq_ctx_get_ext() methods. Change
ZMQ_THREAD_NAME_PREFIX to allow for non-numeric thread name prefixes.
2019-08-27 23:41:23 +01:00
Luca Boccassi
7262701876
Problem: build on centos6/ubuntu12 still broken
...
Solution: move the definition of __STDC_LIMIT_MACROS somewhere the test actually uses
2019-07-16 18:15:47 +01:00
Luca Boccassi
3692b26649
Merge pull request #3579 from somdoron/zws2
...
problem: browser cannot communicate with zeromq directly
2019-07-16 13:28:30 +01:00
Simon Giesecke
4756ff3046
Problem: use of tweetnacl vs. libsodium is ambiguous
...
Solution: properly set defines from test_security_curve
2019-07-16 09:39:29 +02:00
somdoron
39941a0c82
problem: browser cannot communicate with zeromq directly
...
Solution: implement ZWS 2.0 which websocket transport for zeromq
2019-07-16 10:12:20 +03:00
Luca Boccassi
eec972a5b4
Problem: unused variable in test tool
...
Solution: don't write it
2019-07-09 18:10:25 +01:00
jean-airoldie
241b073fd3
Problem: missing heartbeat test for draft sockets
...
Solution: Add heartbeat tests for CLIENT, SERVER, GATHER and SCATTER
socket types. RADIO and DISH tests won't be added since heartbeating
is not yet supported.
2019-06-23 13:23:21 -04:00
Christophe Guillon
153418e175
Add tests for SOCKS proxy support
2019-06-13 15:35:27 +02:00
Christophe Guillon
f203064374
Problem: test assertions not reporting the right line number
...
Solution: pass the line number as part of the testutil functions
2019-06-12 11:20:48 +02:00
Romain Moret
27005cc1ae
Implement thread name on windows, cleanup thread naming internals
2019-05-21 12:12:19 +02:00
Luca Boccassi
19ff4d0b6a
Problem: zmq_socket_monitor_versioned_typed duplicates zmq_socket_monitor_versioned
...
Solution: unify the two APIs, as they are both still in DRAFT state and
thus can be changed.
2019-05-18 16:44:07 +01:00
imkcy9
2f98f7034b
Support XPub socket send last value caching to last subscription pipe with ZMQ_XPUB_MANUAL_LAST_VALUE. ( #3511 )
...
* Add ZMQ_XPUB_MANUAL_LAST_VALUE
* Surpport xpub send last value caching to one pipe with ZMQ_XPUB_MANUAL_LAST_VALUE
* Add test_xpubub_manual_last_value
* Add relicense and doc
2019-05-17 22:12:32 +01:00
jean-airoldie
8738ada00f
Problem: Endpoints are sometimes not unbound quick enough
...
Solution: Create a unique endpoint for each fcn call.
2019-05-15 06:27:01 -04:00
jean-airoldie
7836ec752c
Problem: Potentially unitialized variable in #3508
...
Solution: Initialized it
2019-05-15 05:35:58 -04:00
jean-airoldie
606a8f7967
Problem: Socket monitoring only allows ZMQ_PAIR
...
Solution: Allow ZMQ_PUB and ZMQ_PUSH sockets types for the monitoring.
This way someone could create a ZMQ_PULL socket connected to multiple
monitoring sockets at the same time.
2019-05-15 01:48:46 -04:00
Simon Giesecke
d46c580977
Problem: signature of zmq_poller_fd does is incompatible with regular error handling
...
Solution: change return type to int (again) and return fd via an output parameter
2019-05-09 11:09:35 -04:00
jean-airoldie
cdbe120738
Problem: No invalid pointer handling for zmq_poller_fd
...
Solution: Add some and document it.
2019-05-02 17:10:20 -04:00
jean-airoldie
19dd8195be
Problem: Missing doc & unit tests for zmq_poller_fd
...
Solution: Add doc & unit tests
2019-05-02 06:31:14 -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
6c613902da
Merge pull request #3467 from sigiesec/improve-hwm-pubsub-test
...
Improve hwm pubsub test
2019-04-02 19:44:55 +01:00
Simon Giesecke
b9041bf78c
Problem: missing information on assertion failure
...
Solution: include sent and received counts on assertion failure
2019-04-02 18:52:48 +02:00
Simon Giesecke
d328f90bb7
Problem: inadequate recv variant used which assumes 0-terminated string
...
Solution: use array recv variant instead
2019-04-02 18:44:55 +02:00
Simon Giesecke
a5ee4fb001
Problem: code duplication for multiple transports, multiple test cases combined in one
...
Solution: split test cases and remove code duplication
2019-04-02 18:36:18 +02:00
Simon Giesecke
06f5a6f282
Problem: use of generic assertion macro
...
Solution: use more specific assertion macro
2019-04-02 18:35:35 +02:00
Simon Giesecke
d4401b230b
Problem: test case not making use of test_bind helper function
...
Solution: replace custom code by test_bind
2019-04-02 18:34:51 +02:00
Simon Giesecke
42e27b7d0d
Problem: socket returned by ZMQ_FD cannot be used with CreateIoCompletionPort
...
Solution: add WSA_FLAG_OVERLAPPED socket flag
2019-03-27 09:56:11 +01:00
Simon Giesecke
bfec30b1e5
Problem: test_address_tipc is unnecessarily verbose
...
Solution: make use of custom Unity macros
2019-03-24 13:34:13 -04:00
Simon Giesecke
386de33030
Problem: code from bind_loopback_tipc is duplicated
...
Solution: call bind_loopback_tipc where applicable
2019-03-24 13:34:13 -04:00
Simon Giesecke
0e0bead3cf
Problem: code from bind_loopback_ipc is duplicated
...
Solution: call bind_loopback_ipc where applicable
2019-03-24 13:34:13 -04:00
Simon Giesecke
7f64b925aa
Problem: code from bind_loopback_ipv4 is duplicated
...
Solution: call bind_loopback_ipv4 where applicable
2019-03-24 13:34:13 -04:00
Simon Giesecke
8dc933f2ed
Problem: non-expressive test case name
...
Solution: rename to more meaningful name
2019-03-24 13:34:13 -04:00
Simon Giesecke
34999d5069
Problem: s_send(more) can be replaced by safer send_string_expect_success
...
Solution: remove s_send(more) and replace all uses
2019-03-24 13:34:13 -04:00
Simon Giesecke
af4fa22fd8
Problem: default test setUp/tearDown functions duplicated in many test programs
...
Solution: define setUp/tearDown functions via SETUP_TEARDOWN_TESTCONTEXT macro where possible
2019-03-24 12:53:12 -04:00
Simon Giesecke
2b80dd7add
Problem: test_bind used with explicit endpoint where bind_loopback_ipv4 could be used
...
Solution: use bind_loopback_ipv4 instead
2019-03-24 12:35:19 -04:00
Simon Giesecke
c2cd2966ab
Problem: no documentation of testutil_unity functions
...
Solution: add documentation
2019-03-23 14:58:47 -04:00
Simon Giesecke
de622c8198
Problem: functions are unnecessarily declared in header
...
Solution: remove from header and declare as static
2019-03-23 14:09:06 -04:00
Simon Giesecke
1450830611
Problem: unused include directives
...
Solution: remove and add where needed
2019-03-23 09:46:37 -04:00
Simon Giesecke
d0c4402daf
Problem: needless use of macros
...
Solution: convert streq/strneq into functions
2019-03-23 09:09:36 -04:00
Simon Giesecke
a62e9d35be
Problem: internal functions present in header file
...
Solution: remove declaration and make functions static
2019-03-23 09:09:36 -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
cbd4157638
Problem: tests without test framework
...
Solution: migrate to Unity
2019-03-22 12:36:28 -04:00
Simon Giesecke
9528983d95
Problem: tests without test framework
...
Solution: migrate to Unity
2019-03-22 12:36:24 -04:00
Simon Giesecke
90a4d268d9
Problem: tests without test framework
...
Solution: migrate to Unity
2019-03-22 12:07:32 -04:00
Simon Giesecke
6ed03e9333
Problem: tests without test framework
...
Solution: migrate to Unity
2019-03-22 12:07:14 -04:00
Simon Giesecke
75cd23d6af
Problem: tests without test framework
...
Solution: migrate to Unity
2019-03-22 12:06:39 -04:00
Simon Giesecke
06e713e9e0
Problem: tests without test framework
...
Solution: migrate to Unity
2019-03-22 12:06:39 -04:00
Simon Giesecke
4ab381436d
Problem: tests without test framework
...
Solution: migrate to Unity
2019-03-22 12:06:12 -04:00
Simon Giesecke
6f083df5fb
Problem: tests without test framework
...
Solution: migrate to Unity
2019-03-22 12:06:12 -04:00
Simon Giesecke
740780293a
Problem: tests without test framework
...
Solution: migrate to Unity
2019-03-22 12:06:12 -04:00
Simon Giesecke
f083e60d8c
Problem: use of extra context
...
Solution: use test context instead
2019-03-22 12:06:12 -04:00
Simon Giesecke
924d47f818
Problem: tests without test framework
...
Solution: migrate to Unity
2019-03-22 12:06:12 -04:00
Simon Giesecke
0266d4ac27
Problem: testutil_monitoring not using unity
...
Solution: migrate to unity and adapt users
2019-03-20 17:03:26 +01:00
Simon Giesecke
f46a96926c
Problem: test_security_curve uses custom assertion macro
...
Solution: use standard TEST_ASSERT_SUCCESS_ERRNO macro instead
2019-03-20 16:49:46 +01:00
Simon Giesecke
efaca82bff
Problem: testutil_security not using unity
...
Solution: migrate to unity and adapt users
2019-03-20 16:49:46 +01:00
Simon Giesecke
669fc4df5a
Problem: test_security_zap not using a test framework
...
Solution: migrate to unity
2019-03-20 16:49:46 +01:00
Simon Giesecke
99e53698c5
Merge pull request #3456 from bluca/test_fd_port
...
Problem: TCP and UDP test sockets use hard-coded port
2019-03-19 17:57:09 +01:00
Luca Boccassi
98875a9ddc
Problem: TCP and UDP test sockets use hard-coded port
...
Solution: move ephemeral port code to header and use it in both
tests
2019-03-18 23:27:01 +00:00
Andreas Hasenack
d81f3ec21c
Problem: test_filter_with_supplemental_process_owner_gid fails
...
Solution: only set supgroup to a valid gid
2019-03-18 13:21:44 -03:00
Simon Giesecke
36a16ec7d1
Problem: test_security_plain not using a test framework
...
Solution: migrate to Unity
2019-03-16 17:51:25 +01:00
Simon Giesecke
223ef516b6
Problem: test_security_null not using a test framework
...
Solution: migrate to Unity and separate test_security_no_zap_handler
2019-03-16 17:20:19 +01:00
Luca Boccassi
0bbd38f5d4
Problem: text_xpub_nodrop sometimes fails
...
Solution: use XPUB and wait for the subscription message rather than
using a sleep which might or might not be enough
2019-03-08 18:26:23 +00:00
Claudio Biagi
d41ed6180b
Proxy performance fix, ticket #3439
...
Improve performance of the proxy forwarding batch of message.
Add throughput benchmark for proxy.
Fix valgrind error reported on unitialized vars
RELICENSE: Add emtr grant
2019-03-08 15:02:58 +01:00
Simon Giesecke
73159a8fab
Problem: race condition in test_hwm
...
Solution: wait a bit to allow connect to succeed if inproc bind preceded connect
2019-03-01 18:20:37 -05:00
Simon Giesecke
14fd7505bc
Problem: race condition in test_xpub_nodrop
...
Solution: try to avoid race condition by increasing timeout from 0 to 250ms
2019-03-01 18:20:37 -05:00