0
0
mirror of https://github.com/zeromq/libzmq.git synced 2024-12-27 15:41:05 +08:00

1145 Commits

Author SHA1 Message Date
Luca Boccassi
c81a973cd8 Problem: assert macros not detecting errors from syscall that do not return -1 on failure
Solution: add a new TEST_ASSERT_SUCCESS_RAW_ZERO_ERRNO macro so that
it can check explicitly for non-zero values. This will be used
for getaddrinfo().
2020-04-26 17:59:26 +01:00
Luca Boccassi
727637082f Problem: test_shutdown_stress_tipc fails sometimes
Solution: create socket in the same thread where it is used
2020-04-26 15:08:04 +01:00
Luca Boccassi
7cac73401a Problem: test_many_sockets always fails on Windows
Solution: don't run it
2020-04-18 11:03:15 +01:00
Luca Boccassi
ada6f0c058
Merge pull request #3871 from somdoron/DISCONNECT_MSG
problem: router doesn't know when peer disconnected
2020-04-18 10:49:50 +01:00
Gudmundur Adalsteinsson
9c6738bb45 Problem: No support to query poller size
Solution: Add zmq_poller_size that queries the number
of objects registered, allowing safer usages of poller
to avoid livelock situations.
2020-04-17 18:37:01 +00:00
Doron Somech
81444136d5 problem: router doesn't know when peer disconnected
ZMQ_ROUTER_NOTIFY doesn't have a context and doesn't play nice with protocols. with ZMQ_DISCONNECT_MSG we can set it to a protocol message, like DISCONNECT in majordomo. Router will send it when a peer is disconnected. Another advantage of ZMQ_DISCONNECT_MSG is that it also works on inproc.

Together with ZMQ_HEARTBEAT it allows to build very reliable protocols, and much simpler as well.
2020-04-17 18:04:28 +03:00
Doron Somech
93da6763b0 problem: ZMQ_HEARTBEAT is not useful without sending an hello message
When using ZMQ_HEARTBEAT one still needs to implement application-level heartbeat in order to know when to send a hello message.
For example, with the majordomo protocol, the worker needs to send a READY message when connecting to a broker. If the connection to the broker drops, and the heartbeat recognizes it the worker won't know about it and won't send the READY msg.
To solve that, the majordomo worker still has to implement heartbeat. With this new option, whenever the connection drops and reconnects the hello message will be sent, greatly simplify the majordomo protocol, as now READY and HEARTBEAT can be handled by zeromq.
2020-04-17 14:54:58 +03: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
Gudmundur Adalsteinsson
458d805eb6 Problem: poller sleeps forever if no events
Solution: Fail with error if no events are active and timeout is infinite
2020-04-13 21:18:12 +00:00
Gudmundur Adalsteinsson
7b1fef28f9
Problem: boilerplate when init msg from data copy (#3860)
* Problem: boilerplate when init msg from data copy

Solution: Add zmq_msg_init_buffer to construct
a message by copying memory from buffer.
2020-04-09 23:59:43 +01:00
Luca Boccassi
4f45ac135a Problem: formatting not up to date
Solution: run make clang-format-diff
2020-02-23 18:25:20 +00:00
Bill Torpey
debbe08fb8
add option to stop trying to reconnect on ECONNREFUSED (#3831)
* add option to stop trying to reconnect on ECONNREFUSED
2020-02-23 17:17:22 +00:00
Luca Boccassi
52044b38f7
Merge pull request #3823 from somdoron/ZMQ_PEER
problem: zeromq doesn't has a thread-safe peer to peer socket
2020-02-09 21:53:18 +00:00
Doron Somech
70bc7dd925 problem: zeromq doesn't has a thread-safe peer to peer socket
Solution: a new socket type, called PEER. Very similar to SERVER, but can only connect to other PEERs. Also a new zmq_connect_peer method, that connect and return a routing-id in thread-safe and atomic operation
2020-02-09 23:20:14 +02:00
Luca Boccassi
821685f249
Merge pull request #3822 from somdoron/GROUPMAXLENGTH
problem: maximum size of group doesn't match the RFC maximum size
2020-02-09 13:10:47 +00:00
Doron Somech
05194eb549 problem: maximum size of group doesn't match the RFC maximum size 2020-02-09 14:46:23 +02:00
Simon Giesecke
f17a794d59
Merge pull request #3814 from bluca/sub_cancel_decoder
Implement ZMTP 3.1 subscribe/cancel via commands
2020-02-07 09:26:21 +01:00
Doron Somech
652834296b problem: ws_transport is missing the path the endpoint name 2020-02-06 17:22:28 +02:00
Doron Somech
7bfd9512e6 problem: ws_encoder allocate a new msg for masking
solution: if msg is not shared or constant, mask the message in place
2020-02-06 09:34:22 +02:00
Luca Boccassi
38b6888c3e Problem: libzmq does not advertise ZMTP 3.1
Solution: bump minor version number in the engine as all 3.1 features
are now implemented
2020-02-05 17:03:39 +00:00
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
Simon Giesecke
a95c4ab404 Problem: test_decrease_when_full is disabled for Windows
Solution: add sleep after connecting such that sending is not started before connection succeeded
2019-03-01 15:05:55 -05:00
Simon Giesecke
828ed69d63 Problem: test_decrease_when_full test case in test_sockopt_hwm does not run reliably under Windows
Solution: disable test case for the moment and mark it as FIXME
2019-03-01 05:51:45 -05:00
Simon Giesecke
21a389ca78 Problem: test_security_curve build fails with Windows targeting 8 or newer due to duplicate definition of htonll
Solution: use custom implementation only on older Windows versions
2019-02-12 03:47:26 -05:00
Luca Boccassi
feadf6d40f Problem: cannot monitor state of queues at runtime
Solution: add API and ZMQ_EVENT_PIPES_STATS event which generates 2
values, one for the egress and one for the ingress pipes respectively.
Refactor the events code to be able to send multiple values.
2019-02-10 16:33:26 +00:00
Luca Boccassi
cb73745250 Problem: cannot send more than one value per v2 event
Solution: refactor code and add extra frame with value count before the
values in v2
2019-02-07 20:42:47 +00:00
Luca Boccassi
1e26a93ce2 Problem: test_monitor fails in valgrind
Solution: expect additional events
2019-02-07 20:42:47 +00:00
Luca Boccassi
83946d5c98 Problem: testutil_monitoring does not close received messages
Solution: do it, as above 32 bytes they might be on the heap
2019-02-07 16:24:41 +00:00
Luca Boccassi
edf79dfefc Problem: test_monitor check for DRAFT has to be kept up to date
Solution: check for the available version instead
2019-02-07 16:24:41 +00:00
Luca Boccassi
e5a7f2eb56
Merge pull request #3402 from sigiesec/revert-64-bit-assertions
Revert 64 bit assertions
2019-02-07 15:58:38 +00:00
Simon Giesecke
31ff05d156 Revert "Problem: test build fails on 32 bit systems"
This reverts commit ac19d5f41ccca7acc40fb5970d6f7a0b20e0bc66.
2019-02-07 10:42:32 -05:00
Simon Giesecke
4273ffd266 Partially revert "Problem: monitor events are output as decimal in assertion messages"
This partially reverts commit 19c6aa5c9210144205b3e7f26752ebec8302a2f2.
2019-02-07 10:42:32 -05:00
Simon Giesecke
ec4ecb01ff Problem: no test for ZMQ_BINDTODEVICE
Solution: add test case run with cap_net_admin
Fixes #3397
2019-02-07 09:39:02 -05:00
Simon Giesecke
ac19d5f41c Problem: test build fails on 32 bit systems
Solution: define UNITY_SUPPORT_64 to force 64 bit support
2019-02-07 12:13:11 +01:00
Simon Giesecke
db8c26fce3 Problem: testutil_unity uses undefined names on Windows
Solution: make compilation conditional
2019-02-07 11:04:05 +01:00
Simon Giesecke
8de7e529ec Problem: no test case for tcp name resolution no longer working
Solution: add test case
2019-02-07 11:04:05 +01:00
Simon Giesecke
61e476ec89 Problem: MAX_SOCKET_STRING is too short for ipc wildcard binds
Solution: increase size to 256
2019-02-06 09:09:14 -05:00
Simon Giesecke
19c6aa5c92 Problem: monitor events are output as decimal in assertion messages
Solution: output as hex instead
2019-02-06 07:11:10 -05:00
Simon Giesecke
a86592f78c Problem: test_monitor is not run for ipc and tipc
Solution: add test cases
2019-02-06 07:11:10 -05:00
Simon Giesecke
8d784f26ab Problem: close always fails with wildcard bind, since directory is not empty
Solution: unlink the socket file first
2019-02-05 10:17:28 -05:00
Luca Boccassi
a9a5b2bde5 Problem: DRAFT build broken on old Windows
Solution: define uint64_t if not available in the system headers and
remove inclusion of inttypes.h which does not exist and is already
conditionally included in zmq.h if required, do not use PRIx64
2019-02-03 22:11:52 +01:00
Luca Boccassi
84847138a1 Problem: test_monitor fails with ipv6
Solution: correctly set the ipv6 flag in the connecting socket
2019-02-03 20:56:07 +01:00
Simon Giesecke
0e2e303b10 Problem: test_monitor is not run for ipv6
Solution: add test case using ipv6
2019-02-02 19:00:33 +01:00
Simon Giesecke
f3561f7759 Problem: no assertions for endpoint addresses on ZMQ_EVENT_MONITOR_STOPPED and ZMQ_EVENT_LISTENING events
Solution: added assertions
2019-02-02 18:29:33 +01:00
Simon Giesecke
5e2da02528 Problem: test case is leaking test socket
Solution: close test socket
2019-02-02 17:15:27 +01:00
Simon Giesecke
8f90f579f5 Problem: no assertions for local and remote addresses in monitor tests
Solution: added such assertions and extended test utilities
2019-02-02 16:34:19 +01:00
Simon Giesecke
f884fa725c Problem: get_monitor_event_internal segfaults when using address
Solution: dereference the pointer to the array before accessing the
element
2019-02-02 15:36:26 +01:00
Simon Giesecke
b18d28eec1 Problem: no tests for v2 monitor events and test_socket_monitor_versioned
Solution: add first test case
2019-02-02 15:33:27 +01:00
Simon Giesecke
30e0cbbcdc Problem: test_monitor depends on testutil_security
Solution: move general monitoring test utilities to new testutil_monitoring
2019-02-02 15:33:27 +01:00
Simon Giesecke
367246bb23 Problem: test_monitor is not using a test framework
Solution: migrate to unity
2019-02-02 15:33:27 +01:00
Simon Giesecke
ae79b41d4c Problem: bug in tipc_listener_t::set_address, random port is determined but not used
Solution: assign result to address

Fixes #3376
2019-02-01 04:30:20 -05:00