Changes for lest – lest errors escape testing

version 1.35.2 2023-12-28

- Include `windows.h` (lowercase) to fix cross-compiled MinGW builds (#75, thanks @salman-javed-nz)
- Refine comment in last commit, 24ebadc636 (thanks @mbeutel)
- Cast char to signed to avoid type-limits warning (courtesy gsl-lite issue 337, PR 338)
- Change value used with *_CPP20_OR_GREATER to 202002L (nonstd-lite-project issue 60); Now, designate C++23 as speculative.
- Remove Travis CI configuration file (#74, thanks @striezel)
- Add workflow for GitHub Actions (thanks @striezel #73)
- Fix some typos (#72, thanks @striezel)
- Add parentheses around macro arguments (PVS-Studio: V1003)

version 1.35.1 2019-03-15

- Add standard selection macro lest_CPLUSPLUS (nonstd-lite-project issue 7)
- Align CMake file, expand tests to use C++98/11/14/17/latest (#69, nonstd-lite issue 13).
- Fix an extraneous ; in lest_cpp03.hpp.

version 1.35.0 2019-03-08

- Add option -z,--pass-zen that omits printing of the expanded expression, thanks to @ninnghazad
- Fix to print unprintable characters as '\xdd' or "...\xdd...", except for \\,\r,\n,\f; thanks to @ninnghazad

version 1.34.1 2019-02-16

To support conan and vcpkg installations, examples now specify folder 'lest' in the include directives, like: #include "lest/lest.hpp".

version 1.34.0 2019-02-11

This release adds version macros lest_MAJOR, lest_MINOR and lest_PATCH to lest.hpp and lest_cpp03.hpp.

Further it adds scripts to create conan and vcpkgs packages.

version 1.33.5 2018-11-15

This bug-fix release removes typename from the seed_t declaration that is invalid in C++98.

In C++98, typename may not be used with a non-dependent type name. In C++11 this restriction has been lifted. Now, in lest_cpp03 the C++11 implementation is chosen for VC 12 (VS 2013) as this compiler supports enough of C++11 for lest, however it does not with respect to typename.

version 1.33.4 2018-11-14

This bug-fix release fixes the type seed_t to it's use with std::mt19937 or with std::srand().

version 1.33.3 2018-10-01

This bug-fix release fixes reporting of sections, issue #65. Thanks to @onthetop.

version 1.33.2 2018-08-28

This bug-fix release suppresses the warning message unused parameter ‘lest_env’ [-Werror=unused-parameter] with lest_cpp03.hpp. Further the style of #if defined has been changed to use parentheses. For the rest, lest.hpp is unchanged.

version 1.33.1 2018-04-30

- Remove mentioning of VC6.
- Fix link error for character reporting for VC8 (Visual Studio 2005) in lest_cpp03.hpp.

version 1.33.0 2018-04-23

- Add reporting of failing section propositions inspired on PR #36 (thanks to Damon Domjan @Espressosaurus);
- Add option -v, --verbose to also report sections on failure; rationale: keep output backwards compatible (for now).
- Add separate CASE_ON(proposition, ...) to pass on lambda capture list.
- Add hidden tests to report configuration.
- Remove VC6 support, add formatting for pointers and enable differentiating between MSVC 14.0 and 14.1.
- Relinquish synchronization of std::cout with stdio to increase console responsiveness.
- Limit exit value to 255 as per issue #60.
- Improve suppression of warnings, issue #48, #59.
- Improve reporting of characters such as \t, \n.
- Improve reporting of pointers as 'nullptr' ('NULL') or hexadecimal number.

version 1.32.0 2018-01-26

- Add target test.
- Add target install per issue #51.
- Add configure option LEST_EXTRA_WARNINGS, use target_compile_options().
- Add macro lest_SCENARIO and example for auto-registered BDD sketch.
- Add example for BDD with auto-registration.
- Add example emulating Catch syntax.
- Allow for comparisons that yield a user-defined type that converts to bool.
- Make sure lest_PLATFORM_IS_WINDOWS is defined (0 or 1).
- Expand Travis configuration.
- Expand AppVeyor configuration.
- Add compilation of test_lest_cpp03 as C++11.
- Only compile C++98 examples if C++11 is not available.
- Only run unit tests.
- Increase tries for time-induced randomness (VS 12 2013 could fail on AppVeyor).
- Fix install command (thanks to @arteniioleg).
- Fix link for bandit.

version 1.31.0 2017-07-17

- Add the lest_FEATURE_RTTI compile-time configuration macro.
- Add a 'try it online' button
- Expands the list 'Other test frameworks'.

version 1.30.0 2017-06-21

- Add Buck build support.
- Add configuration lest_FEATURE_WSTRING to lest.hpp (thanks to Lucjan Bryndza, @lucckb).

version 1.29.1 2017-04-27

- Prevent (sign-)conversion warning (thanks to Magnus Bergsten, @Sillamacka).
- Add lest-Trompeloeil integration example.
- Mention <= and >= operator of approx.

version 1.29.0 2017-01-25

- Add operator<=() and operator>=() to approx per issue #38.
- Mention feedback on success per issue #41 (thanks to @jjl).
- Remove lest_TEST(), deprecated since version 1.17.0 of 29-Sep-2014.

version 1.28.0 2016-12-31

- Add private operator=() to action to lest_cpp03.hpp (thanks to PVS-Studio).
- Add deleted operator=() to action to lest.hpp (analogous to lest_cpp03.hpp).
- Make CMake targets to compile selectable (issue #40, thanks to @furkanusta).
- Add section Building tests and examples to Readme.
- Mention Makefiles in Readme.

version 1.27.3 2016-12-30

- changed to release 1.28.0

version 1.27.2 2016-11-11

- lest.hpp is unchanged.
- Prevent warning -Wlong-long for uint64_t with non-MSVC compilers using std=c++98/c++03.

version 1.27.1 2016-11-10

- Replace old-style casts [-Wold-style-cast].

version 1.27.0 2016-06-23

- Change visibility of test functions to static (thanks to @ianmacs).
- Make decomposition support for explicit conversion to bool explicit via test.
- Add reference to doctest to Readme.
- Add more badges to Readme.
- Remove traces of Biicode.

version 1.26.0 2016-01-18

- Move headers into folder include/lest.
- Add contrib folder with lest_expect_abort and lest_expect_assert.

version 1.25.0 2016-01-07

- Change lest environment parameter name $ to lest_env.
- Change $ prefix of internal variables to lest__.
- Use Travis matrix setup.
- Improve pluralise() parameter order.
- Add example using templated function.

version 1.24.5 2015-12-09

- Fix for MSVS 2015 (MSVC 14) error C2397: conversion from 'const int' to 'const bool'.

version 1.24.4 2015-11-24

- Change approx() to use min().
- Add missing EXPECT_NOT() to lest_basic and lest_decompose.
- Add section Usage to Readme.md.
- Add examples for user-defined function/lambda.
- Only define lest_MODULE() for non-auto test registration.

version 1.24.3 2015-11-12

- Add to_string(nullptr_t) for VC10 onwards.
- Fix std::tie for VC12.

version 1.24.2 2015-10-24

- Fix version number for VC14 and higher.
- Fix warnings for clang and GNUC.

version 1.24.1 2015-09-25

- Change compiler version handling.

version 1.24.0 2015-07-22

- Allow non-literal string as description for BDD macros, issue #15.
- Change decomposition to use operator<< instead of operator->*, issue #14.
- Enable hiding of test cases via tags that start with '[.', such as [.integration], issue #13.

version 1.23.0 2015-05-31

- Add lest to biicode.
- Improve documentation
- Enable building via CMake.
- Make folder names singular.
- Compile with g++ 4.8.1 and clang 3.4 with libc++ on Travis for C++11.

version 1.22.0 2015-01-05

- Add decomposition for std::pair and std::tuple (thanks to @PureAbstract/Catch).

version 1.21.0 2014-12-27

- Add lest_FEATURE_AUTO_REGISTER.
- Add macro lest_NO_SHORT_MACRO_NAMES.
- Deprecate macro lest_NO_SHORT_ASSERTION_NAMES.
- Add run() taking specification and argc, argv for use with modules and auto register.

version 1.20.0 2014-12-26

- Add lest_MODULE().
- Add example with tests across multiple files for lest.hpp using lest_MODULE().
- Add example with tests across multiple files for lest_cpp03.hpp.

version 1.19.2 2014-12-26

- Fix missing inline.

version 1.19.1 2014-12-24

- Fix uint64_t for Unix (non-Windows) platforms in test_lest_cpp03.
- Improve documentation.

version 1.19.0 2014-10-24

- Add function-level fixtures.
- Add options --repeat and --version.
- Add sections to Readme, mention several other test frameworks.
- Report unrecognised types with their type name instead of {?}.
- Rename examples.

version 1.18.0 2014-10-19

- Add options --list-tags and --list-tests, remove --list.
- Add options --order and --random-seed.
- Add summary for option --pass
- Add make_tests(container), make_texts(container).
- Add lest_EXPECT_NO_THROW().
- Add lest_FEATURE_TIME_PRECISION.
- Add lest_FEATURE_COLOURISE.
- Remove option lest_FEATURE_TIME, use <chrono>.
- Make test functions local to CASEs in test_lest_cpp03.

version 1.17.1 2014-10-01

- Fix EXPECT_THROWS() and EXPECT_THROWS_AS() to accept a void expression.

version 1.17.0 2014-09-29

- Add lest_EXPECT_NOT().
- Add CASE(...) in favour of TEST(...).
- Add command line options as in lest to lest_cpp03.
- Fix target for test_lest in Makefile used by Travis CI.
- Fix expression decomposition changed in version 1.16.0.
- Suppress clang warning.

The Travis clang build is failing (see issue #10):
    error: no type named 'underlying_type' in namespace 'std'
Locally, clang 3.6.0 (trunk 218502), g++ 4.8.1 and VC++ 12 do just fine.

version 1.16.0 2014-09-10

- Add option --time to report duration of selected tests.
- Add compile-time feature to omit option --time and reduce overhead.
- Add compile-time feature to include literal suffixes 'u', 'l' and 'f'.
- Add example for approx.
- Add example for reporting a user-defined type.
- Fix regular-expression-related test selection
- Improve expression decomposition per Catch 1.0b53.

version 1.15.0 2014-09-5

- Add option --abort to stop on first failure
- Add option --pass to also report success
- Add test for option -p, --pass
- Change to use TEST() macro
- Change to use lest_FEATURE_REGEX_SEARCH
- Fix missing lest namespace
- Fix test selection

version 1.14.0 2014-09-2

- Make test selection from command line case insensitive.
- Add tags [hide] and [.] to skip tests at default.
- Add command line options to show help and to count and list selected tests.
- Change EXPECT() macros to use "do {...} while( false )" iteration statement as in CATCH [1]
- Remove trailing whitespace

version 1.13.0 2014-08-31

- Add selection of tests from command line to lest_cpp03.hpp.

version 1.12.0 2014-08-31

- Add section on compile time performance.
- Add floating point comparison to lest.hpp and lest_cpp03.hpp.
  Thanks to @philsquared and Richard Harris (http://www.thusspakeak.com/).
- Fix to_tring() ordering for VC6 in lest_cpp03.hpp.

version 1.11.0 2014-08-28

- Backport previous changes from lest to lest_cpp03.hpp.

version 1.10.1 2014-08-28

- Fix missing inline.

version 1.10.0 2014-08-27

- Make lest variants compile with VC12 (Visual C++ 2013 Update 3).

version 1.9.1 2014-08-25

- Make several small corrections and improvements to code and description.

version 1.9.0 2014-08-24

- Add selection of tests from command line to lest.hpp.

version 1.8.0 2014-04-01

- Move examples and tests into their own folders.

version 1.7.5 2014-04-01

- Add missing inline to begin() and end() functions (lest_cpp03.hpp).

version 1.7.4 2014-04-01

- Add missing inline to to_string() functions (lest_decompose.hpp, lest_cpp03.hpp).

version 1.7.3 2014-02-06

- Restore formatting of Readme.md (trailing double spaces).

version 1.7.2 2014-02-06

- Add destructor to message to support GCC 4.6 (Thanks to Peter De Wachter).

version 1.7.1 2013-09-09

- Improve detection of containers.

version 1.7.0 2013-08-29

- Fix Makefile.win to run test_lest.
- Add output for containers to lest_decompose.hpp.
- Add test using nullptr for C++11.

version 1.6.0 2013-07-12

- Avoid copying test objects in run loop (thanks to Jonathan Wakely).
- Reduce []() to [] (thanks to Jonathan Wakely)
- Update Makefiles

version 1.5.1 2013-07-12

- Fix lest_EXPECT_TRHOWS_AS typo (thanks to Jonathan Wakely).
- Add tests for C++03 variant.

version 1.5.0 2013-07-11

- Make tests in C++03 variant self-registering.

version 1.4.0 2013-07-11

- Add variant for C++03. Requires registration of test functions.
- Make several small improvements in existing code.

version 1.3.0 2013-07-10

- Change friend functions to members.

version 1.2.1 2013-07-09

- Fix missing namespace for result.
- Correct example3 test output.

version 1.2.0 2013-07-08

- Expression decomposition variant does single evaluation of expression.

version 1.1.0 2013-07-08

- Add variant with expression decomposition.

version 1.0.0 2013-07-04

- Release as 1.0.0
- Add synopsis to Readme

version 0.6 2013-06-27

- Removed unused name e to avoid C4101 warning (thanks to Pavel Medvedev).

version 0.5 2013-06-27

- Include <string> in test.hpp (thanks to John Bandela).
- Add list of compilers lest works with.

version 0.4 2013-06-26

- Make functions inline.
- Add Travis CI status to Notes & References

version 0.3 2013-06-26

- Correct to refer to ideas found in CATCH.
- Add missing comparisons in test_lest.cpp.
- Add Makefile, Makefile.win.
- Add Travis CI configuration.

version 0.2 2013-06-25

- Expand tests.
- Remove unnecessary includes.
- Make several minor changes.

version 0.1 2013-06-24

Made several changes based on notes by Kevlin.

- Replace REQUIRE and CHECK() with EXPECT().
- Add EXPECT_THROWS() and EXPECT_THROWS_AS().
- Add macro lest_NO_SHORT_ASSERTION_NAMES to inhibit short macro names.
- Add comment type for optional information.
- Add failure, expected and unexpected message types.
- Add stream parameter to report to support self test.
- Add lest self test test_lest.cpp.

version 0.0 2013-06-21

Initial release.
