Moves the tests from Catch2 v2.13.10, which is end-of-life, to v3.16.0.

**Depends on the CMake PR, #511**, which it's stacked on; its own change is the 
last commit. Most of the diff is the vendored Catch2 sources.

- Vendors the official v3.16.0 amalgamated build 
(`tests/catch/catch_amalgamated.{hpp,cpp}`, with its LICENSE and a README 
recording the upstream tag and commit). It is compiled once rather than in 
every test file, for both CMake and Autotools.
- `Catch::Matchers::Contains` → `ContainsSubstring`; explicit `main()` 
functions instead of `CATCH_CONFIG_MAIN`/`CATCH_CONFIG_RUNNER`.
- Default `CMAKE_CXX_STANDARD` 11 → 14 (v3's minimum; `mapnik-config` already 
reports `-std=c++14` for Mapnik 3). An existing build directory with 11 cached 
is bumped with a warning rather than failing.

Every suite runs the same number of test cases and assertions as under v2 (e.g. 
`gen_tile_test`: 26567 assertions in 13 test cases).

🤖 Generated with [Claude Code](https://claude.com/claude-code)

https://claude.ai/code/session_01YForD7qSL9LT6FhMuAoKPV

You can view, comment on, or merge this pull request online at:

  https://github.com/openstreetmap/mod_tile/pull/512

-- Commit Summary --

  * CMake: compile shared sources once, out-of-tree config.h, dev options
  * CMake: ENABLE_WARNINGS skips GCC's -Wformat-truncation
  * Autotools: deprecate, single-source version, pkg-config iniparser
  * Make the asan/tsan presets usable for the full test suite
  * tests: migrate from Catch2 v2.13.10 to v3.16.0

-- File Changes --

    M CMakeLists.txt (81)
    A CMakePresets.json (84)
    M Makefile.am (22)
    M README.rst (2)
    M configure.ac (27)
    M src/CMakeLists.txt (145)
    M tests/CMakeLists.txt (60)
    A tests/catch/LICENSE.txt (23)
    A tests/catch/README (6)
    D tests/catch/catch.hpp (17976)
    D tests/catch/catch.hpp.asc (16)
    A tests/catch/catch_amalgamated.cpp (12603)
    A tests/catch/catch_amalgamated.hpp (14802)
    M tests/catch_main.cpp (9)
    M tests/gen_tile_test.cpp (7)
    M tests/render_expired_test.cpp (38)
    M tests/render_list_test.cpp (48)
    M tests/render_old_test.cpp (12)
    M tests/render_speedtest_test.cpp (12)
    M tests/renderd_config_test.cpp (70)
    M tests/renderd_test.cpp (6)
    A tests/tsan.supp (8)

-- Patch Links --

https://github.com/openstreetmap/mod_tile/pull/512.patch
https://github.com/openstreetmap/mod_tile/pull/512.diff

-- 
Reply to this email directly or view it on GitHub:
https://github.com/openstreetmap/mod_tile/pull/512
You are receiving this because you are subscribed to this thread.

Message ID: <openstreetmap/mod_tile/pull/[email protected]>
_______________________________________________
Tile-serving mailing list
[email protected]
https://lists.openstreetmap.org/listinfo/tile-serving

Reply via email to