Luca Boccassi
5b0956c381
Problem: test_socket_options_fuzzer does not work
...
Solution: fix it
2020-08-22 17:01:10 +01:00
Luca Boccassi
6386bc13d3
Problem: test_socket_options_fuzzer can pass non-NUL terminated data buffers
...
Solution: ensure they are valid strings
2020-08-21 16:23:24 +01:00
Luca Boccassi
f43013a7d1
Problem: no fuzz testing for options
...
Solution: add it
2020-08-21 15:25:55 +01:00
Luca Boccassi
64a575eede
Problem: test_bind_ws_fuzzer needs DRAFT sockets
...
Solution: use ZMQ_DEALER instead
2020-08-21 14:39:08 +01:00
Luca Boccassi
eb9118f0c9
Problem: no fuzz testing for websockets
...
Solution: add tests for plain WS
2020-07-05 23:43:58 +01:00
Luca Boccassi
e95e57d385
Problem: fuzzer corpus file can be quite large
...
Solution: move all corpora to the zeromq/libzmq-fuzz-corpora repository
for easier handling, and to avoid inflating the size of zeromq/libzmq.
Clone it for the CI on the fly.
2020-07-04 17:50:35 +01:00
Luca Boccassi
5c5e279108
Problem: test_req_relaxed occasionally fails
...
Solution: instead of relying on timing to get the order
of connected rep sockets just right, wait for each connection
2020-06-27 21:57:29 +01:00
Luca Boccassi
1ddfeb56ec
Problem: formatting errors
...
Solution: run make clang-format-diff
2020-06-26 23:45:39 +01: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
Luca Boccassi
3856027da9
Problem: test_bind_fuzzer does not build on OSX
...
Solution: use POSIX API instead of GNU extension
2020-06-15 23:47:35 +01:00
Luca Boccassi
1ffc21d378
Problem: test_bind_fuzzer clobbers working directory with random socket files
...
Solution: move to /tmp before running the test
2020-06-07 12:09:17 +01:00
Luca Boccassi
35c4c22c81
Problem: z85 decode test might not always get valid input and pass
...
Solution: do not fail the test in that case, what's important is checking
for undefined behaviour
2020-05-24 14:26:14 +01:00
Luca Boccassi
85e198c5b4
Problem: wrong testcase name in z85_decode_fuzzer
...
Solution: fix it
2020-05-21 11:31:24 +01:00
Luca Boccassi
1ac753979a
Problem: z85_decode fuzzer does not run regression tests with corpora
...
Solution: do it to avoid regressions
2020-05-21 10:49:55 +01:00
Luca Boccassi
51c90a6cd5
Problem: z85_decode fuzzer fails if fewer than 5 bytes are passed
...
Solution: check immediately the size of the input
2020-05-21 10:49:55 +01:00
Luca Boccassi
2d23b599f2
Problem: test_bind_fuzzer does not use corpus for regression tests
...
Solution: do it
2020-05-16 15:01:15 +01:00
Luca Boccassi
6439d32254
Problem: fuzz tests do not check that legitimate clients work
...
Solution: add normal client sockets and bounce at the same time as
the mock client
2020-05-15 18:19:38 +01:00
Doron Somech
ad3b36ab95
problem: test_xpub_manual is flapping
...
The test assumed the subscriptions are arrived in some order, but occasionally the order is not as expected
Solution: fix it
2020-05-14 00:01:06 +03:00
Doron Somech
e7f0090b16
problem: zeromq connects peer before handshake is completed
...
Solution: delay connecting the peer pipe until the handshake is completed
2020-05-13 19:36:13 +03:00
Luca Boccassi
fb9d055578
Problem: test_bind_curve_fuzzer might get stuck on some input
...
Solution: receive with MSG_DONTWAIT on the raw TCP socket
2020-05-09 13:17:36 +01:00
Luca Boccassi
abb315a6da
Problem: potential memory leak in test_connect_curve_fuzzer
...
Solution: properly initialize zmq_msg before receive
2020-05-09 12:31:36 +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
98efa79f54
Problem: ZMQ_DISABLE_TEST_TIMEOUT does not work anymore
...
Solution: restore it so that it can be set via CPPFLAGS, to avoid
tests timing out when running in GDB
2020-05-08 18:18:34 +01:00
Luca Boccassi
5fd0711196
Problem: memory leak in test_connect_null_fuzzer
...
Solution: initialize message before re-using it so that
receive doesn't fail and messages can be deallocated
2020-05-06 22:26:03 +01:00
Luca Boccassi
243503c29e
Problem: set infinite timeouts on some tests by mistake
...
Solution: remove it
2020-05-06 20:56:36 +01:00
Luca Boccassi
346f8b8b20
Problem: uninitialised error in testutil helper
...
Solution: memset struct addrinfo to be sure
2020-05-06 11:51:55 +01:00
Luca Boccassi
5819867cd3
Problem: fuzzer curve tests use random keys
...
Solution: use fixed keys to reduce variability and increase the chance
that random data derived from it can break something
2020-05-06 11:47:15 +01:00
Luca Boccassi
2ac5ee7307
Problem: test_hello_msg binds to hard-coded port and fails when it's in use
...
Solution: use the common wildcard bind pattern instead
2020-05-05 14:13:38 +01:00
Luca Boccassi
96d3cb39e4
Problem: fuzz input which causes extra-large message allocation not stored
...
Solution: add it
2020-05-05 11:48:11 +01:00
Luca Boccassi
9ab3fbeee2
Problem: we want to have multiple seed corpora per fuzzer binary
...
Solution: store them each as a single line in the text file and convert them
at install time
2020-05-05 11:48:11 +01:00
Luca Boccassi
c4fd6dfea7
Problem: sanitizer tests cannot allocate much memory
...
Solution: restrict maximum message size to 64MB in tests
2020-05-05 11:42:06 +01:00
Luca Boccassi
6b259224ee
Problem: fuzzer regression tests do very little
...
Solution: run them with the seed corpora
2020-05-04 11:42:22 +01:00
Luca Boccassi
c8e62cb2e0
Problem: no dictionaries and seed corpora for fuzzers
...
Solution: add them and install them where oss-fuzz expects them
2020-05-04 02:11:15 +01:00
Luca Boccassi
aa29f7caff
Merge pull request #3889 from bluca/fuzzers
...
Problem: testutil build broken with gcc 4.4 on CentOS 6
2020-04-28 13:33:03 +01:00
Luca Boccassi
1443c0e787
Merge pull request #3887 from gummif/gfa/unify-fd
...
Problem: Multiple fd_t definitions
2020-04-28 13:32:52 +01:00
Luca Boccassi
5867d7cf5f
Merge pull request #3888 from gummif/gfa/poller-fd
...
Problem: Poller event fd unspecified
2020-04-28 11:26:58 +01:00
Gudmundur Adalsteinsson
d426f2ab0c
Problem: Multiple fd_t definitions
...
Solution: Unify definition
2020-04-28 08:50:18 +00:00
Luca Boccassi
a909e7296d
Problem: testutil build broken with gcc 4.4 on CentOS 6
...
Solution: do not alias sockaddr_un, but take a copy
tests/testutil.cpp: In function 'fd_t bind_socket_resolve_port(const char*, const char*, char*, int, int)':
tests/testutil.cpp:468: error: dereferencing pointer 'un_addr' does break strict-aliasing rules
2020-04-28 00:49:37 +01:00
Luca Boccassi
882cb6fdfb
Problem: static analysis shows dead store in testutil
...
Solution: remove it and rework the ifdefs to be safe against uninitialised use
2020-04-28 00:49:37 +01:00
Gudmundur Adalsteinsson
bf22a9f3e9
Problem: Poller event fd unspecified
...
Solution: Specify an invalid file descriptor for socket events
2020-04-27 21:00:45 +00: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
c6d3bc68c8
Problem: ZMTP mocks duplicated across tests
...
Solution: define buffers in common header
2020-04-26 21:04:53 +01:00
Luca Boccassi
4f35d1af1a
Problem: using BSD sockets in test is duplicated across many tests
...
Solution: refactor in testutil.lib, so that they can be used for fuzzers too
2020-04-26 17:59:26 +01:00
Luca Boccassi
c81a973cd8
Problem: assert macros not detecting errors from syscall that do not return -1 on failure
...
Solution: add a new TEST_ASSERT_SUCCESS_RAW_ZERO_ERRNO macro so that
it can check explicitly for non-zero values. This will be used
for getaddrinfo().
2020-04-26 17:59:26 +01:00
Luca Boccassi
727637082f
Problem: test_shutdown_stress_tipc fails sometimes
...
Solution: create socket in the same thread where it is used
2020-04-26 15:08:04 +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
Luca Boccassi
ada6f0c058
Merge pull request #3871 from somdoron/DISCONNECT_MSG
...
problem: router doesn't know when peer disconnected
2020-04-18 10:49:50 +01:00
Gudmundur Adalsteinsson
9c6738bb45
Problem: No support to query poller size
...
Solution: Add zmq_poller_size that queries the number
of objects registered, allowing safer usages of poller
to avoid livelock situations.
2020-04-17 18:37:01 +00:00