mirror of
https://github.com/curl/curl.git
synced 2026-08-24 13:03:35 +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
|
|
@ -50,7 +50,7 @@
|
|||
* SPDX-License-Identifier: BSD-4-Clause-UC
|
||||
*/
|
||||
|
||||
#include "server_setup.h"
|
||||
#include "curl_setup.h"
|
||||
|
||||
#ifdef HAVE_SYS_IOCTL_H
|
||||
#include <sys/ioctl.h>
|
||||
|
|
@ -86,8 +86,42 @@
|
|||
#include <curlx.h> /* from the private lib dir */
|
||||
#include "getpart.h"
|
||||
#include "util.h"
|
||||
#include "server_sockaddr.h"
|
||||
#include "tftp.h"
|
||||
|
||||
/*****************************************************************************
|
||||
* This is a rewrite/clone of the arpa/tftp.h file for systems without it. *
|
||||
*****************************************************************************/
|
||||
#define SEGSIZE 512 /* data segment size */
|
||||
|
||||
#if defined(__GNUC__) && ((__GNUC__ >= 3) || \
|
||||
((__GNUC__ == 2) && defined(__GNUC_MINOR__) && (__GNUC_MINOR__ >= 7)))
|
||||
# define PACKED_STRUCT __attribute__((__packed__))
|
||||
#else
|
||||
# define PACKED_STRUCT /* NOTHING */
|
||||
#endif
|
||||
|
||||
/* Using a packed struct as binary in a program is begging for problems, but
|
||||
the tftpd server was written like this so we have this struct here to make
|
||||
things build. */
|
||||
|
||||
struct tftphdr {
|
||||
unsigned short th_opcode; /* packet type */
|
||||
unsigned short th_block; /* all sorts of things */
|
||||
char th_data[1]; /* data or error string */
|
||||
} PACKED_STRUCT;
|
||||
|
||||
#define th_stuff th_block
|
||||
#define th_code th_block
|
||||
#define th_msg th_data
|
||||
|
||||
#define TFTP_EUNDEF 0
|
||||
#define TFTP_ENOTFOUND 1
|
||||
#define TFTP_EACCESS 2
|
||||
#define TFTP_ENOSPACE 3
|
||||
#define TFTP_EBADOP 4
|
||||
#define TFTP_EBADID 5
|
||||
#define TFTP_EEXISTS 6
|
||||
#define TFTP_ENOUSER 7
|
||||
/****************************************************************************/
|
||||
|
||||
/* include memdebug.h last */
|
||||
#include <memdebug.h>
|
||||
|
|
@ -528,7 +562,7 @@ static int synchnet(curl_socket_t f /* socket to flush */)
|
|||
return j;
|
||||
}
|
||||
|
||||
int main(int argc, char **argv)
|
||||
static int test_tftpd(int argc, char **argv)
|
||||
{
|
||||
srvr_sockaddr_union_t me;
|
||||
struct tftphdr *tp;
|
||||
|
|
@ -826,7 +860,6 @@ int main(int argc, char **argv)
|
|||
}
|
||||
|
||||
logmsg("end of one transfer");
|
||||
|
||||
}
|
||||
|
||||
tftpd_cleanup:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue