olm/lib/doctest/CHANGELOG.md
Hubert Chathi 8475061136 switch to doctest for unit testing
thanks to Nico Werner, who did most of the porting work
2021-12-22 13:45:33 -05:00

57 KiB

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

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

Merged pull requests:

2.3.7 (2020-02-24)

Full Changelog

Closed issues:

  • Some of the GitHub CI builds are failing #334
  • C++20 removed std::uncaught_exception #333
  • Doctest SEH handlers are called before __except handlers #324

Merged pull requests:

2.3.6 (2019-12-16)

Full Changelog

Closed issues:

  • Link problem w/ BUILD=Release if MESSAGE() with std::string/ostream-operator is used #316
  • the FAQ about difference to Catch2 is missing tags #315
  • include Windows.h in small caps to silence clang warnings #312
  • Mistake in generator with lgtm error #311
  • CMake: cannot install target doctest_with_main #310
  • [bug] INFO() and CAPTURE() cannot compile using MSVC when used with DOCTEST_CONFIG_IMPLEMENTATION_IN_DLL #306
  • Skip subcase #304
  • Does some equivalent features from google test exist here? #300
  • How to use doctest in dll only(without main.cpp and .exe) #299
  • Warning: C26812: The enum type 'doctest::assertType::Enum' is unscoped. Prefer 'enum class' over 'enum' Enum.3. #298
  • test executable_dll_and_plugin fails on Linux, GCC 8.1.0, -fsanitize=address #201

Merged pull requests:

2.3.5 (2019-09-22)

Full Changelog

Closed issues:

  • [feature request] Assertion macros for throwing exception of a specific type with message - <LEVEL>_THROWS_WITH_AS(expr, string, ex_type) #295
  • CHECK_THROWS_AS of non-default constructor wants to call default constructor #293
  • Typos and spelling errors in source, documentation and scripts #291
  • Customize test names / variable substitution #284
  • SUBCASE in function not behaving as expected #282
  • SUPER_FAST_ASSERTS fails to compile CHECK_MESSAGE #281
  • CHECK_MESSAGE no longer works with DOCTEST_CONFIG_SUPER_FAST_ASSERTS #280
  • CAPTURE of structured binding element no longer works #279
  • Reporter: test\_case\_end no longer fired after test case restart #278
  • Add debug break override support #277
  • Running tests from within Visual Studio in a static lib project #275
  • Compile-time error when using a raw string literal inside of REQUIRE MSVC 2017 #274
  • Give example for having tests in production code #252
  • Memory leaks just by including doctest.h #205
  • Feature request: print subcase when an exception is thrown inside one #136

Merged pull requests:

2.3.4 (2019-08-12)

Full Changelog

Closed issues:

  • Remove INFO() limitation for using only lvalues and no rvalues #269
  • Compile error on MAC OS with AppleClang 8.0.0.8000042 #266
  • Throwing exception in a mocked method #265
  • Illegal syntax for decorators compiles and runs without warning, but has no effect #264
  • Support conditional expressions in REQUIRE #262
  • Register a listener(reporter) that always listens #257
  • Memory sanitizer complaint #255
  • Windows Clang GNU command line warnings #253
  • The build writes into the source directory #249
  • How to enable tests inside another exe #246
  • Testing multiple headers. #244
  • CMakeLists.txt: Needs CMAKE_CXX_STANDARD=11 #243
  • [bug] Can't compile the tests because of mutex, that is declared in the doctest #242

Merged pull requests:

2.3.3 (2019-06-02)

Full Changelog

Closed issues:

  • Build fails with gcc9 because of -Wstrict-overflow=5 which is too high #241
  • doctest given defined with short macro name #239
  • Splitting templated test across different translation units #238
  • Compile errors with iosfwd.h and Visual Studio 2019 Preview #183
  • Add CMake test support as catch_discover_tests() in Catch2 #171

Merged pull requests:

2.3.2 (2019-05-06)

Full Changelog

Closed issues:

  • scripts/bench/run_all.py : module 'urllib' has no attribute 'urlretrieve' #230
  • wrong set of tests registered with TEST_CASE_TEMPLATE get executed #228
  • Logging not Working for me #227
  • Link test runner executable into dll? #226
  • Linking issue for executables after including doctest in library #224
  • Strange REQUIRE_THROWS behaviour #223
  • Windows clang-cl -Wunused-variable warning #221
  • Update doctest 2.3.1 in bincrafters #220
  • make install, on 64 bit, installs cmake files into lib instead of lib64 folder #218
  • TSAN: data race related to hasLoggedCurrentTestStart #217
  • REQUIRE_THROWS_AS does not support class constructors #216
  • Build failure on clang 7.0.1 on Fedora 29 #214
  • add example compatible with -> https://github.com/report-ci/ #212
  • No DOCTEST_WITH_TESTS? #211

Merged pull requests:

  • Added meson file, to declare a dependency. #232 (jormundgand)
  • Explicitly specify the doctest_with_main C++ standard in CMake. #231 (DaanDeMeyer)
  • Remove architecture check from CMake package #225 (mmha)
  • add default install prefix #219 (a4z)
  • [regression] Workaround MSVC preprocessor issue triggered by REQUIRE_THROWS #213 (zhihaoy)

2.3.1 (2019-03-24)

Full Changelog

Merged pull requests:

  • Add two very simple examples of using doctest with CMake #209 (pr0g)

2.3.0 (2019-03-23)

Full Changelog

Closed issues:

  • Compilation with emscripten fails by default because of signal handling #207
  • Compilation fails with cl.exe /Zc:wchar_t- #206
  • Parallel invocation of doctest's own testsuite via CTest fails #202
  • Get the number of passed/failed tests in the code #200
  • Tests alongside code with multiple executables #199
  • Cppcheck 1.86 warnings #198
  • Compiling as Dll maybe is wrong #196
  • Forward-declaring identifiers in std:: is UB - consider including some of the cheaper C/C++ stdlib headers #194
  • QtCreator + clang warning about operator << precedence #191
  • run test fixture from cli #190
  • Installing doctest using cmake and make fails on Ubuntu 16.04 C++11 is not used #189
  • c++17 requirement for testing private members #188
  • [feature request] implement a user-extendable reporter system #138
  • Same test runs multiple times when written in a header and included with different unnormalized paths #45

Merged pull requests:

  • Fix unmatched bracket in DOCTEST_TEST_CASE_CLASS #204 (patstew)
  • Template apply #203 (zhihaoy)
  • No undefined behavior per C++ standard in detecting endianness. #195 (dimztimz)
  • Fix propagating include directories of target doctest_with_main #193 (dimztimz)
  • Move single header to a separate folder #187 (dimztimz)
  • Fix Clang format to handle C++11 #186 (dimztimz)
  • Rename doctest_impl.h to doctest.cpp for less confusion. #185 (dimztimz)

2.2.3 (2019-02-10)

Full Changelog

Closed issues:

  • Calling convention needed on a few functions #182
  • Terminal color is not reset when a test fails with some signal #122

2.2.2 (2019-01-28)

Full Changelog

Closed issues:

  • Add way to override getCurrentTicks() implementation #178
  • Wrap <csignal> include with ifdef #177
  • How to stop doctest hijack unhandled exceptions? #176
  • Change the include path of the doctest CMake interface target so users need to specify the folder as well #175
  • Reduce scope of DebugOutputWindowReporter instance #174
  • Can logging INFO be used in helper class outside of TEST_CASE? #169

Merged pull requests:

2.2.1 (2019-01-15)

Full Changelog

Closed issues:

  • the --no-throw option shouldn't affect \<LEVEL\>\_NOTHROW asserts #173
  • Make doctest work with XCode 6 and 7 no support for C++11 thread\_local #172
  • Print vector content. #170
  • Conan package #103
  • [feature request] Thread-safety for asserts and logging facilities #4

2.2.0 (2018-12-05)

Full Changelog

Closed issues:

  • remove the FAST_ versions of the binary asserts not a breaking change! #167
  • [compile times] make the DOCTEST_CONFIG_SUPER_FAST_ASSERTS identifier affect normal asserts too #166

2.1.0 (2018-11-30)

Full Changelog

Closed issues:

  • doctest::String ctor with non-zero terminated string #165
  • thread_local is not supported on iOS 9.0 #164
  • Compiler error on Android NDK r18 #163
  • [question] One setup for multiple tests #160
  • clang unwanted warning in user code #156
  • Unsigned integer overflow in fileOrderComparator #151
  • ThreadSanitizer: signal-unsafe call inside of a signal #147
  • Feature request: check for exception string like Catch's CHECK\_THROWS\_WITH #97

Merged pull requests:

  • Fixed build error under Android NDK #162 (tals)
  • Added clang-7 to travis build #161 (AMS21)
  • Remove clang-tidy warnings for static fields created by doctest #159 (rantasub)
  • Make it possible to change the command line options prefix #158 (tbleher)

2.0.1 (2018-10-24)

Full Changelog

Closed issues:

  • macro name collision with google log #157
  • Add #define to not run tests by default #152
  • REQUIRE_THROWS_MESSAGE not checking message correctly #150
  • Test case passes even though subcase failed #149

Merged pull requests:

  • Correctly document when a main() entry point will be created #155 (tbleher)
  • Correct format string for unsigned char #154 (tbleher)

2.0.0 (2018-08-23)

Full Changelog

Closed issues:

  • MSVC 2017 15.8.1, New Warnings as Errors #144
  • Windows clang-cl -Wdeprecated-declarations warnings #143
  • Logo Proposal for Doctest #141
  • PCH Support #140
  • improve compile times even further #139
  • !!! BREAKING CHANGE !!! - Move to C++11 for next version of the library #137
  • getCurrentTicks producing warning on MinGW #133
  • [enhancement] Add support for "stand-alone assertions". #114

Merged pull requests:

  • Suppress compiler warning on MinGW #134 (AMS21)

1.2.9 (2018-05-10)

Full Changelog

Closed issues:

  • GCC 8.0 std::uncaught_exception() is deprecated #130
  • Signal stack size too small on Linux #129
  • Support Intel Compiler #128
  • Please add support for MSVC 2005 #127
  • scan-build report "Dereference of null pointer" for function wildcmp #124
  • !!! BREAKING CHANGE console output only !!! - Emulate the error/warning format emitted by native compiler gcc/clang/msvc when printing test failures in the log #123
  • ARM builds: FTBFS on armhf - error: cast from 'const char*' to 'const #118

Merged pull requests:

  • Exclude Intel from GCC compiler check #132 (smcallis)
  • Fix deprecated-declarations warning with GCC-8.0 #131 (AMS21)

1.2.8 (2018-03-10)

Full Changelog

Closed issues:

  • ARM64 builds: templated_test_cases.cpp test fails #119

1.2.7 (2018-02-06)

Full Changelog

Closed issues:

  • MSan has runtime error: unsigned integer overflow #116
  • clang-tidy warning about cert-err58-cpp #115
  • Linking errors #113
  • inlining function defs #111
  • Nullptr issue. #110
  • MemorySanitizer: use-of-uninitialized-value #109
  • Potential memory leak through scan-build #108
  • Warnings raised to error with latest MSVC version #107
  • New solution for tests in static libraries ! MSVC #106
  • Command line flags do not work after code formatter/beautifier #104
  • Cppcheck 1.81 warnings #102

Merged pull requests:

  • Fix macros WIN32_LEAN_AND_MEAN typo #112 (vladimirgamalyan)
  • Correct DOCTEST_NO_INSTALL logic; do install unless it is set \#99 #100 (onqtam)
  • Correct DOCTEST_NO_INSTALL logic; do install unless it is set #99 (OdyX)

1.2.6 (2017-10-29)

Full Changelog

Closed issues:

  • [bug] writing an exception translator in a header file results in it being registered multiple times which is suboptimal #98
  • Warnings when using something more than /W4 for Visual Studio #95

Merged pull requests:

  • Added an option to not install Doctest in the CMake scripts #96 (nm17)
  • Adding a defensive check against a null pointer for the current test suite #94 (Lectem)
  • Remove incomplete copy ctor #93 (McMartin)

1.2.5 (2017-10-06)

Full Changelog

Closed issues:

  • Xcode 9 / clang - unknown warning group #92

1.2.4 (2017-09-20)

Full Changelog

Closed issues:

  • [bug] test cases can end up in the wrong test suite #91

1.2.3 (2017-09-11)

Full Changelog

Closed issues:

  • [bug] Defining a variable T inside a test with DOCTEST_CONFIG_DISABLE defined does not compile #90
  • [support] Using DOCTEST\_CONFIG\_NO\_SHORT\_MACRO\_NAMES does not compile using g++ 6.3.0 #89
  • [question] Why are SUBCASEs executed only once when within a function called multiple times? #88

1.2.2 (2017-09-05)

Full Changelog

Closed issues:

  • [question] Differences between doctest and googletest gtest for uninitialised local variables in test cases #86
  • !!! BREAKING CHANGE !!! - remove the custom implementation of std::is_constructible and optionally use the <type_traits> header because of infinite template recursion issues with GCC #85
  • Static Analysis results of doctest #83
  • !!! BREAKING CHANGE !!! - catch exceptions as const reference in <LEVEL>_THROWS_AS #81
  • doctest implementation as static library #77
  • Provide some easy way to compare structs containing float/doubles #73

Merged pull requests:

1.2.1 (2017-05-24)

Full Changelog

Closed issues:

  • Compile error under MSVC 2015/2017 if <thread> included in same file as "doctest.h" #72

Merged pull requests:

  • docs: TEST_CASE_METHOD -> TEST_CASE_FIXTURE #71 (akrzemi1)

1.2.0 (2017-05-15)

Full Changelog

Closed issues:

  • Further improvements on compile time - disable inlining of functions used in asserts #70
  • Improve runtime performance - lazy stringification, more inlining, no statics on the hot path, move semantics for classes such as doctest::String which are used by value, etc. #69
  • Add option to show duration of test case execution and add a timeout(seconds) decorator - marking them as failed if they exceed it #68
  • Add support for test case decorators - label, description, skip, may_fail, should_fail, expected_failures, etc. #67
  • Integrate static analysis into the CI builds #66
  • Print the test suite name on test case failure #65
  • Add signal handlers to handle crashes and use SEH under Windows - report which test case failed #63
  • Add support to Approx for strong typedefs of double #62
  • [question] Is there a way to always have 0 as the exit code regardless of test results? #59
  • Add support for un-parenthesized expressions containing commas in asserts #58
  • Add ability to filter subcases with filters #57
  • Add option to query if code is being ran inside of a test - doctest::is_running_in_test #56
  • Ability for a binary executable / shared object to use the test runner implementation of another binary - with exported symbols - so tests end up in a single registry #55
  • How to force the use of colors in the terminal? #54
  • How can I mix production code with the Unit Tests? #53
  • add <= and >= operators to Approx and also maybe \< and \> #52
  • Add ability to capture variables from test scope #48
  • !!! BREAKING CHANGE !!! - Make TEST_SUITE work with blocks and add TEST_SUITE_BEGIN #41
  • Add option to print which test suites/cases are run #39
  • Add support for templated test cases - parameterized by type #38
  • Add custom failure messages with lazy stringification #23
  • Add an exception translation mechanism + the ability for users to extend it with custom exception types #12
  • Add API for reporting failures #9

Merged pull requests:

1.1.4 (2017-02-18)

Full Changelog

Closed issues:

  • Add option --force-colors - for when a tty is not detected for stdout #51
  • Issue with using lambdas in tests in gcc #49
  • Add the include file to releases #47

Merged pull requests:

  • Add translation of std::exception for exceptions that terminate a test case #46 (eliaskosunen)

1.1.3 (2016-11-15)

Full Changelog

Closed issues:

  • Exception handlers cause warnings when exceptions are disabled #44

1.1.2 (2016-10-10)

Full Changelog

Closed issues:

  • clang warnings when using C++11 or newer #42
  • [support] identical names for test suites? #40

1.1.1 (2016-09-22)

Full Changelog

1.1.0 (2016-09-21)

Full Changelog

Closed issues:

  • char* comparison uses the contents, not the pointer #36
  • add configuration preprocessor identifier for passing by value in assertions instead of by reference #35
  • restrict expressions in assertion macros to binary comparisons at most with a static assert #34
  • Add clearFilters() to doctest::Context #33
  • A way to refrain from polluting “#define” space for users of tested code? #32
  • drop VC++6 support #31
  • False positive test #30
  • Turn off coloring after tests are finished? #28
  • C++11 nullptr #27
  • Only one SUBCASE per line is executed #25
  • creative formatting of chars #24
  • DOCTEST_BREAK_INTO_DEBUGGER undefined under OSX #22
  • Tests inside a static library #21
  • Add example how to remove doctest options from the command line for the program after the tests run #20
  • Single-letter options active even without leading '-' dash #19
  • pointer stringification not working for compilers different from MSVC #18
  • Tests that accompany code run and produce output at default #17
  • GCC 5.3.1 Compiler warning: sign compare #16
  • Slower than Catch in realistic test cases #14
  • Rename doctest::detail::Result res; in DOCTEST_ASSERT_IMPLEMENT #10
  • No red when all tests pass #7
  • UNIX line feedings on GitHub please #6

Merged pull requests:

1.0.0 (2016-05-22)

Merged pull requests:

  • Reduce the header size for test users #3 (zah)
  • Add a Gitter chat badge to README.md #1 (gitter-badger)

* This Change Log was automatically generated by github_changelog_generator