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
Luca Boccassi
93b3689376
Problem: ZMQ_SOCKET_LIMIT and ZMQ_THREAD_PRIORITY have the same value
...
Solution: remove documents and tests for ZMQ_THREAD_PRIORITY getter. It
never worked and can never work as it has the same value as a get-only
option ZMQ_SOCKET_LIMIT. It cannot be changed without breaking ABI.
Note that the setter works fine as ZMQ_SOCKET_LIMIT is get-only.
2019-01-15 19:58:42 +00:00
Luca Boccassi
4d38552445
Problem: GCC warnings about string overflows in tests
...
Solution: mostly false positives, but fix them
2019-01-14 23:50:56 +00:00
Luca Boccassi
d55956574d
Problem: test_rebind_ipc still fails
...
Solution: create manually the random IPC file to reuse
2019-01-14 00:33:36 +00:00
Luca Boccassi
f64b697095
Problem: tests use hard-coded fixed IPC file path
...
Solution: use wildcards or random directories to avoid races when
multiple users are running the same test on the same machine
2019-01-13 14:50:54 +00:00
Luca Boccassi
4147957a5e
Problem: test_security_zap fails on architectures that disallow unaligned pointer access
...
Solution: use memcpy instead of doing pointer arithmetics with casting
and dereferencing to fix the error on sparc64
2019-01-13 13:10:05 +00:00
Luca Boccassi
9bd9cbbeea
Problem: race condition in PUSH might break atomicity
...
Solution: if a multi-part message cannot be delivered by a PUSH socket
because the pipe is broken mid-way, drop the rest of the frames so that
the atomicity property is not broken.
2018-12-28 17:55:19 +01:00
Simon Giesecke
88bea4fd73
Problem: tests without test framework
...
Solution: migrate to unity
2018-12-25 13:50:31 +01:00
Simon Giesecke
affe77280c
Improved test assertion message
2018-12-16 12:28:42 -05:00
Simon Giesecke
00f4bd05be
Problem: tests without test framework
...
Solution: migrate to unity
2018-12-16 12:28:42 -05:00
Simon Giesecke
4a48184032
Problem: tests without test framework
...
Solution: migrate to unity
2018-12-10 07:01:06 -05:00
Simon Giesecke
a8b2e5a617
Problem: tests without test framework
...
Solution: migrate to unity
2018-12-09 07:36:39 -05:00
Luca Boccassi
f1dd84c11f
Problem: zmq_proxy STATISTICS eligible for stable
...
Solution: do it
2018-11-18 13:23:38 +00:00
Luca Boccassi
35c6985e68
Problem: zmq_stopwatch_intermediate is eligible for STABLE
...
Solution: do it
2018-11-18 13:23:38 +00:00
Luca Boccassi
22c3ecc458
Problem: some context options have no getter
...
Solution: add one so that class-based bindings can easily use them
2018-11-18 13:23:38 +00:00
Luca Boccassi
c347aef794
Problem: new DRAFT monitoring events are eligible for STABLE
...
Solution: do it
2018-11-18 13:23:38 +00:00
Luca Boccassi
0e01c27de5
Problem: test_router_notify cannot be ran in parallel
...
Solution: do not bind to an hard-coded port, use a wildcard.
2018-11-09 16:56:00 +00:00
Luca Boccassi
828812fa72
Problem: test_app_meta cannot be ran in parallel
...
Solution: do not bind to an hard-coded port, use a wildcard.
2018-11-09 16:46:48 +00:00
Luca Boccassi
ffd99fbaf5
Problem: GNU/Hurd does not implement getsockname for ipc
...
Solution: skip tests that use ipc://* as it's impossible to get the
address back for the client
2018-11-05 10:59:12 +00:00
Luca Boccassi
205573f1a3
Problem: typo in RUN_TEST macro breaks debian/kfreebsd build
...
Solution: fix it
2018-11-04 18:12:18 +00:00
Luca Boccassi
1a5937750c
Problem: test_connect_delay_tipc randomly fails
...
Solution: use a monitor to wait for a disconnect instead of a sleep,
and retry to send a message until it fails since the state machine
might be delayed due to the I/O thread being pre-empted on busy
systems.
Also set a receive timeout to avoid random hangs.
Fixes #3124
2018-09-29 22:39:36 +01:00
Francesco Montorsi
4f49e7420b
Remove race condition from XPUB/SUB test in test_blocking()
2018-09-21 11:19:50 +02:00
Francesco Montorsi
4b399b51ce
change test_hwm_pubsub to use XPUB and wait for subscription before start to sending messages out
2018-09-20 20:42:03 +02:00
Luca Boccassi
df218af3bd
Problem: test_proxy_hwm expects wrong number of msgs
...
Solution: allow for a range between the minimum and maximum expected.
With 2 queues, that's between 20 and 40 messages depending on the
scheduling of the 3 threads involved.
2018-09-16 21:20:10 +01:00
Luca Boccassi
e651babd85
Problem: test_proxy_hwm uses an bool across threads
...
Solution: use atomics to avoid issues on non-x86 architectures
2018-09-16 21:18:52 +01:00
Francesco Montorsi
72418e9dd0
Improve test reliability by: a) using XPUB in place of PUB to ensure we start publishing only after 1st subscriber has joined; b) accept both 2*HWM, 3*HWM and 4*HWM as TX/RX count of messages
2018-09-16 21:55:59 +02: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
1734a64d62
Revert "Problem: test_proxy not yet using unity"
...
This reverts commit fd27324ec3daa50bebea381ce7fd4b505a6a53e6.
2018-08-24 09:49:41 +02:00
Simon Giesecke
430b97fc73
Problem: test_use_fd not yet using unity
...
Solution: migrate to unity
2018-08-23 18:03:16 +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
Simon Giesecke
929d295e01
Problem: test_timers not yet using unity
...
Solution: migrate to unity
2018-08-23 18:00:51 +02:00
Simon Giesecke
980791d182
Problem: test_stream_timeout not yet using unity
...
Solution: migrate to unity
2018-08-23 18:00:51 +02:00
Simon Giesecke
f01682292c
Problem: test_stream_disconnect not yet using unity
...
Solution: migrate to unity
2018-08-23 18:00:51 +02:00
Simon Giesecke
309fe2e6fd
Problem: test_router_mandatory_hwm not yet using unity
...
Solution: migrate to unity
2018-08-23 18:00:51 +02:00
Simon Giesecke
fd27324ec3
Problem: test_proxy not yet using unity
...
Solution: migrate to unity
2018-08-23 18:00:50 +02:00
Simon Giesecke
1a55100dbe
Problem: test_xpub_verbose is not using testutil_unity
...
Solution: use utilities from testutil_unity, reduce duplication
2018-08-22 11:51:11 +02:00
Simon Giesecke
2334090732
Problem: test_stream not yet using unity
...
Solution: migrate to unity
2018-08-22 11:51:10 +02:00
Simon Giesecke
7ad0ff5e9a
Problem: test_stream_empty not yet using unity
...
Solution: migrate to unity
2018-08-22 11:51:10 +02:00
Simon Giesecke
7b39d2cb2a
Problem: test_unbind_wildcard not yet using unity
...
Solution: migrate to unity
2018-08-22 11:51:10 +02:00
Simon Giesecke
c66288a882
Problem: duplicate code
...
Solution: extracted into common method
2018-08-22 11:51:10 +02:00
Simon Giesecke
713f075fec
Problem: test_xpub_manual not yet using unity
...
Solution: migrate to unity
2018-08-22 11:51:10 +02:00
Simon Giesecke
407bd3b1b2
Problem: test_spec_pushpull not yet using unity
...
Solution: migrate to unity
2018-08-22 11:51:09 +02:00
Simon Giesecke
261dd1f92c
Problem: test_ancillarries not yet using unity
...
Solution: migrate to unity
2018-08-22 11:51:09 +02:00
Simon Giesecke
3d2db5d8d5
Problem: test_capabilities not yet using unity
...
Solution: migrate to unity
2018-08-22 11:51:09 +02:00
Simon Giesecke
dc29361ef4
Problem: test_req_correlate not yet using unity
...
Solution: migrate to unity
2018-08-22 11:51:09 +02:00
Simon Giesecke
244ba77ebc
Problem: test_base85 not yet using unity
...
Solution: migrate to unity
2018-08-22 11:51:08 +02:00
Simon Giesecke
fce1838545
Problem: test_pair_tcp not yet using unity
...
Solution: migrate to unity
2018-08-20 11:13:12 +02:00
Simon Giesecke
8328208e60
Problem: inconsistent _out_pipes when using the same routing id without ZMQ_ROUTER_HANDOVER
...
Solution: added test case, do not erase existing without ZMQ_ROUTER_HANDOVER
2018-08-17 12:50:59 +02:00
Simon Giesecke
e07a6a69ad
Problem: test_spec_router not yet using unity
...
Solution: migrate to unity
2018-08-17 10:19:00 +02:00
Simon Giesecke
ab22aeb83e
Problem: test_setsockopt not yet using unity
...
Solution: migrate to unity
2018-08-17 10:19:00 +02:00
Simon Giesecke
30b9e5a10b
Problem: test_connect_rid not yet using unity
...
Solution: migrate to unity
2018-08-17 10:19:00 +02:00
Simon Giesecke
0fc2f0f073
Problem: test_term_endpoint not yet using unity
...
Solution: migrate to unity
2018-08-17 10:19:00 +02:00
Simon Giesecke
dce77fda68
Problem: test_filter_ipc not yet using unity
...
Solution: migrate to unity
2018-08-16 18:34:55 +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
f6a3ebde99
Problem: test not using unity assertions and test utils
...
Solution: Migrate to unity assertions and test utils
2018-08-16 11:55:07 +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
Simon Giesecke
c546045d8c
Problem: test_connect_delay_tipc not yet using unity
...
Solution: started migration to unity (run test cases separately)
2018-08-15 18:35:17 +02: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
Simon Giesecke
062b510b5d
Problem: test case test_probe_router_router does not receive auto-generated routing id
...
Solution: add receive call for routing id
2018-08-13 13:26:50 +02:00
Simon Giesecke
d78152bf83
Problem: no test case for ZMQ_PROBE_ROUTER on ZMQ_DEALER socket
...
Solution: add test case
2018-08-10 17:30:23 +02:00
Simon Giesecke
d9e5ba671b
Problem: test_probe_router not yet using unity
...
Solution: migrate to unity/testutil_unity
2018-08-10 17:30:00 +02:00
Michael Vilim
8a16fef3cc
Problem: ZMQ_CONNECT_ROUTING_ID can be assigned to incoming socket connection (Issue #3191 )
...
Solution: Add an identifier parameter for local attach to zmq::socket_base_t::attach_pipe
2018-07-26 18:26:35 -05: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
779d120fa3
Problem: tests do not follow naming style
...
Solution: apply naming style
2018-05-27 13:24:08 +02:00
Simon Giesecke
8b030a9256
Problem: no tests for corner cases of setsockopt ZMQ_HEARTBEAT_TTL
...
Solution: added tests
2018-05-25 15:13:07 +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
Luca Boccassi
f3e7911dd6
Merge pull request #3127 from sigiesec/integrate-wepoll
...
Support epoll polling under Windows with wepoll
2018-05-23 21:15:56 +01:00
Simon Giesecke
64f2b100da
Problem: test_context_socket is not thread-safe
...
Solution: use regular zmq_socket instead in thread functions
2018-05-23 17:32:27 +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
945c79de67
Problem: test cases setting ZMQ_MULTICAST_LOOP to false fail on Windows
...
Solution: disable test cases
2018-05-23 16:26:52 +02:00
Simon Giesecke
57ef8e2e3e
Problem: custom test ignore
...
Solution: use unity mechanism for ignoring with message
2018-05-23 16:26:52 +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
Simon Giesecke
275a89ac3c
Problem: test_many_sockets does not show number of sockets that could be created
...
Solution: add diagnostic output
2018-05-23 16:25:08 +02:00
Simon Giesecke
bd129e78ff
Problem: test assertion unnecessary complex
...
Solution: use TEST_ASSERT_FAILURE_ERRNO
2018-05-23 16:25:08 +02:00
Simon Giesecke
fdfa907187
Problem: test_inproc_connect not using test framework
...
Solution: migrate to unity
2018-05-23 13:48:58 +02:00
Simon Giesecke
ad100b0b9f
Problem: test_xpub_nodrop not using test framework
...
Solution: migrate to unity
2018-05-22 18:33:18 +02:00
Simon Giesecke
f13377de05
Problem: test_pub_invert_matching failing
...
Solution: insert some sleeps to remedy timing dependencies
2018-05-22 18:33:18 +02:00
Simon Giesecke
12c6ae2283
Problem: test_pub_invert_matching not using test framework
...
Solution: migrate to unity
2018-05-22 18:33:18 +02:00
Simon Giesecke
fa467d3425
Problem: test_hwm_pubsub not using test framework
...
Solution: migrate to unity
2018-05-22 18:33:17 +02:00
Simon Giesecke
dd1c87f9d9
Problem: type mismatch errors/warnings in Windows build
...
Solution: fix types
2018-05-15 14:53:40 +02:00
Simon Giesecke
b30cbfc112
Problem: test_spec_dealer not using test framework
...
Solution: migrate to Unity
2018-05-15 13:58:08 +02:00
Luca Boccassi
d81a041f18
Merge pull request #3103 from sigiesec/win-warnings-as-errors
...
Warnings in Windows builds
2018-05-14 22:53:04 +01:00
Simon Giesecke
e447f058e2
Problem: C4244 warnings regarding SOCKET vs. int in test_system
...
Solution: Use fd_t
2018-05-14 21:09:57 +02:00
Simon Giesecke
106127b5d6
Problem: C4267 warnings in test_stream_disconnect
...
Solution: Use size_t instead of int
2018-05-14 21:09:57 +02:00
Simon Giesecke
5ca0d4e8a9
Problem: C4267 warnings in test_spec_router
...
Solution: Use unsigned char instead of size_t
2018-05-14 21:09:57 +02:00
Simon Giesecke
69a6b86310
Problem: C4267 warning test_spec_pushpull
...
Solution: Use unsigned char instead of size_t
2018-05-14 21:09:57 +02:00
Simon Giesecke
3cbc7cb0dc
Problem: C4244 warnings regarding SOCKET vs. int in test_security_null and test_security_plain
...
Solution: Use fd_t
2018-05-14 21:09:56 +02:00
Simon Giesecke
3ee65906af
Problem: various warnings regarding SOCKET vs. int in test_security_curve
...
Solution: Use fd_t
2018-05-14 21:09:56 +02:00
Simon Giesecke
28631d1cd3
Problem: C4550 warning in testutil_security
...
Solution: explicitly compare function pointer against NULL
2018-05-14 19:18:43 +02:00
Luca Boccassi
6092431b97
Merge pull request #3100 from sigiesec/fix-poller-invalid-events
...
Problem: zmq_poller_[add/modify] accept invalid events arguments silently
2018-05-14 15:26:19 +01:00
Simon Giesecke
e8877f78a9
Problem: zmq_poller_[add/modify] accept invalid events arguments silently
...
Solution: check and return an error on invalid arguments. Fixes #3088
2018-05-14 14:58:36 +02:00
Luca Boccassi
eac265059d
Problem: heartbeat tests are disabled
...
Solution: re-enable them
2018-05-14 13:41:39 +01:00
Simon Giesecke
2cd147e5ff
Problem: misleading comment for calling zmq_poller_add with events == 0
...
Solution: change comment, and add test case for zmq_poller_modify with events == 0
2018-05-14 11:29:24 +02:00
Simon Giesecke
be66eacf5c
Problem: test_heartbeats still using plain assertions
...
Solution: migrate to unity assertions
2018-05-14 10:14:32 +02:00
Luca Boccassi
b331caad06
Problem: ZMTP 3.1 PING Context not implemented
...
Solution: if a PING message contains a context, echo it back in the
PONG message. In order to do so, create the PONG message when PING
is received and store it in the engine.
After the PING the engine goes straight to encoding and sending, so
there can always be at most one pending PING.
Add tests for various contexts.
2018-05-14 10:14:13 +02:00
Luca Boccassi
ba9274c39a
Problem: test_heartbeats mocked ZMQ_REP is hacky and fragile
...
Solution: remove it, it doesn't add much value anyway
2018-05-14 09:15:38 +02:00
Simon Giesecke
f218478237
Problem: test_heartbeats use no test framework
...
Solution: migrate to unity
2018-05-14 09:15:38 +02:00
Lionel Flandrin
4eb6786347
Problem: test_radio_dish triggers aliasing errors with some compilers
...
Solution: refactor the test code to work around aliasing issues
2018-05-13 17:05:05 +02:00
Luca Boccassi
c5b7f4f536
Problem: test_system info output hidden on Solaris
...
Solution: change the ifdef to always print on any Unix, as they
all have ulimit
2018-05-13 13:19:07 +01:00
Luca Boccassi
510a42c3d5
Problem: test_system fails on Solaris due to lower file limit
...
Solution: use a different max socket value on Solaris, where the
default limit is 256 instead of 1024
2018-05-13 13:18:08 +01:00
Lionel Flandrin
99412c810d
Problem: ZMQ doesn't expose the MULTICAST_LOOP socket option
...
Solution: add a new ZMQ_MULTICAST_LOOP option for UDP sockets.
2018-05-10 19:24:46 +02:00
Lionel Flandrin
f9c30f3e19
Problem: test helper recv_string_expect_success ignores the flags argument
...
Solution: pass the flags to zmq_recv
2018-05-10 11:43:47 +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
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
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
f571c22851
Problem: socket_poller destruction after context shutdown is only tested with a non-thread-safe socket
...
Solution: test with both thread-safe and non-thread-safe sockets
2018-03-28 11:23:08 +02:00
Simon Giesecke
32c8abb1d8
Problem: regression when zmq_poller_destroy is called after zmq_ctx_term
...
Solution: Added test case to reproduce, not solving the problem!
2018-03-28 10:53:16 +02:00
Luca Boccassi
6f26a33359
Problem: 4.2.5 is out, we need to restore API changes and 4.3.x
...
Solution: revert the revert!
Revert "Problem: regression in 4.2.3 went unnoticed, want to release 4.2.5"
This reverts commit 5f17e26fa4c60c3de0282d1b6ad1e8b7037ed57a.
2018-03-23 19:31:42 +00:00
Luca Boccassi
5f17e26fa4
Problem: regression in 4.2.3 went unnoticed, want to release 4.2.5
...
Solution: revert DRAFT -> STABLE API transition so that we can do a
bugfix-only 4.2.5 release.
Will be re-reverted once tagged.
Revert "Problem: ZMQ_BINDTODEVICE has met STABLE conditions"
This reverts commit 3cb79f5042cf32cdb7b1b58d4acf17eba85ec9f7.
Revert "Problem: ZMQ_MSG_GSSAPI_* have met STABLE conditions"
This reverts commit 374da4207b8034b0fcd67a2cc2165d50e09b9387.
Revert "Problem: ZMQ_MSG_T_SIZE has met STABLE conditions"
This reverts commit 6411c4a247c08ead50919d16b30eb030eaf44a7e.
Revert "Problem: docs say STABLE API still in DRAFT"
This reverts commit 9f2f30b7ffa09acc51d3b87251a47e83b435d5d4.
2018-03-23 11:22:10 +00:00
Luca Boccassi
1c5a63e939
Problem: backward incompatible change to NULL with ZAP
...
Solution: like for other mechanism, do not enforce strict ZAP protocol
adherence unless the specific socket option is enabled with NULL auth.
Add test to exercise this functionality, and fix ZAP test to set the
socket option when it uses NULL auth.
See: https://github.com/zeromq/pyzmq/pull/1152
2018-03-22 19:27:23 +00:00
Luca Boccassi
e4b3bd8631
Problem: cannot set ZAP_ENFORCE_DOMAIN in testutil's wrappers
...
Solution: override unused parameter for NULL wrapper
2018-03-22 19:25:42 +00:00
Luca Boccassi
374da4207b
Problem: ZMQ_MSG_GSSAPI_* have met STABLE conditions
...
Solution: move them from DRAFT to STABLE since it's been in a public
release, committed for 6+ months and has not changed.
2018-03-21 16:45:41 +00:00
Simon Giesecke
84a3767d61
Problem: open TODO comment regarding explicit zmq_disconnect/zmq_unbind
...
Solution: replaced by a comment explaining why the calls are in the test
2018-03-21 16:28:10 +01:00
Simon Giesecke
786a8d48d5
Problem: code duplication in test_reqrep_tcp
...
Solution: extracted make_connect_address
2018-03-21 15:09:23 +01:00
Simon Giesecke
8372797cc3
Problem: code duplication in test_reqrep_tcp
...
Solution: extracted bind_loopback
2018-03-21 15:09:22 +01:00
Simon Giesecke
c84c3a525a
Problem: test_reqrep_tcp not yet using unity
...
Solution: migrate to unity
2018-03-21 15:09:19 +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
Simon Giesecke
dc2764f58c
Problem: test_last_endpoint not using unity
...
Solution: migrate to unity
2018-03-16 16:35:31 +01:00
Simon Giesecke
1747cbdcac
Problem: test_immediate not using unity
...
Solution: migrate to unity, and split test cases
2018-03-16 15:46:39 +01:00
Simon Giesecke
6f8b604648
Problem: test_radio_dish not using unity
...
Solution: migrate to unity, and split test cases
2018-03-16 15:22:14 +01:00
Simon Giesecke
cdc298f567
Problem: bind_loopback_ipv4 not reusable
...
Solution: Moved bind_loopback_ipv4 to testutil_unity to allow for reuse
2018-03-16 15:21:39 +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
Simon Giesecke
7bd57ba83b
Problem: test case tests multiple aspects
...
Solution: split test case
2018-03-15 16:43:34 +01:00
Simon Giesecke
3e374d98f1
Problem: test case tests multiple aspects
...
Solution: split test case
2018-03-15 16:43:33 +01:00
Simon Giesecke
eb0307a9a6
Problem: test case tests multiple aspects
...
Solution: split test case
2018-03-15 16:43:32 +01:00
Simon Giesecke
10dae6e830
Problem: test_poller not using unity
...
Solution: migrate to unity, and split test cases
2018-03-15 16:43:30 +01:00
Simon Giesecke
991b2336e4
Problem: test_thread_safe not using unity
...
Solution: migrate to unity, and split test cases
2018-03-15 16:43:27 +01:00
Simon Giesecke
5d32828bbf
Problem: test_reconnect_ivl not using unity
...
Solution: migrate to unity, and reduce code duplication
2018-03-15 16:43:26 +01: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
Simon Giesecke
f92cdf9470
Problem: test_ctx_destroy not using unity, and mixing test cases
...
Solution: migrate to unit and split up test cases
2018-03-15 10:58:56 +01:00
Simon Giesecke
9553a1f33e
Problem: test_connect_resolve not yet using unity
...
Solution: migrate to unity
2018-03-14 22:40:24 +01:00
Simon Giesecke
6f9459e3fb
Migrate tests/test_conflate.cpp to unity
2018-03-14 19:05:19 +01:00
Simon Giesecke
d318c95bc2
Problem: different aspects mixed in one test case
...
Solution: split up test case
2018-03-14 18:59:36 +01:00
Simon Giesecke
dbcd42c58d
Migrate tests/test_client_server.cpp to unity
2018-03-14 18:45:26 +01:00
Simon Giesecke
0114572ce6
Migrate tests/test_bind_src_address.cpp to unity
2018-03-14 18:45:25 +01:00
Simon Giesecke
be33dce68e
Migrate tests/test_bind_after_connect_tcp.cpp to unity
2018-03-14 18:45:25 +01:00
Simon Giesecke
631de94563
Problem: test_router_hangover not yet using unity
...
Solution: migrate to unity
2018-03-14 15:09:13 +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
Simon Giesecke
59157f0e2f
Problem: missing guidelines on proper test cleanup
...
Solution: add guidelines to tests/README.md
2018-03-14 12:26:06 +01:00
Simon Giesecke
9e3932b46b
Problem: test assertion failures do not clean up properly
...
Solution: provide test_context and manage sockets of test_context via setup and teardown
2018-03-14 12:24:21 +01:00
Simon Giesecke
437e9f4f59
Problem: tests readme outdated
...
Solution: fixed description for building tests, added references to unity and unittests
2018-03-14 08:22:23 +01:00
Simon Giesecke
ae558706bf
Problem: test_hwm and test_router_mandatory not yet using unity
...
Solution: migrate to unity
2018-03-14 08:22:23 +01:00
Luca Boccassi
19060345e4
Problem: TIPC availability check is too strict ( #2977 )
...
* Problem: TIPC availability check is too strict
Solution: at build time only check if the API is available. In the tests
do a first check and a skip if the functionality is not available.
TIPC needs an in-tree but not loaded by default kernel module, tipc.ko
to be loaded, which requires root, so it is unlikely to be available on
any build system by default.
This will allow most distributions to ship with TIPC support built in,
and to avoid tests failure if the module is not there.
* Problem: no Travis tests for TIPC
Solution: mark one job with sudo: required and load the kernel module
* Problem: CMake fails when test returns 77 (skip)
Solution: set property to let it mark the test as skipped as intended
2018-03-09 17:47:42 +01:00
Pontus.Skoeldstroem
7abb8388d6
Problem: Tests for different TIPC address types missing ( #2956 )
...
* Tests for different TIPC address types and code cleanup
* Adds tests for binding/connecting with different TIPC address types
using Unity
* Adds error checking for address type misuse
2018-03-07 17:31:26 +00:00
Stefan Kaes
fcbd2a5710
Problem: enormous memory increase due to zero copy decoding
...
The zero copy decoding strategy implemented for 4.2.0 can lead to a large
increase of main memory usage in some cases (I have seen one program go up to
40G from 10G after upgrading from 4.1.4). This commit adds a new option to
contexts, called ZMQ_ZERO_COPY_RECV, which allows one to switch to the old
decoding strategy.
2018-03-05 18:13:28 +01:00
Luca Boccassi
354491ddf2
Problem: no test for ZMQ_XPUB_VERBOSE(R)
...
Solution: add test_xpub_verbose to cover those APIs
2018-03-02 13:42:44 +01:00
Simon Giesecke
0458b85dec
Problem: Some tests timeout on appveyor for POLLER=poll
...
Solution: Increase test timeouts for poll poller under Windows
2018-02-13 18:38:26 +01:00
Simon Giesecke
922053237f
Problem: test_sockopt_hwm not using unity
...
Solution: migrate test_sockopt_hwm to unity
2018-02-13 18:38:23 +01:00
Simon Giesecke
9ec95f9d46
Problem: build failure with VS <2015, has no snprintf
...
Solution: use _snprintf when snprintf is not available
2018-02-11 17:33:13 +00:00
sigiesec
5f854a31b7
Problem: test_security_curve not using test framework
...
Solution: use unity in test_security_curve
2018-02-11 17:25:36 +00:00
sigiesec
21879abb5b
Problem: test_socket_null not using test framework
...
Solution: rewrite test_socket_null to use unity
2018-02-11 17:25:36 +00:00
sigiesec
61a28a26cc
Problem: no test framework
...
Solution: add unity test framework, and integrate into cmake build
2018-02-11 17:25:36 +00:00
Luca Boccassi
9b1ce59719
Problem: DRAFT build broken with GCC 4.7
...
Solution: change variable type in test_timers to match public API
2018-02-10 17:08:01 +00:00
Simon Giesecke
a5e763039d
Problem: use of TCP loopback fastpath not available for user sockets
...
Solution: add socket option
2018-02-09 14:22:42 +01:00
sigiesec
50d80d0835
Problem: test_timeo frequently fails on travis, probably because of slow
...
execution
Solution: relax test assertion to what can be guaranteed
2018-02-09 09:56:38 +01:00
sigiesec
88d8c768d1
Problem: test_timers frequently fails on travis-ci
...
Solution: relaxed test assertions, based on the actual time passed,
instead of assuming that this equals to the time slept
2018-02-09 09:55:40 +01:00
sigiesec
41f459e1dc
Problem: formatting inconsistent
...
Solution: applied clang-format
2018-02-02 15:47:43 +01:00
Luca Boccassi
0298d037d0
Problem: CMake rebuilds everything twice
...
Solution: build all the objects separately before the link step, to
avoid rebuilding when doing both static and shared builds
2017-11-20 15:55:35 +00:00
Luca Boccassi
5264d49eab
Problem: duplicate definition in CMake tweetnacl builds
...
Solution: don't redefine preprocessor macro if it's already defined in
platform.hpp
2017-11-19 12:47:05 +00:00
Luca Boccassi
de8f14adf5
Problem: test_security_{zap|curve} often hangs
...
Solution: set 0 linger on the sockets immediately after creating them
rather than immediately before closing them.
Running through helgrind/drd highlights a few race conditions, one of
which is the setting of linger vs checking it when closing the socket.
Work around it by setting it immediately to fix the test hangs.
2017-11-16 00:44:29 +00:00
Luca Boccassi
498c6bbb67
Problem: test_stream_exceeds_buffer cannot be ran in parallel
...
Solution: bind to wildcard and let the OS pick a free port instead
of using an hard-coded 12345 TCP port
2017-11-10 09:49:54 +00:00
Rolf Timmermans
c8592dfbc3
Problem: REQ socket with ZMQ_REQ_RELAXED does not report ZMQ_POLLOUT when queried for events after first message.
...
Solution: Check for strictness before returning false if no reply has been received.
2017-11-08 09:55:14 +01:00
f18m
2aa0e6fd4d
Change ZMQ_THREAD_AFFINITY to ZMQ_THREAD_AFFINITY_CPU_ADD/ZMQ_THREAD_AFFINITY_CPU_REMOVE. Avoid prefix thread names when no prefix was set.
2017-10-25 09:55:47 +02:00
Luca Boccassi
bd2ff7fbf8
Problem: DRAFT build broken with old GCC due to missing SIZE_MAX
...
Solution: define __STDC_LIMIT_MACROS in test_timers.cpp before
including testutil.hpp so that the definitions are included
2017-10-17 14:13:28 +01:00