mirror of
https://github.com/curl/curl.git
synced 2026-06-04 08:34:16 +03:00
tests: always make bundles, adapt build and tests
Make test bundles the default. Drop non-bundle build mode.
Also do all the optimizations and tidy-ups this allows, simpler builds,
less bundle exceptions, streamlined build mechanics.
Also rework the init/deinit macro magic for unit tests. The new method
allows using unique init/deinit function names, and calling them with
arguments. This is in turn makes it possible to reduce the use of global
variables.
Note this drop existing build options `-DCURL_TEST_BUNDLES=` from cmake
and `--enable-test-bundles` / `--disable-test-bundles` from autotools.
Also:
- rename test entry functions to have unique names: `test_<testname>`
This removes the last exception that was handled in the generator.
- fix `make dist` to not miss test sources with test bundles enabled.
- sync and merge `tests/mk-bundle.pl` into `scripts/mk-unity.pl`.
- mk-unity.pl: add `--embed` option and use it when `CURL_CLANG_TIDY=ON`
to ensure that `clang-tidy` does not miss external test C sources.
(because `clang-tidy` ignores code that's #included.)
- tests/unit: drop no-op setup/stop functions.
- tests: reduce symbol scopes, global macros, other fixes and tidy-ups.
- tool1621: fix to run, also fix it to pass.
- sockfilt: fix Windows compiler warning in certain unity include order,
by explicitly including `warnless.h`.
Follow-up to 6897aeb105 #17468
Closes #17590
This commit is contained in:
parent
1cdac95e2e
commit
2c27a67daa
386 changed files with 2996 additions and 4164 deletions
|
|
@ -68,7 +68,7 @@ if(CURL_CA_EMBED_SET)
|
|||
endif()
|
||||
endif()
|
||||
|
||||
# Get 'CURL_CFILES', 'CURLX_CFILES', 'CURL_HFILES' variables
|
||||
# Get CURL_CFILES, CURLX_CFILES, CURL_HFILES variables
|
||||
curl_transform_makefile_inc("Makefile.inc" "${CMAKE_CURRENT_BINARY_DIR}/Makefile.inc.cmake")
|
||||
include("${CMAKE_CURRENT_BINARY_DIR}/Makefile.inc.cmake")
|
||||
|
||||
|
|
|
|||
|
|
@ -67,6 +67,7 @@ if USE_UNICODE
|
|||
UNICODEFLAG = -municode
|
||||
endif
|
||||
|
||||
# Get CURL_CFILES, CURLX_CFILES, CURL_HFILES variables
|
||||
include Makefile.inc
|
||||
|
||||
curl_cfiles_gen =
|
||||
|
|
@ -80,7 +81,7 @@ else
|
|||
curl_CURLX = $(CURLX_CFILES)
|
||||
endif
|
||||
curltool_unity.c: $(top_srcdir)/scripts/mk-unity.pl $(CURL_CFILES) $(curl_cfiles_gen) $(curl_CURLX)
|
||||
@PERL@ $(top_srcdir)/scripts/mk-unity.pl $(srcdir) $(CURL_CFILES) $(curl_cfiles_gen) $(curl_CURLX) > curltool_unity.c
|
||||
@PERL@ $(top_srcdir)/scripts/mk-unity.pl --srcdir $(srcdir) --include $(CURL_CFILES) $(curl_cfiles_gen) $(curl_CURLX) > curltool_unity.c
|
||||
|
||||
nodist_curl_SOURCES = curltool_unity.c
|
||||
curl_SOURCES =
|
||||
|
|
@ -112,7 +113,7 @@ libcurltool_la_CFLAGS =
|
|||
libcurltool_la_LDFLAGS = -static $(LINKFLAGS)
|
||||
if USE_UNITY
|
||||
libcurltool_unity.c: $(top_srcdir)/scripts/mk-unity.pl $(CURL_CFILES) $(curl_CURLX)
|
||||
@PERL@ $(top_srcdir)/scripts/mk-unity.pl $(srcdir) $(CURL_CFILES) $(curl_CURLX) > libcurltool_unity.c
|
||||
@PERL@ $(top_srcdir)/scripts/mk-unity.pl --srcdir $(srcdir) --include $(CURL_CFILES) $(curl_CURLX) > libcurltool_unity.c
|
||||
|
||||
nodist_libcurltool_la_SOURCES = libcurltool_unity.c
|
||||
libcurltool_la_SOURCES =
|
||||
|
|
|
|||
|
|
@ -21,7 +21,8 @@
|
|||
# SPDX-License-Identifier: curl
|
||||
#
|
||||
###########################################################################
|
||||
# ./src/Makefile.inc
|
||||
# Shared between CMakeLists.txt and Makefile.am
|
||||
|
||||
# Using the backslash as line continuation character might be problematic with
|
||||
# some make flavours. If we ever want to change this in a portable manner then
|
||||
# we should consider this idea :
|
||||
|
|
|
|||
|
|
@ -24,7 +24,9 @@
|
|||
*
|
||||
***************************************************************************/
|
||||
|
||||
#ifndef CURL_NO_OLDIES
|
||||
#define CURL_NO_OLDIES
|
||||
#endif
|
||||
|
||||
/*
|
||||
* curl_setup.h may define preprocessor macros such as _FILE_OFFSET_BITS and
|
||||
|
|
|
|||
|
|
@ -43,12 +43,7 @@ static const struct xattr_mapping {
|
|||
|
||||
/* returns a new URL that needs to be freed */
|
||||
/* @unittest: 1621 */
|
||||
#ifdef UNITTESTS
|
||||
char *stripcredentials(const char *url);
|
||||
#else
|
||||
static
|
||||
#endif
|
||||
char *stripcredentials(const char *url)
|
||||
UNITTEST char *stripcredentials(const char *url)
|
||||
{
|
||||
CURLU *u;
|
||||
CURLUcode uc;
|
||||
|
|
|
|||
|
|
@ -38,6 +38,10 @@
|
|||
#ifdef USE_XATTR
|
||||
int fwrite_xattr(CURL *curl, const char *url, int fd);
|
||||
|
||||
#ifdef UNITTESTS
|
||||
UNITTEST char *stripcredentials(const char *url);
|
||||
#endif
|
||||
|
||||
#else
|
||||
#define fwrite_xattr(a,b,c) 0
|
||||
#endif
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue