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 |
aarch64-linux-gnu |
| tgt config |
linux_debian_12-gcc_13 |
| timestamp |
2026-03-13 12:12:40 UTC (03 04:51:47 days ago) |
| result |
success | log | rebuild |
| toolchain |
public-0.17.0 |
| target |
aarch64-linux-gnu |
| tgt config |
linux_debian_12-gcc_14-static_O3 |
| timestamp |
2026-03-11 04:45:17 UTC (05 12:19:09 days ago) |
| result |
success | log | rebuild |
| toolchain |
public-0.17.0 |
| target |
aarch64-linux-gnu |
| tgt config |
linux_debian_12-gcc_14-O3 |
| timestamp |
2026-03-11 04:44:29 UTC (05 12:19:57 days ago) |
| result |
success | log | rebuild |
| toolchain |
public-0.17.0 |
| target |
aarch64-linux-gnu |
| tgt config |
linux_debian_12-gcc_14-ndebug_O3 |
| timestamp |
2026-03-11 04:41:28 UTC (05 12:22:58 days ago) |
| result |
success | log | rebuild |
| toolchain |
public-0.17.0 |
| target |
aarch64-linux-gnu |
| tgt config |
linux_debian_12-gcc_14 |
| timestamp |
2026-03-11 04:30:17 UTC (05 12:34:10 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 |
2026-03-07 00:56:14 UTC (09 16:08:13 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 |
2026-03-07 00:55:18 UTC (09 16:09:09 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 |
2026-03-07 00:49:40 UTC (09 16:14:47 days ago) |
| result |
success | log | rebuild |
| toolchain |
public-0.17.0 |
| target |
x86_64-linux-gnu |
| tgt config |
linux_fedora_40-gcc_14-bindist |
| timestamp |
2026-03-06 09:18:23 UTC (10 07:46:04 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 |
2026-03-06 02:17:54 UTC (10 14:46:33 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 |
2026-03-06 02:14:54 UTC (10 14:49:33 days ago) |
| result |
success | log | rebuild |
| toolchain |
public-0.17.0 |
| target |
aarch64-linux-gnu |
| tgt config |
linux_debian_12-clang_18-O3 |
| timestamp |
2026-03-06 02:13:27 UTC (10 14:50:59 days ago) |
| result |
success | log | rebuild |
| toolchain |
public-0.17.0 |
| target |
aarch64-linux-gnu |
| tgt config |
linux_debian_12-clang_18_libc++ |
| timestamp |
2026-03-06 02:12:45 UTC (10 14:51:42 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 |
2026-03-06 02:12:03 UTC (10 14:52:24 days ago) |
| result |
success | log | rebuild |
| toolchain |
public-0.17.0 |
| target |
aarch64-linux-gnu |
| tgt config |
linux_debian_12-clang_18 |
| timestamp |
2026-03-06 02:10:08 UTC (10 14:54:19 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 |
2026-03-04 14:26:00 UTC (12 02:38:26 days ago) |
| result |
success | log | rebuild |
| toolchain |
public-0.17.0 |
| target |
x86_64-linux-gnu |
| tgt config |
linux_debian_12-gcc_14-O3 |
| timestamp |
2026-03-04 14:24:20 UTC (12 02:40:07 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 |
2026-03-04 14:23:30 UTC (12 02:40:56 days ago) |
| result |
success | log | rebuild |
| toolchain |
public-0.17.0 |
| target |
x86_64-linux-gnu |
| tgt config |
linux_debian_12-gcc_14 |
| timestamp |
2026-03-04 14:16:41 UTC (12 02:47:46 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 |
2026-03-04 01:36:25 UTC (12 15:28:02 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 |
2026-03-03 21:52:07 UTC (12 19:12:19 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 |
2026-03-03 21:50:14 UTC (12 19:14:13 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 |
2026-03-03 21:47:21 UTC (12 19:17:06 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 |
2026-03-03 21:38:24 UTC (12 19:26:02 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 |
2026-03-03 21:34:52 UTC (12 19:29:35 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 |
2026-03-03 21:34:29 UTC (12 19:29:57 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 |
2026-03-03 21:25:38 UTC (12 19:38:49 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 |
2026-03-03 21:02:18 UTC (12 20:02:09 days ago) |
| result |
success | log | rebuild |
| toolchain |
public-0.17.0 |
| target |
x86_64-freebsd14.1 |
| tgt config |
freebsd_14-clang_18-O3 |
| timestamp |
2026-03-03 21:01:15 UTC (12 20:03:11 days ago) |
| result |
success | log | rebuild |
| toolchain |
public-0.17.0 |
| target |
x86_64-freebsd14.1 |
| tgt config |
freebsd_14-clang_18 |
| timestamp |
2026-03-03 20:59:13 UTC (12 20:05:13 days ago) |
| result |
success | log | rebuild |
| toolchain |
public-0.17.0 |
| target |
x86_64-freebsd13.3 |
| tgt config |
freebsd_13-clang_17 |
| timestamp |
2026-03-03 20:48:08 UTC (12 20:16:19 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 |
2026-03-03 20:22:44 UTC (12 20:41:43 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 |
2026-03-03 20:11:08 UTC (12 20:53:18 days ago) |
| result |
success | log | rebuild |
| toolchain |
public-0.17.0 |
| target |
x86_64-linux-gnu |
| tgt config |
linux_debian_12-clang_17 |
| timestamp |
2026-03-03 20:10:31 UTC (12 20:53:56 days ago) |
| result |
success | log | rebuild |
| toolchain |
public-0.17.0 |
| target |
aarch64-linux-gnu |
| tgt config |
linux_debian_12-clang_17 |
| result |
unbuilt |
| toolchain |
public-0.17.0 |
| target |
aarch64-linux-gnu |
| tgt config |
linux_debian_12-clang_17_libc++ |
| result |
unbuilt |
| 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 |
| toolchain |
public-0.17.0 |
| target |
x86_64-microsoft-win32-msvc14.3 |
| tgt config |
windows_10-clang_17_msvc_msvc_17.10 |
| result |
unbuilt |
| toolchain |
public-0.17.0 |
| target |
x86_64-microsoft-win32-msvc14.3 |
| tgt config |
windows_10-msvc_17.8 |
| result |
unbuilt |
| toolchain |
public-0.17.0 |
| target |
x86_64-microsoft-win32-msvc14.3 |
| tgt config |
windows_10-msvc_17.8-O2 |
| result |
unbuilt |
| toolchain |
public-0.17.0 |
| target |
x86_64-microsoft-win32-msvc14.3 |
| tgt config |
windows_10-msvc_17.8-static_O2 |
| result |
unbuilt |
Changes
Change Log
2.4.7 (2021-12-10)
Full Changelog
Implemented enhancements:
- Add a default Bazel BUILD file #433
Fixed bugs:
- Stack-buffer-overflow probably because char array is viewed as NULL terminated string #476
Closed issues:
- "C4834: discarding return value" with REQUIRE_THROWS #549
- Xcode 11.3 is gone from macOS-latest (=macOS-11) #547
- is it possible to define dependency for CHECKs #545
- Output summary explanation #541
- compiler errors in doctest.h using cmake in CLion #540
- Fails to build in VS2013 because of constexpr #539
- -Wreserved-identifier warnings with Clang 13.0.0 #536
- Build fails with latest MSVC 2019 (v16.11) due to /WX #535
- VS 16.11 warning about unreferenced function with internal linkage #533
- Faq googletest mocking dead link #532
- FR: Documentation: FAQ: Add sectoin 'multiple files' #526
- CMAKE: doctest_discover_tests() error when ADD_LABELS is not specified #524
- Register tests based on test data available #521
- naming override in different testcase files #517
- Segmentation fault during the compilation without the copy elision optimization #515
- Compiler warnings on Xcode 12.5 #514
- Using filter
-sc does not work properly? #513
- [question] Example of tests in production code & DLLs & shared libraries? #511
- Dumping fixture state to disk on error #509
- Macros construct reserved identifiers #507
- Running doctest on embedded ARM Cortex µCs #506
- Asserts Outside of Tests Example Does Not Link #504
- [FEATURE REQUEST] Quiet flag #503
- Compile error on Intel C++ Classic Compilers #502
- compiling doctest in 32-bit with __stdcall calling convention fails #500
- Duplicate 'const' compilation error from TEST_CASE_CLASS macro #498
- Packed fields can't be accessed in 2.4.6 #495
- Dangling pointers with .str().c_str() #494
- Automatic adding of TEST_SUITE labels to discovered tests fails if ADD_LABELS not set #489
- Adding a bunch of REQUIRE/CHECK utilities #487
- Warning C4114 in MSVC #485
- Own repository #410
- Linking problem with Clang 10 on Windows #362
- Add option not to print the intro text #342
- [Feature] Better integration with tools (VS Code Test Adapter Extension) #320
- vscode test explorer #303
- Want an option not to print any intro #245
- Add way to disable printing of intro #181
Merged pull requests:
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
- Suppress 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