Willi Zschiebsch c6cc26f1b0 serverb blabl 4 gadi atpakaļ
..
CMakeLists.txt c6cc26f1b0 serverb blabl 4 gadi atpakaļ
README.md c6cc26f1b0 serverb blabl 4 gadi atpakaļ
test_abstract_ipc.cpp c6cc26f1b0 serverb blabl 4 gadi atpakaļ
test_address_tipc.cpp c6cc26f1b0 serverb blabl 4 gadi atpakaļ
test_ancillaries.cpp c6cc26f1b0 serverb blabl 4 gadi atpakaļ
test_app_meta.cpp c6cc26f1b0 serverb blabl 4 gadi atpakaļ
test_atomics.cpp c6cc26f1b0 serverb blabl 4 gadi atpakaļ
test_base85.cpp c6cc26f1b0 serverb blabl 4 gadi atpakaļ
test_bind_after_connect_tcp.cpp c6cc26f1b0 serverb blabl 4 gadi atpakaļ
test_bind_curve_fuzzer.cpp c6cc26f1b0 serverb blabl 4 gadi atpakaļ
test_bind_fuzzer.cpp c6cc26f1b0 serverb blabl 4 gadi atpakaļ
test_bind_null_fuzzer.cpp c6cc26f1b0 serverb blabl 4 gadi atpakaļ
test_bind_src_address.cpp c6cc26f1b0 serverb blabl 4 gadi atpakaļ
test_bind_ws_fuzzer.cpp c6cc26f1b0 serverb blabl 4 gadi atpakaļ
test_capabilities.cpp c6cc26f1b0 serverb blabl 4 gadi atpakaļ
test_channel.cpp c6cc26f1b0 serverb blabl 4 gadi atpakaļ
test_client_server.cpp c6cc26f1b0 serverb blabl 4 gadi atpakaļ
test_conflate.cpp c6cc26f1b0 serverb blabl 4 gadi atpakaļ
test_connect_curve_fuzzer.cpp c6cc26f1b0 serverb blabl 4 gadi atpakaļ
test_connect_delay_tipc.cpp c6cc26f1b0 serverb blabl 4 gadi atpakaļ
test_connect_fuzzer.cpp c6cc26f1b0 serverb blabl 4 gadi atpakaļ
test_connect_null_fuzzer.cpp c6cc26f1b0 serverb blabl 4 gadi atpakaļ
test_connect_resolve.cpp c6cc26f1b0 serverb blabl 4 gadi atpakaļ
test_connect_rid.cpp c6cc26f1b0 serverb blabl 4 gadi atpakaļ
test_connect_ws_fuzzer.cpp c6cc26f1b0 serverb blabl 4 gadi atpakaļ
test_ctx_destroy.cpp c6cc26f1b0 serverb blabl 4 gadi atpakaļ
test_ctx_options.cpp c6cc26f1b0 serverb blabl 4 gadi atpakaļ
test_dgram.cpp c6cc26f1b0 serverb blabl 4 gadi atpakaļ
test_diffserv.cpp c6cc26f1b0 serverb blabl 4 gadi atpakaļ
test_disconnect_inproc.cpp c6cc26f1b0 serverb blabl 4 gadi atpakaļ
test_disconnect_msg.cpp c6cc26f1b0 serverb blabl 4 gadi atpakaļ
test_filter_ipc.cpp c6cc26f1b0 serverb blabl 4 gadi atpakaļ
test_fork.cpp c6cc26f1b0 serverb blabl 4 gadi atpakaļ
test_getsockopt_memset.cpp c6cc26f1b0 serverb blabl 4 gadi atpakaļ
test_heartbeats.cpp c6cc26f1b0 serverb blabl 4 gadi atpakaļ
test_hello_msg.cpp c6cc26f1b0 serverb blabl 4 gadi atpakaļ
test_hwm.cpp c6cc26f1b0 serverb blabl 4 gadi atpakaļ
test_hwm_pubsub.cpp c6cc26f1b0 serverb blabl 4 gadi atpakaļ
test_immediate.cpp c6cc26f1b0 serverb blabl 4 gadi atpakaļ
test_inproc_connect.cpp c6cc26f1b0 serverb blabl 4 gadi atpakaļ
test_invalid_rep.cpp c6cc26f1b0 serverb blabl 4 gadi atpakaļ
test_iov.cpp c6cc26f1b0 serverb blabl 4 gadi atpakaļ
test_ipc_wildcard.cpp c6cc26f1b0 serverb blabl 4 gadi atpakaļ
test_issue_566.cpp c6cc26f1b0 serverb blabl 4 gadi atpakaļ
test_last_endpoint.cpp c6cc26f1b0 serverb blabl 4 gadi atpakaļ
test_many_sockets.cpp c6cc26f1b0 serverb blabl 4 gadi atpakaļ
test_metadata.cpp c6cc26f1b0 serverb blabl 4 gadi atpakaļ
test_mock_pub_sub.cpp c6cc26f1b0 serverb blabl 4 gadi atpakaļ
test_monitor.cpp c6cc26f1b0 serverb blabl 4 gadi atpakaļ
test_msg_ffn.cpp c6cc26f1b0 serverb blabl 4 gadi atpakaļ
test_msg_flags.cpp c6cc26f1b0 serverb blabl 4 gadi atpakaļ
test_msg_init.cpp c6cc26f1b0 serverb blabl 4 gadi atpakaļ
test_pair_inproc.cpp c6cc26f1b0 serverb blabl 4 gadi atpakaļ
test_pair_ipc.cpp c6cc26f1b0 serverb blabl 4 gadi atpakaļ
test_pair_tcp.cpp c6cc26f1b0 serverb blabl 4 gadi atpakaļ
test_pair_tcp_cap_net_admin.cpp c6cc26f1b0 serverb blabl 4 gadi atpakaļ
test_pair_tipc.cpp c6cc26f1b0 serverb blabl 4 gadi atpakaļ
test_pair_vmci.cpp c6cc26f1b0 serverb blabl 4 gadi atpakaļ
test_peer.cpp c6cc26f1b0 serverb blabl 4 gadi atpakaļ
test_poller.cpp c6cc26f1b0 serverb blabl 4 gadi atpakaļ
test_probe_router.cpp c6cc26f1b0 serverb blabl 4 gadi atpakaļ
test_proxy.cpp c6cc26f1b0 serverb blabl 4 gadi atpakaļ
test_proxy_hwm.cpp c6cc26f1b0 serverb blabl 4 gadi atpakaļ
test_proxy_single_socket.cpp c6cc26f1b0 serverb blabl 4 gadi atpakaļ
test_proxy_terminate.cpp c6cc26f1b0 serverb blabl 4 gadi atpakaļ
test_pub_invert_matching.cpp c6cc26f1b0 serverb blabl 4 gadi atpakaļ
test_radio_dish.cpp c6cc26f1b0 serverb blabl 4 gadi atpakaļ
test_rebind_ipc.cpp c6cc26f1b0 serverb blabl 4 gadi atpakaļ
test_reconnect_ivl.cpp c6cc26f1b0 serverb blabl 4 gadi atpakaļ
test_reconnect_options.cpp c6cc26f1b0 serverb blabl 4 gadi atpakaļ
test_req_correlate.cpp c6cc26f1b0 serverb blabl 4 gadi atpakaļ
test_req_relaxed.cpp c6cc26f1b0 serverb blabl 4 gadi atpakaļ
test_reqrep_device.cpp c6cc26f1b0 serverb blabl 4 gadi atpakaļ
test_reqrep_device_tipc.cpp c6cc26f1b0 serverb blabl 4 gadi atpakaļ
test_reqrep_inproc.cpp c6cc26f1b0 serverb blabl 4 gadi atpakaļ
test_reqrep_ipc.cpp c6cc26f1b0 serverb blabl 4 gadi atpakaļ
test_reqrep_tcp.cpp c6cc26f1b0 serverb blabl 4 gadi atpakaļ
test_reqrep_tipc.cpp c6cc26f1b0 serverb blabl 4 gadi atpakaļ
test_reqrep_vmci.cpp c6cc26f1b0 serverb blabl 4 gadi atpakaļ
test_router_handover.cpp c6cc26f1b0 serverb blabl 4 gadi atpakaļ
test_router_mandatory.cpp c6cc26f1b0 serverb blabl 4 gadi atpakaļ
test_router_mandatory_hwm.cpp c6cc26f1b0 serverb blabl 4 gadi atpakaļ
test_router_mandatory_tipc.cpp c6cc26f1b0 serverb blabl 4 gadi atpakaļ
test_router_notify.cpp c6cc26f1b0 serverb blabl 4 gadi atpakaļ
test_scatter_gather.cpp c6cc26f1b0 serverb blabl 4 gadi atpakaļ
test_security_curve.cpp c6cc26f1b0 serverb blabl 4 gadi atpakaļ
test_security_gssapi.cpp c6cc26f1b0 serverb blabl 4 gadi atpakaļ
test_security_no_zap_handler.cpp c6cc26f1b0 serverb blabl 4 gadi atpakaļ
test_security_null.cpp c6cc26f1b0 serverb blabl 4 gadi atpakaļ
test_security_plain.cpp c6cc26f1b0 serverb blabl 4 gadi atpakaļ
test_security_zap.cpp c6cc26f1b0 serverb blabl 4 gadi atpakaļ
test_setsockopt.cpp c6cc26f1b0 serverb blabl 4 gadi atpakaļ
test_shutdown_stress.cpp c6cc26f1b0 serverb blabl 4 gadi atpakaļ
test_shutdown_stress_tipc.cpp c6cc26f1b0 serverb blabl 4 gadi atpakaļ
test_socket_null.cpp c6cc26f1b0 serverb blabl 4 gadi atpakaļ
test_sockopt_hwm.cpp c6cc26f1b0 serverb blabl 4 gadi atpakaļ
test_socks.cpp c6cc26f1b0 serverb blabl 4 gadi atpakaļ
test_sodium.cpp c6cc26f1b0 serverb blabl 4 gadi atpakaļ
test_spec_dealer.cpp c6cc26f1b0 serverb blabl 4 gadi atpakaļ
test_spec_pushpull.cpp c6cc26f1b0 serverb blabl 4 gadi atpakaļ
test_spec_rep.cpp c6cc26f1b0 serverb blabl 4 gadi atpakaļ
test_spec_req.cpp c6cc26f1b0 serverb blabl 4 gadi atpakaļ
test_spec_router.cpp c6cc26f1b0 serverb blabl 4 gadi atpakaļ
test_srcfd.cpp c6cc26f1b0 serverb blabl 4 gadi atpakaļ
test_stream.cpp c6cc26f1b0 serverb blabl 4 gadi atpakaļ
test_stream_disconnect.cpp c6cc26f1b0 serverb blabl 4 gadi atpakaļ
test_stream_empty.cpp c6cc26f1b0 serverb blabl 4 gadi atpakaļ
test_stream_exceeds_buffer.cpp c6cc26f1b0 serverb blabl 4 gadi atpakaļ
test_stream_timeout.cpp c6cc26f1b0 serverb blabl 4 gadi atpakaļ
test_sub_forward.cpp c6cc26f1b0 serverb blabl 4 gadi atpakaļ
test_sub_forward_tipc.cpp c6cc26f1b0 serverb blabl 4 gadi atpakaļ
test_system.cpp c6cc26f1b0 serverb blabl 4 gadi atpakaļ
test_term_endpoint.cpp c6cc26f1b0 serverb blabl 4 gadi atpakaļ
test_term_endpoint_tipc.cpp c6cc26f1b0 serverb blabl 4 gadi atpakaļ
test_thread_safe.cpp c6cc26f1b0 serverb blabl 4 gadi atpakaļ
test_timeo.cpp c6cc26f1b0 serverb blabl 4 gadi atpakaļ
test_timers.cpp c6cc26f1b0 serverb blabl 4 gadi atpakaļ
test_unbind_wildcard.cpp c6cc26f1b0 serverb blabl 4 gadi atpakaļ
test_use_fd.cpp c6cc26f1b0 serverb blabl 4 gadi atpakaļ
test_ws_transport.cpp c6cc26f1b0 serverb blabl 4 gadi atpakaļ
test_wss_transport.cpp c6cc26f1b0 serverb blabl 4 gadi atpakaļ
test_xpub_manual.cpp c6cc26f1b0 serverb blabl 4 gadi atpakaļ
test_xpub_manual_last_value.cpp c6cc26f1b0 serverb blabl 4 gadi atpakaļ
test_xpub_nodrop.cpp c6cc26f1b0 serverb blabl 4 gadi atpakaļ
test_xpub_verbose.cpp c6cc26f1b0 serverb blabl 4 gadi atpakaļ
test_xpub_welcome_msg.cpp c6cc26f1b0 serverb blabl 4 gadi atpakaļ
test_z85_decode_fuzzer.cpp c6cc26f1b0 serverb blabl 4 gadi atpakaļ
test_zmq_poll_fd.cpp c6cc26f1b0 serverb blabl 4 gadi atpakaļ
testutil.cpp c6cc26f1b0 serverb blabl 4 gadi atpakaļ
testutil.hpp c6cc26f1b0 serverb blabl 4 gadi atpakaļ
testutil_monitoring.cpp c6cc26f1b0 serverb blabl 4 gadi atpakaļ
testutil_monitoring.hpp c6cc26f1b0 serverb blabl 4 gadi atpakaļ
testutil_security.cpp c6cc26f1b0 serverb blabl 4 gadi atpakaļ
testutil_security.hpp c6cc26f1b0 serverb blabl 4 gadi atpakaļ
testutil_unity.cpp c6cc26f1b0 serverb blabl 4 gadi atpakaļ
testutil_unity.hpp c6cc26f1b0 serverb blabl 4 gadi atpakaļ

README.md

Guidelines for tests

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

Normally, you should only include the header files from the tests directory, e.g. testutil.hpp. Do not include files from src. Do not use the internal libzmq API. Tests for these should be placed in unittests instead.

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 copyright header. Please copy from test_system.cpp if you're not certain.

Write new tests using the unity test framework. For an example, see test_sockopt_hwm.

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, tests 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);

Ensure proper cleanup

If a test program uses unity, it will execute test cases individually, and will continue to run further test cases if an assertion in one test case fails. However, the test case that had an assertion failure will be aborted. To ensure that the resources of the test case are properly cleaned up, use appropriate setUp and tearDown functions. These are run by unity before each test case starts resp. after it ended (whether successfully or not). The same setUp and tearDown function is used for all test cases in a test program.

For many test cases, the following setUp and tearDown functions will be appropriate:

void setUp ()
{
    setup_test_context ();
}

void tearDown ()
{
    teardown_test_context ();
}

Within the tests, do not use zmq_socket and zmq_close then but test_context_socket and test_context_socket_close instead. These functions will register/unregister sockets with the test_context. All sockets not closed when tearDown is executed, with forcibly be closed with linger=0 before terminating the context. Note that it is a misuse not to close sockets during successful test execution, and a warning will be output.

Building tests in Windows

The tests are only built via cmake, not when using the checked-in Visual Studio .sln files.