tests: make individual test sources compile cleanly

Tidy up headers and includes to ensure all individual test source
compile cleanly (but not link). To allow running clang-tidy (and
possibly other static analyzers) on them. It also improves readability
and allows to verify them locally, without the bundle logic.

clang-tidy ignores #included C files, so it's blind to bundle C files
the include these tests. The current workaround of embedding has
a couple of downsides:. meaningless filenames and line numbers,
missing issues, messing up self header paths. Thus, running it on
individual sources would be beneficial.

Also:
- de-duplicate includes.
- untangle some includes.
- formatting/indentation fixes.
- merge `getpart.h` into `first.h`.

Ref: https://github.com/curl/curl/pull/17680#issuecomment-2991730158

Closes #17703
This commit is contained in:
Viktor Szakats 2025-06-22 01:10:59 +02:00
parent 4d4d09eb7f
commit 6a0cd4feb7
No known key found for this signature in database
GPG key ID: B5ABD165E2AEF201
259 changed files with 440 additions and 570 deletions

View file

@ -21,6 +21,7 @@
* SPDX-License-Identifier: curl
*
***************************************************************************/
#include "first.h"
int main(int argc, char **argv)
{
@ -35,7 +36,7 @@ int main(int argc, char **argv)
entry_name = argv[1];
entry_func = NULL;
for(tmp = 0; tmp < CURL_ARRAYSIZE(s_entries); ++tmp) {
for(tmp = 0; s_entries[tmp].ptr; ++tmp) {
if(strcmp(entry_name, s_entries[tmp].name) == 0) {
entry_func = s_entries[tmp].ptr;
break;

View file

@ -32,6 +32,8 @@ struct entry_s {
entry_func_t ptr;
};
extern const struct entry_s s_entries[];
#include <curl/curl.h>
#include "curlx.h"

View file

@ -23,6 +23,8 @@
***************************************************************************/
/* This is based on the PoC client of issue #11982
*/
#include "first.h"
#include <assert.h>
static void usage_h2_pausing(const char *msg)

View file

@ -21,6 +21,7 @@
* SPDX-License-Identifier: curl
*
***************************************************************************/
#include "first.h"
static int my_trace(CURL *handle, curl_infotype type,
char *data, size_t size, void *userp)

View file

@ -21,6 +21,7 @@
* SPDX-License-Identifier: curl
*
***************************************************************************/
#include "first.h"
static size_t write_h2ue_cb(char *ptr, size_t size, size_t nmemb, void *opaque)
{

View file

@ -21,6 +21,7 @@
* SPDX-License-Identifier: curl
*
***************************************************************************/
#include "first.h"
static int verbose_d = 1;

View file

@ -21,6 +21,7 @@
* SPDX-License-Identifier: curl
*
***************************************************************************/
#include "first.h"
static int verbose_u = 1;

View file

@ -21,6 +21,7 @@
* SPDX-License-Identifier: curl
*
***************************************************************************/
#include "first.h"
static size_t write_tse_cb(char *ptr, size_t size, size_t nmemb, void *opaque)
{

View file

@ -23,6 +23,8 @@
***************************************************************************/
/* This is based on the PoC client of issue #11769
*/
#include "first.h"
static size_t total_read = 0;
static size_t read_callback(char *ptr, size_t size, size_t nmemb,

View file

@ -21,6 +21,8 @@
* SPDX-License-Identifier: curl
*
***************************************************************************/
#include "first.h"
#ifndef CURL_DISABLE_WEBSOCKETS
static CURLcode check_recv(const struct curl_ws_frame *frame,

View file

@ -21,6 +21,8 @@
* SPDX-License-Identifier: curl
*
***************************************************************************/
#include "first.h"
#ifndef CURL_DISABLE_WEBSOCKETS
static CURLcode ping(CURL *curl, const char *send_payload)