libzmq/tests
Luca Boccassi 14df80ae3a Problem: test_security_curve does not account for ECONNRESET
Solution: ignore ECONNRESET as with EPIPE - it can happen on very
slow machines when the engine sends data to the peer and then tries
to read from the TCP socket before the peer has read
2017-08-05 18:08:21 +01:00
..
CMakeLists.txt Problem: test_security_curve timeouts on CMake 2017-08-04 16:25:59 +01:00
README.md Fixed issue #2286 by documentation 2017-01-01 19:08:28 +01:00
test_abstract_ipc.cpp Problem: copyright year is still 2015 2016-01-28 15:07:31 +01:00
test_ancillaries.cpp Problem: Not all ancillary API methods tested 2016-05-08 18:25:03 +01:00
test_atomics.cpp Problem: copyright year is still 2015 2016-01-28 15:07:31 +01:00
test_base85.cpp Problem: zmq_z85_decode does not validate its input (#2322) 2017-01-25 14:28:03 +00:00
test_bind_after_connect_tcp.cpp Problem: tests bind to hardcoded TCP ports 2017-05-01 22:57:05 +01:00
test_bind_src_address.cpp Problem: copyright year is still 2015 2016-01-28 15:07:31 +01:00
test_capabilities.cpp add test and documentation for "draft" capability 2017-01-19 20:50:18 +01:00
test_client_server.cpp Problem: copyright year is still 2015 2016-01-28 15:07:31 +01:00
test_conflate.cpp Problem: tests bind to hardcoded TCP ports 2017-05-01 22:57:05 +01:00
test_connect_delay_tipc.cpp tipc: add support for address domain suffix 2016-05-11 21:54:25 +02:00
test_connect_resolve.cpp Problem: copyright year is still 2015 2016-01-28 15:07:31 +01:00
test_connect_rid.cpp Problem: tests bind to hardcoded TCP ports 2017-05-01 22:57:05 +01:00
test_ctx_destroy.cpp Problem: No coverage for ctx termination errors 2016-05-12 17:47:08 +01:00
test_ctx_options.cpp Problem: ZMQ_MSG_T_SIZE draft but not in DRAFT section 2016-12-29 21:07:39 +01:00
test_dgram.cpp Problem: tests bind to hardcoded TCP ports 2017-05-01 22:57:05 +01:00
test_diffserv.cpp Problem: tests bind to hardcoded TCP ports 2017-05-01 22:57:05 +01:00
test_disconnect_inproc.cpp Problem: copyright year is still 2015 2016-01-28 15:07:31 +01:00
test_filter_ipc.cpp Problem: tests don't build on Windows 2016-02-12 16:12:44 +01:00
test_fork.cpp Problem: tests bind to hardcoded TCP ports 2017-05-01 22:57:05 +01:00
test_getsockopt_memset.cpp Problem: copyright year is still 2015 2016-01-28 15:07:31 +01:00
test_heartbeats.cpp Problem: CURVE can no longer be used without ZAP 2017-06-13 22:56:32 +01:00
test_hwm_pubsub.cpp Problem: tests bind to hardcoded TCP ports 2017-05-01 22:57:05 +01:00
test_hwm.cpp Problem: copyright year is still 2015 2016-01-28 15:07:31 +01:00
test_immediate.cpp Problem: tests bind to hardcoded TCP ports 2017-05-01 22:57:05 +01:00
test_inproc_connect.cpp Problem: zmq_ctx_term asserts with connect-before-bind and sockets with identity over inproc transport 2016-09-24 18:59:29 +01:00
test_invalid_rep.cpp Problem: copyright year is still 2015 2016-01-28 15:07:31 +01:00
test_iov.cpp Problem: multiple issues with sendiov/recviov 2016-05-01 19:41:50 +01:00
test_ipc_wildcard.cpp Problem: copyright year is still 2015 2016-01-28 15:07:31 +01:00
test_issue_566.cpp Problem: tests bind to hardcoded TCP ports 2017-05-01 22:57:05 +01:00
test_last_endpoint.cpp Problem: tests bind to hardcoded TCP ports 2017-05-01 22:57:05 +01:00
test_many_sockets.cpp Fix tests/test_many_sockets.cpp 2016-04-07 23:41:09 -04:00
test_metadata.cpp Problem: tests bind to hardcoded TCP ports 2017-05-01 22:57:05 +01:00
test_monitor.cpp Replace console output by monitoring events for curve security issues (#2645) 2017-08-03 14:15:56 +01:00
test_msg_ffn.cpp Problem: tests bind to hardcoded TCP ports 2017-05-01 22:57:05 +01:00
test_msg_flags.cpp Problem: copyright year is still 2015 2016-01-28 15:07:31 +01:00
test_pair_inproc.cpp Problem: copyright year is still 2015 2016-01-28 15:07:31 +01:00
test_pair_ipc.cpp Problem: tests use same IPC endpoint 2017-05-01 22:57:05 +01:00
test_pair_tcp.cpp Problem: tests bind to hardcoded TCP ports 2017-05-01 22:57:05 +01:00
test_pair_tipc.cpp tipc: add support for address domain suffix 2016-05-11 21:54:25 +02:00
test_pair_vmci.cpp Problem: copyright year is still 2015 2016-01-28 15:07:31 +01:00
test_poller.cpp Problem: use-after-free in test_poller 2017-05-18 13:10:19 +01:00
test_probe_router.cpp Problem: tests bind to hardcoded TCP ports 2017-05-01 22:57:05 +01:00
test_proxy_single_socket.cpp Problem: tests bind to hardcoded TCP ports 2017-05-01 22:57:05 +01:00
test_proxy_terminate.cpp Problem: tests bind to hardcoded TCP ports 2017-05-01 22:57:05 +01:00
test_proxy.cpp Problem: tests bind to hardcoded TCP ports 2017-05-01 22:57:05 +01:00
test_pub_invert_matching.cpp Problem: copyright year is still 2015 2016-01-28 15:07:31 +01:00
test_radio_dish.cpp Problem: tests bind to hardcoded TCP ports 2017-05-01 22:57:05 +01:00
test_req_correlate.cpp Problem: tests bind to hardcoded TCP ports 2017-05-01 22:57:05 +01:00
test_req_relaxed.cpp Problem: tests bind to hardcoded TCP ports 2017-05-01 22:57:05 +01:00
test_reqrep_device_tipc.cpp tipc: add support for address domain suffix 2016-05-11 21:54:25 +02:00
test_reqrep_device.cpp Problem: tests bind to hardcoded TCP ports 2017-05-01 22:57:05 +01:00
test_reqrep_inproc.cpp Problem: copyright year is still 2015 2016-01-28 15:07:31 +01:00
test_reqrep_ipc.cpp Problem: REP leaves label msgs for dead REQ in pipe 2017-05-17 09:18:15 +01:00
test_reqrep_tcp.cpp Problem: tests bind to hardcoded TCP ports 2017-05-01 22:57:05 +01:00
test_reqrep_tipc.cpp tipc: add support for address domain suffix 2016-05-11 21:54:25 +02:00
test_reqrep_vmci.cpp Problem: copyright year is still 2015 2016-01-28 15:07:31 +01:00
test_router_handover.cpp Problem: tests bind to hardcoded TCP ports 2017-05-01 22:57:05 +01:00
test_router_mandatory_hwm.cpp Problem: tests bind to hardcoded TCP ports 2017-05-01 22:57:05 +01:00
test_router_mandatory_tipc.cpp Problem: tests don't build on Windows 2016-02-12 15:48:37 +01:00
test_router_mandatory.cpp Problem: tests bind to hardcoded TCP ports 2017-05-01 22:57:05 +01:00
test_scatter_gather.cpp Scatter-Gather socket types 2016-04-21 14:50:58 +03:00
test_security_curve.cpp Problem: test_security_curve does not account for ECONNRESET 2017-08-05 18:08:21 +01:00
test_security_gssapi.cpp Problem: tests bind to hardcoded TCP ports 2017-05-01 22:57:05 +01:00
test_security_null.cpp Problem: tests bind to hardcoded TCP ports 2017-05-01 22:57:05 +01:00
test_security_plain.cpp Problem: tests bind to hardcoded TCP ports 2017-05-01 22:57:05 +01:00
test_setsockopt.cpp Problem: ZMQ_BINDTODEVICE is DRAFT but not DRAFT 2017-07-31 16:31:31 +01:00
test_shutdown_stress_tipc.cpp tipc: add support for address domain suffix 2016-05-11 21:54:25 +02:00
test_shutdown_stress.cpp Problem: tests bind to hardcoded TCP ports 2017-05-01 22:57:05 +01:00
test_sockopt_hwm.cpp Problem: tests use various sleep patterns to wait 2016-02-13 18:01:03 +00:00
test_sodium.cpp zmq_curve_keypair(): return result from crypto_box_keypair() to make testcase meaningfull 2017-03-16 14:01:08 +00:00
test_spec_dealer.cpp Problem: tests bind to hardcoded TCP ports 2017-05-01 22:57:05 +01:00
test_spec_pushpull.cpp Problem: tests bind to hardcoded TCP ports 2017-05-01 22:57:05 +01:00
test_spec_rep.cpp Problem: tests bind to hardcoded TCP ports 2017-05-01 22:57:05 +01:00
test_spec_req.cpp Problem: tests bind to hardcoded TCP ports 2017-05-01 22:57:05 +01:00
test_spec_router.cpp Problem: tests bind to hardcoded TCP ports 2017-05-01 22:57:05 +01:00
test_srcfd.cpp Problem: tests bind to hardcoded TCP ports 2017-05-01 22:57:05 +01:00
test_stream_disconnect.cpp Problem: tests bind to hardcoded TCP ports 2017-05-01 22:57:05 +01:00
test_stream_empty.cpp Problem: tests bind to hardcoded TCP ports 2017-05-01 22:57:05 +01:00
test_stream_exceeds_buffer.cpp Problem: test_stream_exceeds_buffer has redundant includes 2016-12-06 20:33:46 +00:00
test_stream_timeout.cpp Problem: tests bind to hardcoded TCP ports 2017-05-01 22:57:05 +01:00
test_stream.cpp Problem: tests bind to hardcoded TCP ports 2017-05-01 22:57:05 +01:00
test_sub_forward_tipc.cpp tipc: add support for address domain suffix 2016-05-11 21:54:25 +02:00
test_sub_forward.cpp Problem: tests bind to hardcoded TCP ports 2017-05-01 22:57:05 +01:00
test_system.cpp Problem: tests bind to hardcoded TCP ports 2017-05-01 22:57:05 +01:00
test_term_endpoint_tipc.cpp tipc: add support for address domain suffix 2016-05-11 21:54:25 +02:00
test_term_endpoint.cpp Problem: tests bind to hardcoded TCP ports 2017-05-01 22:57:05 +01:00
test_thread_safe.cpp Problem: tests bind to hardcoded TCP ports 2017-05-01 22:57:05 +01:00
test_timeo.cpp Problem: copyright year is still 2015 2016-01-28 15:07:31 +01:00
test_timers.cpp problem: timers test is flapping on windows 2016-05-05 14:24:47 +03:00
test_udp.cpp problem: udp doesn't enforce correct usage of bind/connect 2016-05-16 13:34:38 +03:00
test_unbind_inproc.cpp Problem: copyright year is still 2015 2016-01-28 15:07:31 +01:00
test_unbind_wildcard.cpp Problem: tests bind to hardcoded TCP ports 2017-05-01 22:57:05 +01:00
test_use_fd_ipc.cpp Problem: tests use same IPC endpoint 2017-05-01 22:57:05 +01:00
test_use_fd_tcp.cpp Problem: tests bind to hardcoded TCP ports 2017-05-01 22:57:05 +01:00
test_xpub_manual.cpp Problem: XPUB_MANUAL subscriptions not removed on peer term 2017-06-22 01:02:08 +01:00
test_xpub_nodrop.cpp Problem: copyright year is still 2015 2016-01-28 15:07:31 +01:00
test_xpub_welcome_msg.cpp Problem: xpub test has broken style (missing whitespace). 2017-03-30 14:45:48 -07:00
test_zmq_poll_fd.cpp Problem: no mixed FD and zmq socket zmq_poll test 2016-12-15 12:03:48 +00:00
testutil.hpp Problem: tests bind to hardcoded TCP ports 2017-05-01 22:57:05 +01:00

Guidelines for tests

Write your test case as if you were writing clean application code. It should be safe to compile on all platforms.

The only include file you should use is testutil.hpp. Do not include files from src. Do not use the internal libzmq API or your test case is fair game to be deleted.

If you must write non-portable code, wrap it in #ifdefs to ensure it will compile and run on all systems.

Note that testutil.hpp includes platform.h. Do not include it yourself as it changes location depending on the build system and OS.

All sources must contain the correct header. Please copy from test_system.cpp if you're not certain.

Please use only ANSI C99 in test cases, no C++. This is to make the code more reusable.

On many slower environments, like embedded systems, VMs or CI systems, test might fail because it takes time for sockets to settle after a connect. If you need to add a sleep, please be consistent with all the other tests and use: msleep (SETTLE_TIME);

Building tests in Windows

According to the version of your compiler, you should adapt the path libzmq.lib in the file tests/CMakeLists.txt.

Install CMAKE CMD> CMAKE libzmq/tests CMD> tests.sln CMD> # build all projects in the solution