From c48c4914a991787a24636b51d525c704e2843dd7 Mon Sep 17 00:00:00 2001 From: Viktor Szakats Date: Thu, 20 Mar 2025 00:55:55 +0100 Subject: [PATCH] tests: build non-debug unit tests with autotools, run them Before this patch, autotools disabled building unit tests for non-debug-enabled (`DEBUGBUILD`) builds. runtests skipped running this combination, though they were built in cmake builds. There seems to be no technical reason anymore for these restrictions. This patch removes them, allowing to build and run unit tests for non-debug-enabled builds. To improve unit test build and run coverage. - autotools: do not disable building unit tests for non-debug-enabled build. Bringing behavior closer to cmake builds. (There are still exceptions in autotools, something for another PR) - runtests: run unit tests for non-debug-enabled builds. It extends coverage by 50 tests. - `lib/altsvc.c`: fix to include `CURL_TIME` support in libcurlu, for unit tests. It fixes test 1654, and syncs `CURL_TIME` behavior with test 1660 and `lib/hsts.c`. Ref: 10a7d05be3921b9c9762477a18d41aff232d94d8 Ref: fc8e0dee3045658f293452121f5290d81ba3aa1e #13694 Ref: 99f78cbf6ed376391f519de18d289a6924228591 #16770 Closes #16771 --- configure.ac | 11 ++--------- lib/altsvc.c | 2 +- tests/runtests.pl | 2 +- 3 files changed, 4 insertions(+), 11 deletions(-) diff --git a/configure.ac b/configure.ac index aff1b7ca72..f54f5f8270 100644 --- a/configure.ac +++ b/configure.ac @@ -572,6 +572,8 @@ case $host_os in ;; esac +AM_CONDITIONAL(BUILD_UNITTESTS, test x$supports_unittests = xyes) + # In order to detect support of sendmmsg(), we need to escape the POSIX # jail by defining _GNU_SOURCE or will not expose it. case $host_os in @@ -580,15 +582,6 @@ case $host_os in ;; esac -dnl Build unit tests when option --enable-debug is given. -if test "x$want_debug" = "xyes" && - test "x$supports_unittests" = "xyes"; then - want_unittests=yes -else - want_unittests=no -fi -AM_CONDITIONAL(BUILD_UNITTESTS, test x$want_unittests = xyes) - dnl Apply curl debug options to test servers OPT_SERVER_DEBUG="default" AC_ARG_ENABLE(server-debug, diff --git a/lib/altsvc.c b/lib/altsvc.c index c4dca59f3d..77bbbdb88e 100644 --- a/lib/altsvc.c +++ b/lib/altsvc.c @@ -438,7 +438,7 @@ static void altsvc_flush(struct altsvcinfo *asi, enum alpnid srcalpnid, } } -#ifdef DEBUGBUILD +#if defined(DEBUGBUILD) || defined(UNITTESTS) /* to play well with debug builds, we can *set* a fixed time this will return */ static time_t altsvc_debugtime(void *unused) diff --git a/tests/runtests.pl b/tests/runtests.pl index ae2e5fef81..947e5b4790 100755 --- a/tests/runtests.pl +++ b/tests/runtests.pl @@ -804,7 +804,7 @@ sub checksystemfeatures { } close($manh); - $feature{"unittest"} = $feature{"Debug"}; + $feature{"unittest"} = 1; $feature{"nghttpx"} = !!$ENV{'NGHTTPX'}; $feature{"nghttpx-h3"} = !!$nghttpx_h3; -- 2.47.3