Commit graph

4819 commits

Author SHA1 Message Date
Roger A. Light
e3d73f7c20 Tests: chown not supported on Windows 2026-05-03 01:17:26 +01:00
Roger A. Light
fa7b0479d2 Tests: Add path for tests on Windows 2026-05-03 01:17:26 +01:00
Roger A. Light
4ed937a183 Tests: Make path use cross platform 2026-05-03 01:17:26 +01:00
Roger A. Light
53822b18eb cmake: Refactor threadlib linking 2026-05-03 01:17:26 +01:00
Roger A. Light
0102b95af1 Tests: Windows build fixes 2026-05-03 01:17:26 +01:00
Roger A. Light
db22e4281a Tests: Add vcpkg dependencies 2026-05-03 01:17:26 +01:00
Roger A. Light
2a06f4434c Fix unlikely use-after free on out of memory 2026-04-16 21:35:46 +01:00
Roger A. Light
f2d80aa6b8 Fix cmake ASAN build 2026-04-16 21:35:46 +01:00
Roger A. Light
9193d14871 Combine Windows build workflows 2026-04-16 21:35:46 +01:00
Roger A. Light
455269701e Test: Decode printing of broker start failure 2026-04-16 21:35:46 +01:00
Roger A. Light
7337923351 Parallel tests on macos 2026-04-16 21:35:46 +01:00
Roger A. Light
939de7b9eb CMake ASAN build 2026-04-16 21:35:46 +01:00
Roger A. Light
bd244f0bee cmake: Give warnings for builtin websockets without tls case 2026-04-16 21:35:46 +01:00
Roger A. Light
44a773f502 Port coverage workflow to cmake 2026-04-16 21:35:46 +01:00
Roger A. Light
25f6010751 Improve error printing for msg seq tests 2026-04-16 21:35:46 +01:00
Roger A. Light
1e6aa5def1 Port buildtest to cmake 2026-04-16 21:35:46 +01:00
Roger A. Light
88b7a48e0e Partial support for building fuzzers in cmake 2026-04-16 21:35:46 +01:00
Roger A. Light
45cbd77bf3 Add jemalloc option to cmake 2026-04-16 21:35:46 +01:00
Roger Light
93bbd2ad6e Use ccache for cmake build 2026-04-16 21:35:46 +01:00
Roger Light
310dafd6c9 Retry persist check db checks up to 5 times
The 1 second delay on each iteration helps ensure that the data is
written to disk before the check, on high load scenarios.
2026-04-16 21:35:46 +01:00
Roger A. Light
fd64deacfe cmake: Fix missing xtreport option 2026-04-16 21:35:46 +01:00
Roger A. Light
ab2718922c cmake: Tidy options 2026-04-16 21:35:46 +01:00
Roger A. Light
589b9c047e cmake: Add missing WITH_PERSISTENCE compile time option. 2026-04-16 21:35:46 +01:00
Roger A. Light
41ec103b37 Remove unused compile options 2026-04-16 21:35:46 +01:00
Roger A. Light
9fe2640558 Test fixes for WITH_BROKER=OFF 2026-04-16 21:35:46 +01:00
Roger A. Light
2f88c272bb Test fixes for INC_MEMTRACK=OFF 2026-04-16 21:35:46 +01:00
Roger A. Light
e897b3a4d0 Test fix for WITH_THREADING=OFF 2026-04-16 21:35:46 +01:00
Roger A. Light
25e4c7a0ba Test fixes for WITH_TLS=OFF 2026-04-16 21:35:46 +01:00
Roger A. Light
8d8eaccccf Fix incorrect compile guard 2026-04-16 21:35:46 +01:00
Roger A. Light
5c86508b66 Always provide TLS state in responses even if TLS disabled 2026-04-16 21:35:46 +01:00
Roger A. Light
66e9663ece Fix unused variable warnings 2026-04-16 21:35:46 +01:00
Roger A. Light
284e388292 cmake: Use ninja for builds 2026-04-16 21:35:46 +01:00
Roger A. Light
246cd96d34 cmake: Fix test for WITH_SYS_TREE=OFF 2026-04-16 21:35:46 +01:00
Roger A. Light
d382c07377 cmake: Fix build and tests for WITH_LIB_CPP=OFF 2026-04-16 21:35:46 +01:00
Roger A. Light
14b5f40620 Test: Increase timeout for high load situations. 2026-04-16 21:35:46 +01:00
Roger A. Light
e5896c99c1 Fix incorrect port in lib msg sequence test 2026-04-16 21:35:46 +01:00
Roger A. Light
fe4343dac7 Tests: Add feature guards
This allows test runners to set environment variables to let tests know which features are available. This is done by the cmake tests, but probably won't be extended to the make tests.
2026-04-16 21:35:46 +01:00
Roger A. Light
ada3184901 cmake: Save features in use to a property 2026-04-16 21:35:46 +01:00
Roger A. Light
ac7266f948 Fix test 2026-04-16 21:35:46 +01:00
Roger A. Light
bea20e746f Parallel ctest support 2026-04-16 21:35:46 +01:00
Roger A. Light
c9175f5439 Simplify test 2026-04-16 21:35:46 +01:00
Roger A. Light
997c80b080 test: Fix incorrect port requirement count 2026-04-16 21:35:46 +01:00
Roger A. Light
b78cc47552 cmake: Only run tests for compiled components 2026-04-16 21:35:46 +01:00
Roger A. Light
7a2f0f3066 Protocol error edge case test fixes and redundant check removal 2026-04-15 12:31:28 +01:00
Roger A. Light
b3b4d77ef3 cmake: Disable http-api tests if library not available. 2026-02-25 11:40:50 +00:00
Yann E. MORIN
a487cd4f8f libcommon: check for getrandom()
Not all C libraries are glibc, or impersonating it; for example, musl
does not pretend to be any version of glibc. Thus, building on musl
fails when openssl is disabled, because no random-providing function is
detected, although musl does provide getrandom().

uClibc-ng on the other hand, can impersonate glibc, but availability of
getrandom() is not guatranteed there: getrandom() can be compiled out of
uClinbc-ng, or uClibc-ng can be too old to have it.

Add a configure-time check that getrandom() is available, as a fallback
when TLS is not enabled (and thus openssl is not used), and when not on
Win32 (where getting random numbers is always possible, at least from a
build perspective).

However, building with the plain Makefiles should keep working, so
slightly rework the defines checks in the code to account for the fact
that HAVE_GETRANDOM may already be defined at configure time.

Signed-off-by: Yann E. MORIN <yann.morin@orange.com>
2026-02-25 08:27:42 +00:00
Roger A. Light
d3ee5c5ca6 Test: Don't error on missing psutil 2026-02-24 15:22:47 +00:00
Roger A. Light
e57342e7ac lib: Fix unix socket use on Windows
Closes #3521. Thanks to lt-havoc
2026-02-24 14:58:34 +00:00
Roger A. Light
ae19460c13 cmake: Only include C++ support when required
Thanks to Yann Morin
2026-02-24 10:26:50 +00:00
Yann E. MORIN
8c3bc32689 broker: properly check for getaddrinfo_a()
getaddrinfo_a( is protected by _GNU_SOURCE.

This is properly accounted for in the source code, in lib/net_mosq.c,
but the check in the CmakeList is missing that define, which causes
the check to actually fail.

Add that define when checking; this fixes builds on various C libraries,
like uClibc-ng, musl, or newer/older glibc.

Signed-off-by: Yann E. MORIN <yann.morin@orange.com>
2026-02-24 09:38:49 +00:00