Commit Graph

125 Commits

Author SHA1 Message Date
Doron Somech
1c6c5514ed problem: no way to know when connection is temporarly dropped
This is important in order to send the login sequence of a client to the server.

Solution: add ZMQ_HICCUP_MSG to a socket, socket would send that message whenever a connection get temporarly disconnected
2021-06-06 17:14:22 +03:00
Chengye Ke
04c37982b1
Support so_busy_poll (#4188)
* Support so_busy_poll.
2021-05-14 23:05:56 +01:00
Luca Boccassi
16af1bd622 Problem: test_pubsub broken everywhere
Solution: disable it
2021-01-18 09:42:33 +00:00
mjvankampen
2dd24d6d80
Problem: norm fails to compile under windows (#4123)
* Makes norm useable (but maybe slow) on windows
2021-01-18 08:42:14 +00:00
Simon Giesecke
c6301206dc Problem: no tests for ZMQ_TCP_ACCEPT_FILTER
Solution: add some tests
2020-09-04 15:51:33 +02:00
Bill Torpey
c04f6581e0
rebase reconnect-redux on master (#3960)
* add option to stop reconnecting on failed handshake
2020-06-26 23:41:44 +01:00
Doron Somech
3da84c6d06 problem: no thread-safe alternative for ZMQ_PAIR
Solution: create ZMQ_CHANNEL, the thread safe alternative
2020-05-09 08:49:01 +03:00
Luca Boccassi
96787c35f8 Problem: no fuzz testing for API with variable input
Solution: add tests for zmq_bind, zmq_connect and zmq_z85_decode
2020-04-27 01:18:45 +01:00
Luca Boccassi
57df836381 Problem: no fuzz testing for CURVE
Solution: add simple, initial tests for client and server
2020-04-27 01:18:31 +01:00
Luca Boccassi
8e774f3cd6 Problem: no integration with fuzz testing
Solution: port the 2 new tests from oss-fuzz, and wire them up to
be ran manually with a static input in normal builds.
Add a specific configure option to use the external fuzzing engine
from oss-fuzz.
2020-04-27 01:18:08 +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
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
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
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
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
Simon Giesecke
e7043c815d Problem: intermittent timeouts of test_reconnect_ivl
Solution: increase timeout to 15 seconds
2020-02-03 23:19:45 +01: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
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
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
Simon Giesecke
1450830611 Problem: unused include directives
Solution: remove and add where needed
2019-03-23 09:46:37 -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
9528983d95 Problem: tests without test framework
Solution: migrate to Unity
2019-03-22 12:36:24 -04: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
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 ac19d5f41c.
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
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
Francesco Montorsi
eb3e63e22f Hwm tests and docs (#3242)
Add new HWM tests and more detailed documentation
2018-09-13 22:14:06 +01: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
Simon Giesecke
d668925bca Problem: extensive duplication between test_use_fd_tcp and test_use_fd_ipc
Solution: merge into a single test_use_fd and reduce code duplication by extracting common functions
2018-08-23 18:00:52 +02:00
Luca Boccassi
fe82c643ed
Merge pull request #3220 from sigiesec/code-improvements
Various refactorings
2018-08-16 16:29:17 +01:00
Simon Giesecke
987e75b887 Problem: test program test_unbind_inproc is redundant, the same is already tested in test_inproc_connect
Solution: remove test_unbind_inproc
2018-08-16 12:37:06 +02:00
Simon Giesecke
6824c167ad
Merge pull request #3217 from WenbinHou/patch-1
Update unittests/CMakeLists.txt: use ZeroMQ_SOURCE_DIR, ZeroMQ_BINARY_DIR
2018-08-16 11:15:44 +02:00
Wenbin Hou
0507ae877d
Update tests/CMakeLists.txt: use ZeroMQ_SOURCE_DIR, ZeroMQ_BINARY_DIR
Use ZeroMQ_SOURCE_DIR, ZeroMQ_BINARY_DIR instead of CMAKE_SOURCE_DIR, CMAKE_BINARY_DIR in tests/CMakeLists.txt
Similar reason to change unittests/CMakeLists.txt
2018-08-16 13:17:44 +08:00
Szekely Gyorgy
2cdad3d0ce Add ZMQ_ROUTER_NOTIFY draft socket option (#3213)
* Add ZMQ_ROUTER_NOTIFY draft socket option
2018-08-15 08:54:08 +01:00
Luca Boccassi
d70714e877 Problem: can't process ZMTP 3.1 cancel/subscribe commands
Solution: add some msg helpers to parse commands, and check for
subscribe or cancel commands and process them accordingly in the xpub
and xsub classes.
2018-06-23 17:16:10 +01:00
Simon Giesecke
fa8bc17ef3 Problem: CMake error on Win32 with DRAFTS disabled
Solution: guard CMake statement properly
2018-06-01 18:20:11 +02:00
Simon Giesecke
7b686900f9 Problem: VS2008 build fails due to unavailable stdint.h
Solution: specify not to use stdint.h for VS<=2008, fixes #3025
2018-05-24 15:56:08 +02:00
Simon Giesecke
1e89a51734 Problem: broken indentation
Solution: fix indentation
2018-05-24 15:56:08 +02:00
Simon Giesecke
9df851225a Problem: test_radio_dish takes time near timeout
Solution: increase timeout
2018-05-23 16:31:05 +02:00
Simon Giesecke
2bdf86d6c2 Problem: timeout on test_many_sockets with epoll
Solution: increase timeout, remove timeout settings for unsupported poll poller
2018-05-23 16:26:52 +02:00
Luca Boccassi
4a4c6c27e4 Problem: heartbeat tests only cover ROUTER/DEALER
Solution: check more socket type to cover other session managers.
Increase timeout as the test now takes ~12 seconds.
2018-04-28 15:49:54 +01:00
Simon Giesecke
6d89635f9a Problem: test_udp not using unity
Solution: migrate to unity, merge into test_radio_dish, and split up test cases
2018-03-16 17:03:45 +01:00
Kachanovskiy
eb76ea06bd Fix for #2997 2018-03-16 12:48:00 +01:00
Luca Boccassi
4cb15ec638
Merge pull request #2994 from sigiesec/migrate-to-unity
Migrate further tests to unity, and split up into individual test cases
2018-03-15 16:55:05 +00:00
Luca Boccassi
e388774737
Merge pull request #2981 from eponsko/master
Problem: no support for ZMTP 3.1 application metadata
2018-03-15 12:57:40 +00:00
Simon Giesecke
1e217ac063 Problem: unity built with unnecessary float but without command line argument support
Solution: add appropriate definitions to build
2018-03-15 11:28:50 +01:00
Pontus Sköldström
dd5eec35be Support application metadata through ZMQ_METADATA
Lets the application set per-connection metadata.
Metadata is specified as "X-key:value" and set using zmq_setsockopt, eg:
zmq_setsockopt (s, ZMQ_METADATA, "X-key:value", 11);

The peer can then obtain the metadata from a received message:
char *data = zmq_msg_gets(msg, "X-key");
2018-03-14 12:56:15 +01:00