libzmq/tests
hitstergtd 307bd952bc Make all Linux-specific tests conditional
Move tests specific to Linux under a platform conditional thereby eliminating
unnecessary builds and fixing "make test" on Mac OS X and possibly other
non-Linux systems.

Tests specific to Linux:
    - abstract namespace support for AF_UNIX sockets
    - TIPC support (AF_TIPC)

Test success rate jumps from 90% to 100% on Mac OS X after this change.
2016-04-14 23:44:17 +01:00
..
CMakeLists.txt Make all Linux-specific tests conditional 2016-04-14 23:44:17 +01:00
README.md Problem: Tests do no build in Windows environment 2016-03-05 11:23:23 -06:00
test_abstract_ipc.cpp Problem: copyright year is still 2015 2016-01-28 15:07:31 +01:00
test_atomics.cpp Problem: copyright year is still 2015 2016-01-28 15:07:31 +01:00
test_bind_src_address.cpp Problem: copyright year is still 2015 2016-01-28 15:07:31 +01:00
test_capabilities.cpp Problem: use of libsodium vs. tweetnacl is confused 2016-02-11 13:32:01 +01:00
test_client_server.cpp Problem: copyright year is still 2015 2016-01-28 15:07:31 +01:00
test_conflate.cpp Revert "Revert "Problem: deprecated use and reference of zmq_term"" 2016-02-01 23:00:06 +01:00
test_connect_delay_tipc.cpp Problem: tests don't build on Windows 2016-02-12 15:48:37 +01:00
test_connect_resolve.cpp Problem: copyright year is still 2015 2016-01-28 15:07:31 +01:00
test_connect_rid.cpp Problem: copyright year is still 2015 2016-01-28 15:07:31 +01:00
test_ctx_destroy.cpp Problem: copyright year is still 2015 2016-01-28 15:07:31 +01:00
test_ctx_options.cpp Problem: copyright year is still 2015 2016-01-28 15:07:31 +01:00
test_diffserv.cpp Problem: copyright year is still 2015 2016-01-28 15:07:31 +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: test_fork does not clean up at exit 2016-02-13 11:35:51 +00:00
test_getsockopt_memset.cpp Problem: copyright year is still 2015 2016-01-28 15:07:31 +01:00
test_heartbeats.cpp Problem: tests use various sleep patterns to wait 2016-02-13 18:01:03 +00:00
test_hwm_pubsub.cpp Problem: tests use various sleep patterns to wait 2016-02-13 18:01:03 +00:00
test_hwm.cpp Problem: copyright year is still 2015 2016-01-28 15:07:31 +01:00
test_immediate.cpp Problem: various tests fail in slow environments 2016-02-13 18:01:03 +00:00
test_inproc_connect.cpp Problem: copyright year is still 2015 2016-01-28 15:07:31 +01:00
test_invalid_rep.cpp Problem: copyright year is still 2015 2016-01-28 15:07:31 +01:00
test_iov.cpp Problem: copyright year is still 2015 2016-01-28 15:07:31 +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: copyright year is still 2015 2016-01-28 15:07:31 +01:00
test_last_endpoint.cpp Problem: copyright year is still 2015 2016-01-28 15:07:31 +01:00
test_many_sockets.cpp Fix tests/test_many_sockets.cpp 2016-04-07 23:41:09 -04:00
test_metadata.cpp Problem: copyright year is still 2015 2016-01-28 15:07:31 +01:00
test_monitor.cpp Problem: copyright year is still 2015 2016-01-28 15:07:31 +01:00
test_msg_ffn.cpp Problem: tests use various sleep patterns to wait 2016-02-13 18:01:03 +00: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: copyright year is still 2015 2016-01-28 15:07:31 +01:00
test_pair_tcp.cpp Problem: copyright year is still 2015 2016-01-28 15:07:31 +01:00
test_pair_tipc.cpp Problem: tests don't build on Windows 2016-02-12 15:48:37 +01:00
test_pair_vmci.cpp Problem: copyright year is still 2015 2016-01-28 15:07:31 +01:00
test_poller.cpp Problem: tricky return value from zmq::socket_poller_t::wait when poller is empty 2016-04-12 20:11:50 +02:00
test_probe_router.cpp Problem: copyright year is still 2015 2016-01-28 15:07:31 +01:00
test_proxy_single_socket.cpp Problem: deprecated zmq_utils.h is still included 2016-02-01 11:34:36 +01:00
test_proxy_terminate.cpp Problem: tests use various sleep patterns to wait 2016-02-13 18:01:03 +00:00
test_proxy.cpp Problem: deprecated zmq_utils.h is still included 2016-02-01 11:34:36 +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 use various sleep patterns to wait 2016-02-13 18:01:03 +00:00
test_req_correlate.cpp Fixed ZMQ_REQ_CORRELATE (see pull request #1730) 2016-04-02 18:36:29 +02:00
test_req_relaxed.cpp Fixed ZMQ_REQ_CORRELATE (see pull request #1730) 2016-04-02 18:36:29 +02:00
test_reqrep_device_tipc.cpp Problem: tests don't build on Windows 2016-02-12 15:48:37 +01:00
test_reqrep_device.cpp Problem: copyright year is still 2015 2016-01-28 15:07:31 +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: copyright year is still 2015 2016-01-28 15:07:31 +01:00
test_reqrep_tcp.cpp Problem: copyright year is still 2015 2016-01-28 15:07:31 +01:00
test_reqrep_tipc.cpp Problem: tests don't build on Windows 2016-02-12 15:48:37 +01:00
test_reqrep_vmci.cpp Problem: copyright year is still 2015 2016-01-28 15:07:31 +01:00
test_router_handover.cpp Problem: copyright year is still 2015 2016-01-28 15:07:31 +01:00
test_router_mandatory_hwm.cpp Problem: test_router_mandatory_hwm uses unitialised memory 2016-02-13 11:35:51 +00: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: copyright year is still 2015 2016-01-28 15:07:31 +01:00
test_security_curve.cpp Problem: can't be sure crypto_box always returns 0 2016-03-01 15:01:23 +01:00
test_security_null.cpp Problem: tests don't build on Windows 2016-02-12 16:12:44 +01:00
test_security_plain.cpp Problem: tests don't build on Windows 2016-02-12 16:12:44 +01:00
test_setsockopt.cpp Problem: tests don't build on Windows 2016-02-12 15:48:37 +01:00
test_shutdown_stress_tipc.cpp Problem: tests don't build on Windows 2016-02-12 15:48:37 +01:00
test_shutdown_stress.cpp Problem: copyright year is still 2015 2016-01-28 15:07:31 +01:00
test_sockopt_hwm.cpp Problem: tests use various sleep patterns to wait 2016-02-13 18:01:03 +00:00
test_spec_dealer.cpp Problem: tests use various sleep patterns to wait 2016-02-13 18:01:03 +00:00
test_spec_pushpull.cpp Problem: tests use various sleep patterns to wait 2016-02-13 18:01:03 +00:00
test_spec_rep.cpp Problem: various tests fail in slow environments 2016-02-13 18:01:03 +00:00
test_spec_req.cpp Problem: tests use various sleep patterns to wait 2016-02-13 18:01:03 +00:00
test_spec_router.cpp Problem: various tests fail in slow environments 2016-02-13 18:01:03 +00:00
test_srcfd.cpp Problem: tests use various sleep patterns to wait 2016-02-13 18:01:03 +00:00
test_stream_disconnect.cpp Problem: copyright year is still 2015 2016-01-28 15:07:31 +01:00
test_stream_empty.cpp Problem: copyright year is still 2015 2016-01-28 15:07:31 +01:00
test_stream_exceeds_buffer.cpp Problem: tests don't build on Windows 2016-02-12 16:12:44 +01:00
test_stream_timeout.cpp Problem: copyright year is still 2015 2016-01-28 15:07:31 +01:00
test_stream.cpp Problem: copyright year is still 2015 2016-01-28 15:07:31 +01:00
test_sub_forward_tipc.cpp Problem: tests don't build on Windows 2016-02-12 15:48:37 +01:00
test_sub_forward.cpp Problem: copyright year is still 2015 2016-01-28 15:07:31 +01:00
test_system.cpp Problem: test_system does not clean up at exit 2016-02-13 11:35:51 +00:00
test_term_endpoint_tipc.cpp Problem: tests don't build on Windows 2016-02-12 15:48:37 +01:00
test_term_endpoint.cpp Use FILENAME_MAX to determine BUFSIZE when getting socket path. 2016-03-17 15:12:57 -07:00
test_thread_safe.cpp Problem: copyright year is still 2015 2016-01-28 15:07:31 +01:00
test_timeo.cpp Problem: copyright year is still 2015 2016-01-28 15:07:31 +01:00
test_timers.cpp Problem: tests don't build on Windows 2016-02-12 15:48:37 +01:00
test_udp.cpp Problem: tests use various sleep patterns to wait 2016-02-13 18:01:03 +00:00
test_unbind_inproc.cpp Problem: copyright year is still 2015 2016-01-28 15:07:31 +01:00
test_unbind_wildcard.cpp Problem: copyright year is still 2015 2016-01-28 15:07:31 +01:00
test_use_fd_ipc.cpp Problem: tests don't build on Windows 2016-02-12 15:48:37 +01:00
test_use_fd_tcp.cpp Problem: test_use_fd_tcp does not work on Solaris 2016-04-13 00:32:19 +01:00
test_xpub_manual.cpp Problem: tests use various sleep patterns to wait 2016-02-13 18:01:03 +00: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: copyright year is still 2015 2016-01-28 15:07:31 +01:00
testutil.hpp Problem: SETTLE_TIME is too short on slow systems 2016-02-13 18:17:36 +00: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

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