curl/CMake
Viktor Szakats e088e10454
cmake: replace the way clang-tidy verifies tests, fix issues found
Replace existing `mk-unity.pl` `--embed` workaround with running
`clang-tidy` manually on individual test source instead. This aligns
with how clang-tidy works and removes `mk-unity.pl` from the solution.

Also:
- mqttd: fix potentially uninitialized buffer by zero filling it.
  ```
  tests/server/mqttd.c:484:41: error: The left operand of '<<' is a garbage value
    [clang-analyzer-core.UndefinedBinaryOperatorResult,-warnings-as-errors]
    484 |       payload_len = (size_t)(buffer[10] << 8) | buffer[11];
        |                                         ^
  [...]
  tests/server/mqttd.c:606:45: error: The left operand of '<<' is a garbage value
    [clang-analyzer-core.UndefinedBinaryOperatorResult,-warnings-as-errors]
    606 |       topiclen = (size_t)(buffer[1 + bytes] << 8) | buffer[2 + bytes];
        |                                             ^
  ```
- sockfilt: fix potential out-of-bound pointer:
  ```
  tests/server/sockfilt.c:1128:33: error: The 2nd argument to 'send' is a buffer
     with size 17010 but should be a buffer with size equal to or greater than
     the value of the 3rd argument (which is 18446744073709551615)
     [clang-analyzer-unix.StdCLibraryFunctions,-warnings-as-errors]
   1128 |         ssize_t bytes_written = swrite(sockfd, buffer, buffer_len);
        |                                 ^
  ```
- clang-tidy: suppress bogus `bzero()` warnings that happens
  inside the notorious `FD_ZERO()` macros, on macOS.

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

Closes #17705
2025-06-22 23:08:46 +02:00
..
cmake_uninstall.cmake.in cmake: replace exec_program() with execute_process() 2025-03-23 00:06:25 +01:00
CMakeConfigurableFile.in copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
curl-config.cmake.in cmake: test integration with old cmake (v3.11.4 2018-03-28) 2025-05-08 15:11:24 +02:00
CurlSymbolHiding.cmake cmake: quotes, whitespace, use VERSION_GREATER_EQUAL 2025-04-10 01:42:59 +02:00
CurlTests.c build: drop HAVE_SYS_SOCKET_H and HAVE_SYS_TIME_H macros 2025-06-15 18:44:39 +02:00
FindBrotli.cmake cmake: fix missed version number for multi-pkg-config detections 2025-05-29 06:59:02 +02:00
FindCares.cmake cmake/Find: set <Modulename>_FOUND for compatibility when found via pkg-config 2025-02-07 00:07:38 +01:00
FindGSS.cmake cmake: replace cmakelint with cmake-lint from cmakelang, fix issues 2025-06-11 07:07:49 +02:00
FindLDAP.cmake cmake: fix missed version number for multi-pkg-config detections 2025-05-29 06:59:02 +02:00
FindLibgsasl.cmake cmake: replace cmakelint with cmake-lint from cmakelang, fix issues 2025-06-11 07:07:49 +02:00
FindLibidn2.cmake cmake/Find: set <Modulename>_FOUND for compatibility when found via pkg-config 2025-02-07 00:07:38 +01:00
FindLibpsl.cmake cmake/Find: set <Modulename>_FOUND for compatibility when found via pkg-config 2025-02-07 00:07:38 +01:00
FindLibrtmp.cmake cmake/Find: set <Modulename>_FOUND for compatibility when found via pkg-config 2025-02-07 00:07:38 +01:00
FindLibssh.cmake cmake/Find: set <Modulename>_FOUND for compatibility when found via pkg-config 2025-02-07 00:07:38 +01:00
FindLibssh2.cmake cmake/Find: set <Modulename>_FOUND for compatibility when found via pkg-config 2025-02-07 00:07:38 +01:00
FindLibuv.cmake cmake/Find: set <Modulename>_FOUND for compatibility when found via pkg-config 2025-02-07 00:07:38 +01:00
FindMbedTLS.cmake cmake: fix missed version number for multi-pkg-config detections 2025-05-29 06:59:02 +02:00
FindMSH3.cmake cmake: move pkg-config names to Find modules 2024-12-26 12:59:59 +01:00
FindNettle.cmake cmake/Find: set <Modulename>_FOUND for compatibility when found via pkg-config 2025-02-07 00:07:38 +01:00
FindNGHTTP2.cmake cmake: move pkg-config names to Find modules 2024-12-26 12:59:59 +01:00
FindNGHTTP3.cmake cmake: move pkg-config names to Find modules 2024-12-26 12:59:59 +01:00
FindNGTCP2.cmake cmake: document OpenSSL and ngtcp2 crypto lib custom variables 2025-06-10 16:31:07 +02:00
FindQuiche.cmake cmake/Find: set <Modulename>_FOUND for compatibility when found via pkg-config 2025-02-07 00:07:38 +01:00
FindRustls.cmake cmake/Find: set <Modulename>_FOUND for compatibility when found via pkg-config 2025-02-07 00:07:38 +01:00
FindWolfSSH.cmake cmake: clear package version after pkg-config detection 2024-10-25 15:04:35 +02:00
FindWolfSSL.cmake cmake/Find: set <Modulename>_FOUND for compatibility when found via pkg-config 2025-02-07 00:07:38 +01:00
FindZstd.cmake cmake/Find: set <Modulename>_FOUND for compatibility when found via pkg-config 2025-02-07 00:07:38 +01:00
Macros.cmake cmake: replace the way clang-tidy verifies tests, fix issues found 2025-06-22 23:08:46 +02:00
OtherTests.cmake build: drop HAVE_SYS_SOCKET_H and HAVE_SYS_TIME_H macros 2025-06-15 18:44:39 +02:00
PickyWarnings.cmake cmake: replace cmakelint with cmake-lint from cmakelang, fix issues 2025-06-11 07:07:49 +02:00
unix-cache.cmake build: drop HAVE_SYS_SOCKET_H and HAVE_SYS_TIME_H macros 2025-06-15 18:44:39 +02:00
Utilities.cmake cmake: drop reference to future variable [ci skip] 2025-06-22 13:19:15 +02:00
win32-cache.cmake build: assume sys/socket.h, sys/time.h on non-Windows (as in curl/curl.h) 2025-06-11 07:07:49 +02:00