The fastest feature-rich C++11/14/17/20 single-header testing framework for unit tests and TDD
Requires (1)
|
c++11 | c++14 | c++17 | c++20 |
Reviews
Builds
toolchain |
public-0.17.0 |
target |
x86_64-linux-gnu |
tgt config |
linux_fedora_40-gcc_14-bindist |
timestamp |
2025-08-22 21:37:41 UTC (10:29:19 hours ago) |
result |
success | log | rebuild |
toolchain |
public-0.17.0 |
target |
aarch64-linux-gnu |
tgt config |
linux_debian_12-gcc_14-static_O3 |
timestamp |
2025-08-22 15:44:06 UTC (16:22:54 hours ago) |
result |
success | log | rebuild |
toolchain |
public-0.17.0 |
target |
aarch64-linux-gnu |
tgt config |
linux_debian_12-gcc_14-ndebug_O3 |
timestamp |
2025-08-22 15:40:42 UTC (16:26:18 hours ago) |
result |
success | log | rebuild |
toolchain |
public-0.17.0 |
target |
aarch64-linux-gnu |
tgt config |
linux_debian_12-gcc_14-O3 |
timestamp |
2025-08-22 15:40:10 UTC (16:26:50 hours ago) |
result |
success | log | rebuild |
toolchain |
public-0.17.0 |
target |
aarch64-linux-gnu |
tgt config |
linux_debian_12-gcc_14 |
timestamp |
2025-08-22 15:35:31 UTC (16:31:29 hours ago) |
result |
success | log | rebuild |
toolchain |
public-0.17.0 |
target |
x86_64-linux-gnu |
tgt config |
linux_debian_12-gcc_14-O3 |
timestamp |
2025-08-21 04:46:36 UTC (02 03:20:24 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.17.0 |
target |
x86_64-linux-gnu |
tgt config |
linux_debian_12-gcc_14-static_O3 |
timestamp |
2025-08-21 04:45:43 UTC (02 03:21:17 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.17.0 |
target |
x86_64-linux-gnu |
tgt config |
linux_debian_12-gcc_14-ndebug_O3 |
timestamp |
2025-08-21 04:45:01 UTC (02 03:21:59 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.17.0 |
target |
x86_64-linux-gnu |
tgt config |
linux_debian_12-gcc_14 |
timestamp |
2025-08-21 04:42:37 UTC (02 03:24:23 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.17.0 |
target |
x86_64-microsoft-win32-msvc14.3 |
tgt config |
windows_10-msvc_17.10-O2 |
timestamp |
2025-08-21 03:49:49 UTC (02 04:17:11 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.17.0 |
target |
x86_64-microsoft-win32-msvc14.3 |
tgt config |
windows_10-msvc_17.10-static_O2 |
timestamp |
2025-08-21 03:48:35 UTC (02 04:18:25 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.17.0 |
target |
x86_64-microsoft-win32-msvc14.3 |
tgt config |
windows_10-msvc_17.10 |
timestamp |
2025-08-21 03:47:14 UTC (02 04:19:46 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.17.0 |
target |
aarch64-linux-gnu |
tgt config |
linux_debian_12-clang_18_libc++-static_O3 |
timestamp |
2025-08-20 21:18:44 UTC (02 10:48:16 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.17.0 |
target |
aarch64-linux-gnu |
tgt config |
linux_debian_12-clang_18_libc++-O3 |
timestamp |
2025-08-20 21:16:23 UTC (02 10:50:37 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.17.0 |
target |
aarch64-linux-gnu |
tgt config |
linux_debian_12-clang_18_libc++ |
timestamp |
2025-08-20 21:13:42 UTC (02 10:53:18 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.17.0 |
target |
aarch64-linux-gnu |
tgt config |
linux_debian_12-clang_18-O3 |
timestamp |
2025-08-20 21:12:36 UTC (02 10:54:24 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.17.0 |
target |
aarch64-linux-gnu |
tgt config |
linux_debian_12-clang_18-static_O3 |
timestamp |
2025-08-20 21:12:03 UTC (02 10:54:57 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.17.0 |
target |
aarch64-linux-gnu |
tgt config |
linux_debian_12-clang_18 |
timestamp |
2025-08-20 21:09:50 UTC (02 10:57:10 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.17.0 |
target |
x86_64-linux-gnu |
tgt config |
linux_debian_12-gcc_12-bindist |
timestamp |
2025-08-20 17:38:42 UTC (02 14:28:18 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.17.0 |
target |
x86_64-w64-mingw32 |
tgt config |
windows_10-gcc_13.2_mingw_w64-static_O2 |
timestamp |
2025-08-20 17:37:32 UTC (02 14:29:28 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.17.0 |
target |
x86_64-w64-mingw32 |
tgt config |
windows_10-gcc_13.2_mingw_w64-O2 |
timestamp |
2025-08-20 17:36:53 UTC (02 14:30:07 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.17.0 |
target |
x86_64-w64-mingw32 |
tgt config |
windows_10-gcc_13.2_mingw_w64 |
timestamp |
2025-08-20 17:34:45 UTC (02 14:32:15 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.17.0 |
target |
x86_64-microsoft-win32-msvc14.3 |
tgt config |
windows_10-clang_18_llvm_msvc_17.10-static_O2 |
timestamp |
2025-08-20 17:21:41 UTC (02 14:45:19 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.17.0 |
target |
x86_64-microsoft-win32-msvc14.3 |
tgt config |
windows_10-clang_18_llvm_msvc_17.10 |
timestamp |
2025-08-20 17:19:30 UTC (02 14:47:30 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.17.0 |
target |
x86_64-linux-gnu |
tgt config |
linux_ubuntu_24.04-gcc_13-bindist |
timestamp |
2025-08-20 17:19:21 UTC (02 14:47:39 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.17.0 |
target |
x86_64-microsoft-win32-msvc14.3 |
tgt config |
windows_10-clang_18_llvm_msvc_17.10-O2 |
timestamp |
2025-08-20 17:18:36 UTC (02 14:48:24 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.17.0 |
target |
x86_64-microsoft-win32-msvc14.3 |
tgt config |
windows_10-msvc_17.8-O2 |
timestamp |
2025-08-20 17:14:30 UTC (02 14:52:30 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.17.0 |
target |
x86_64-microsoft-win32-msvc14.3 |
tgt config |
windows_10-msvc_17.8-static_O2 |
timestamp |
2025-08-20 17:14:30 UTC (02 14:52:30 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.17.0 |
target |
x86_64-microsoft-win32-msvc14.3 |
tgt config |
windows_10-msvc_17.8 |
timestamp |
2025-08-20 17:13:43 UTC (02 14:53:17 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.17.0 |
target |
x86_64-microsoft-win32-msvc14.3 |
tgt config |
windows_10-clang_17_msvc_msvc_17.10 |
timestamp |
2025-08-20 17:04:33 UTC (02 15:02:27 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.17.0 |
target |
x86_64-freebsd14.1 |
tgt config |
freebsd_14-clang_18-O3 |
timestamp |
2025-08-20 16:58:16 UTC (02 15:08:44 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.17.0 |
target |
x86_64-freebsd14.1 |
tgt config |
freebsd_14-clang_18-static_O3 |
timestamp |
2025-08-20 16:57:52 UTC (02 15:09:08 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.17.0 |
target |
x86_64-freebsd14.1 |
tgt config |
freebsd_14-clang_18 |
timestamp |
2025-08-20 16:54:23 UTC (02 15:12:37 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.17.0 |
target |
x86_64-freebsd13.3 |
tgt config |
freebsd_13-clang_17 |
timestamp |
2025-08-20 16:22:36 UTC (02 15:44:24 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.17.0 |
target |
aarch64-linux-gnu |
tgt config |
linux_debian_12-clang_17_libc++ |
timestamp |
2025-08-20 12:50:26 UTC (02 19:16:34 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.17.0 |
target |
aarch64-linux-gnu |
tgt config |
linux_debian_12-gcc_13 |
timestamp |
2025-08-20 12:49:40 UTC (02 19:17:20 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.17.0 |
target |
aarch64-linux-gnu |
tgt config |
linux_debian_12-clang_17 |
timestamp |
2025-08-20 12:49:10 UTC (02 19:17:50 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.17.0 |
target |
x86_64-linux-gnu |
tgt config |
linux_debian_12-clang_17_libc++ |
timestamp |
2025-08-20 09:58:45 UTC (02 22:08:15 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.17.0 |
target |
x86_64-linux-gnu |
tgt config |
linux_debian_12-clang_17 |
timestamp |
2025-08-20 09:46:34 UTC (02 22:20:26 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.17.0 |
target |
x86_64-linux-gnu |
tgt config |
linux_debian_12-gcc_13.1 |
timestamp |
2025-08-20 09:43:56 UTC (02 22:23:04 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.17.0 |
target |
x86_64-linux-gnu |
tgt config |
linux_debian_12-clang_18 |
result |
unbuilt |
toolchain |
public-0.17.0 |
target |
x86_64-linux-gnu |
tgt config |
linux_debian_12-clang_18-O3 |
result |
unbuilt |
toolchain |
public-0.17.0 |
target |
x86_64-linux-gnu |
tgt config |
linux_debian_12-clang_18-static_O3 |
result |
unbuilt |
toolchain |
public-0.17.0 |
target |
x86_64-linux-gnu |
tgt config |
linux_debian_12-clang_18_libc++ |
result |
unbuilt |
toolchain |
public-0.17.0 |
target |
x86_64-linux-gnu |
tgt config |
linux_debian_12-clang_18_libc++-O3 |
result |
unbuilt |
toolchain |
public-0.17.0 |
target |
x86_64-linux-gnu |
tgt config |
linux_debian_12-clang_18_libc++-static_O3 |
result |
unbuilt |
toolchain |
public-0.17.0 |
target |
x86_64-linux-gnu |
tgt config |
linux_fedora_39-gcc_13-bindist |
result |
unbuilt |
toolchain |
public-0.17.0 |
target |
x86_64-apple-darwin22.5.0 |
tgt config |
macos_13-clang_15.0 |
result |
unbuilt |
toolchain |
public-0.17.0 |
target |
x86_64-apple-darwin23.5.0 |
tgt config |
macos_14-clang_15.0 |
result |
unbuilt |
toolchain |
public-0.17.0 |
target |
x86_64-apple-darwin23.5.0 |
tgt config |
macos_14-clang_15.0-O3 |
result |
unbuilt |
toolchain |
public-0.17.0 |
target |
x86_64-apple-darwin23.5.0 |
tgt config |
macos_14-clang_15.0-static_O3 |
result |
unbuilt |
toolchain |
public-0.17.0 |
target |
x86_64-apple-darwin23.5.0 |
tgt config |
macos_14-gcc_14_homebrew |
result |
unbuilt |
toolchain |
public-0.17.0 |
target |
x86_64-apple-darwin23.5.0 |
tgt config |
macos_14-gcc_14_homebrew-O3 |
result |
unbuilt |
toolchain |
public-0.17.0 |
target |
x86_64-apple-darwin23.5.0 |
tgt config |
macos_14-gcc_14_homebrew-static_O3 |
result |
unbuilt |
Changes
Change Log
2.4.6 (2021-03-22)
Full Changelog
Fixed bugs:
- REQUIRE does not compile when operator== in different namespace #443
- Using templated operator== inside TEST_CASE changes deduced types of forwarding references #399
Closed issues:
- CMake doesn't link package #483
- Assertions are slow when running on Windows with a debugger attached #481
- Get list of registered test-case names #479
- Can't compile with glibc master (future 2.34): SIGSTKSZ is no longer a constant #473
- How to use Doctest with Github Actions #472
- Link error (multiple definition...) in simple project #470
- INFO does not compile when used like a function call #469
- std::uncaught_exceptions is only available if compiling for macOS 10.12 or above #466
- Compile failure with WinRT on 2.4.5 #465
Merged pull requests:
- Improve speed with attached debugger (Windows) #482 (pgroke)
- Convert to bool by casting, rather than double negation #480 (kitegi)
- Fix compile error when targeting macOS version earlier and macOS 10.12 #478 (SamWindell)
- Fix MSVC linter warning about uninitialized TestSuite variables #471 (Reedbeta)
- REQUIRE does not compile when operator== in different namespace #443 . #468 (navinp0304)
- Automatically add TEST_SUITE labels to discovered tests #464 (shivupa)
2.4.5 (2021-02-02)
Full Changelog
Closed issues:
- Stack buffer overflow in
String
constructor #460
- Surpress warnings from clang-tidy #459
- compilation issue in MSVC when defining DOCTEST_THREAD_LOCAL to static #458
- nvcc compiler warning; doctest.h(4138): warning : expression has no effect #454
- Use of std::atomic can slow down multithreaded tests #452
Merged pull requests:
- Fix compilation on case-sensitive filesystems #463 (jhasse)
- Use function-like macros for prefixless macro names #462 (tbleher)
- Implement a multi lane atomic for assertion counts #453 (martinus)
2.4.4 (2020-12-25)
Full Changelog
Closed issues:
- 2.4.2: build fails #450
- combine the same tests for different build configurations from multiple shared objects without having symbol clashes #436
- Issue with GitHub Security Scanning: gmtime #423
2.4.3 (2020-12-16)
Full Changelog
2.4.2 (2020-12-15)
Full Changelog
Closed issues:
- DOCTEST_CHECK_THROWS_WITH_AS fails to work with dependant exception type #447
- MSVC warnings: narrowing conversion, signed/unsigned mismatch #446
- log contexts for failures in JUnit reporter #441
- MinGW "'mutex' in namespace 'std' does not name a type" error. #438
- Test runner thread initialization #435
- PLATFORM is misdetected on MacOSX Big Sur #415
- CHECK_EQ with enum values #276
Merged pull requests:
2.4.1 (2020-11-04)
Full Changelog
Closed issues:
- Avoid old C-style casts #424
- Segfault in unwind #422
- Inspect exception with gdb #421
- use-of-uninitialized-value #414
- Support unit tests with MPI #413
- Break into debugger support is missing for Linux #411
- What if built doctest as static library instead of header-only #408
- [Question] How to get test case name #407
- create extensions header for optional features requiring more std includes or newer C++ features #405
- tests/asserts summary lines are misaligned when counts exceed 999999 #402
- Call to 'ne' is ambiguous -- with solution #395
- Intermittent Segfaults #391
- Junit classname #390
- Add default printers for enums #121
Merged pull requests:
2.4.0 (2020-06-27)
Full Changelog
Closed issues:
- Count points based on the number of passed/failed cases? #386
- How to understand "#data_array" in std::string? #383
- crash: doctest with custom allocator #382
- Feature Request: format PRIVATE/PUBLIC/INTERFACE entries with constant indentation #378
- JUnit Reporter for Doctest #376
- Avoiding Feature Bloat #374
- StringMaker<wchar_t> fail to compile with C++20 enabled (GCC) #357
- doctest_discover_tests and FetchContent_Declare #351
- Junit reporter #318
Merged pull requests:
2.3.8 (2020-05-17)
Full Changelog
Closed issues:
- Scenario name can not be passed to -tc to execute single scenario #373
- Compile Error with CHECK_NOTHROW when using 2 Template Arguments #372
- dll example won't compile #371
- Build error with MinGW (Mingw-w64) due to missing Windows.h (with capital W) #370
- How to override file_line_to_stream? #369
- Memory sanitizer fails. #365
- Warning c6319 in Visual Studio #359
- Any option to show each test case's execute time? #358
- doctest in embedded #355
- Reloading a plugin with test cases leads to a segmentation fault #350
- Compiling with DOCTEST_CONFIG_COLORS_ANSI fails on Windows #348
- Can I inherit ConsoleReporter? #344
- Noreturn and noexcept defines for Visual Studio 2013 support #327
- Data-driven testing -- print out the deepest DOCTEST_SUBCASE #215
- Print the SUBCASE path when an assert fails in the TEST_CASE body #125