tree 0835de12c1ead9541cc311c005445af19bba0f24
parent a8f1a3dea29dbd45c1b7f3422c0aa29d5f06dbda
parent 5f94c8dafb56c06892ef37b181df88b46bec0156
author Haibo Huang <hhb@google.com> 1584674339 -0700
committer Haibo Huang <hhb@google.com> 1584991157 +0000

Upgrade catch2 to 'v2.11.2'

v2.11.2

--- Improvements ---
* GCC and Clang now issue warnings for suspicious code in assertions (#1880)
  * E.g. `REQUIRE( int != unsigned int )` will now issue mixed signedness comparison warning
  * This has always worked on MSVC, but it now also works for GCC and current Clang versions
* Colorization of "Test filters" output should be more robust now
* `--wait-for-keypress` now also accepts `never` as an option (#1866)
* Reporters no longer round-off nanoseconds when reporting benchmarking results (#1876)
* Catch2's debug break now supports iOS while using Thumb instruction set (#1862)
* It is now possible to customize benchmark's warm-up time when running the test binary (#1844)
  * `--benchmark-warmup-time {ms}`
* User can now specify how Catch2 should break into debugger (#1846)

--- Fixes ---
* Fixes missing `<random>` include in benchmarking (#1831)
* Fixed missing `<iterator>` include in benchmarking (#1874)
* Hidden test cases are now also tagged with `[!hide]` as per documentation (#1847)
* Detection of whether libc provides `std::nextafter` has been improved (#1854)
* Detection of `wmain` no longer incorrectly looks for `WIN32` macro (#1849)
  * Now it just detects Windows platform
* Composing already-composed matchers no longer modifies the partially-composed matcher expression
  * This bug has been present for the last ~2 years and nobody reported it

Exempt-From-Owner-Approval: upgrade
Change-Id: I3b982f562713ed6025263a02f59cd3ad7e4ecd36
