diff options
Diffstat (limited to 'libs/greatest/CHANGELOG.md')
| -rw-r--r-- | libs/greatest/CHANGELOG.md | 544 |
1 files changed, 0 insertions, 544 deletions
diff --git a/libs/greatest/CHANGELOG.md b/libs/greatest/CHANGELOG.md deleted file mode 100644 index 47f37ec..0000000 --- a/libs/greatest/CHANGELOG.md +++ /dev/null @@ -1,544 +0,0 @@ -# greatest Changes By Release - -## v1.5.0 - 2021-02-15 - -### API Changes - -Changed default: `GREATEST_USE_LONGJMP` now defaults to 0. This eliminates -a warning about variables that can possibly become stale/corrupt in the -presence of `longjmp`. Since `GREATEST_FAIL_WITH_LONGJMP` isn't frequently -used, it should probably be opt-in. - -Added `greatest_set_exact_name_match()` / `-e` flag, which changes the -name-based filtering from substring to exact match. Note that filtering -on an exact suite name will not skip tests run outside of any suite. - -Added `GREATEST_ASSERT_NEQ` and `GREATEST_ASSERT_NEQm`. (Thanks @tekknolagi.) - -Added `GREATEST_ASSERT_GT`, `GREATEST_ASSERT_GTE`, `GREATEST_ASSERT_LT`, -and `GREATEST_ASSERT_LTE`, along with their custom message (`m`) -variants. - - -### Bug Fixes - -Makefile: Fix targets so all files are rebuilt when `greatest.h` or the -`Makefile` are modified, but without potentially breaking the build due -to including `greatest.h` as a linker argument to `example_trunc` (which -could happen with clang). (Thanks @vemakereporter, @theosotr.) - -Calls to `GREATEST_RUN_TEST` from inside another test are now ignored. - -Other flags starting with `--` besides `--help` (print help) and `--` -(ignore rest of ARGV) now produce an "Unknown argument" message; -previously they were unintentionally handled like `--`. - - -### Other Improvements - -Added built `example_cpp` executable to `.gitignore`. - -Expanded on the role of `RUN_TEST`, `RUN_TEST1`, `RUN_TESTp`, -`PASS`, `SKIP`, and `FAIL` in the README. - -Addressed a `-Wimplicit-fallthrough` warning when building with clang -using `-Weverything`. - - -## v1.4.2 - 2019-03-24 - -### API Changes - -None. - - -### Other Improvements - -Fixed configuration parameters for the PRNG (used for shuffling). -Previously, certain rare combinations of test counts and input states -could prevent the linear congruential RNG from having its full period -before repeating values, which could cause tests to be run multiple -times or skipped during shuffling. - -Fixed an assertion in the example code where the expected annd actual -parameters were swapped. (Reported by @shaohuasong.) - -Updated a comment to reflect that `GREATEST_ASSERT_STR_EQm` compares -using `strncmp`, not `strcmp`. (Reported by @orangewait.) - -Minor formatting improvements in the README. - - -## v1.4.1 - 2018-12-30 - -### API Changes - -None. - - -### Other Improvements - -Fixed a warning when compiled with `-Wconversion`. (Thanks @HawkSK.) - -Replaced a remaining direct use of `fprintf` with `GREATEST_FPRINTF`. -(Thanks @ligurio.) - -Fixed typo in example code. (Thanks @ligurio.) - -Bugfix: Previously, a test failure in first-fail mode didn't prevent -later suites from running. - -Added a comment noting that the duplicated declaration inside the -`GREATEST_SUITE` macro is intentional. - -Renamed `exp` local variable to `expd`, to prevent a possible -warning about shadowing `exp(3)`. - -Updated the command line argument documentation in the README and -the usage message. - -Added a description of output behaviors for each test case -result type, and clarified that the custom message variants -(e.g. `SKIPm("TODO")`) can be used to set custom messages, but -do not affect whether or not the message is printed. - - -## v1.4.0 - 2018-03-05 - -### API Changes - -Added `greatest_abort_on_fail`, which sets a flag to call `abort()` on -the first test failure (`-a` in the CLI test runner). If tests are -running inside a debugger, this will break right on the failure. -Feature suggestion and initial implementation by @fsaintjacques. - -Added `greatest_list_only()`, which sets the same flag as the `-l` -option in the CLI test runner. - -Added `greatest_set_test_suffix(const char *suffix)`, which can -be used to add a suffix to the name printed for the next test. -This can be used to distinguish between tests when running -parametric tests (particularly when shuffled). Note that this -suffix is included in the matching for `-t` and `-x`. - -The `greatest_info` struct now allocates a `char` buffer for the test -name and optional '_' separator & suffix. The buffer size can be -configured by `#define`ing `GREATEST_TESTNAME_BUF_SIZE`. (See -`example_trunc.c`.) If the test name plus optional suffix does not fit -in the buffer, it will be truncated and `\0` terminated. - -Made a couple functions `static` that were previously exposed, but -explictly listed as being internal (`greatest_do_pass`, -`greatest_do_fail`, `greatest_do_skip`, `greatest_suite_pre`, -`greatest_suite_post`, `greatest_usage`). - - -### Other Improvements - -Fixed link to ISC license in README.md. (Thanks @vaibhavsagar.) - -Fixed issue link and whitespace in README.md and CONTRIBUTING.md. -(Thanks @bebehei.) - -Change a couple macros into functions: `GREATEST_INIT` and -`GREATEST_PRINT_REPORT`. Most of the macros have variable capture, -return from their call site, etc., but these two don't need to be -macros. - - -## v1.3.1 - 2017-09-22 - -### API Changes - -None. - - -### Other Improvements - -Bugfix: `GREATEST_SHUFFLE_TESTS` and `GREATEST_SHUFFLE_SUITES` -did not check for the `stop_at_first_fail` flag, and could get -stuck in an infinite loop. Now their loops stop as expected. - -Renamed `example_random.c` to `example_shuffle.c`, since its -focus is really on random shuffling of suites and tests. - - -## v1.3.0 - 2017-08-13 - -### API Changes - -Added `GREATEST_SHUFFLE_SUITES(SEED, BODY)` macro (and `SHUFFLE_SUITES` -abbreviation). This runs any suites within BODY in pseudorandom order, -seeded by SEED. - -Added `GREATEST_SHUFFLE_TESTS(SEED, BODY)` macro (and `SHUFFLE_TESTS` -abbreviation). This runs any tests within BODY in pseudorandom order, -seeded by SEED. - -If `GREATEST_NO_EXTERN_CPLUSPLUS` is `#define`d, then the C++ -`extern "C" { ... }` namespacing around greatest is disabled. - -All calls to `fprintf` have been wrapped in a macro, `GREATEST_FPRINTF`, -which can be `#define`d to substitute another function with the same -interface. Feature suggestion and initial implementation by -@AndreasMartin72. - -Added `greatest_stop_at_first_fail()`, to set the flag to stop the test -runner at the first failure (`-f` in the CLI test runner). - -Added `void greatest_test_exclude(const char *filter)`, which takes a -filter string and ignores all tests whose names contain the filter -string. This takes precedence over `greatest_test_filter` matches. - -Added a CLI test runner option, `-x`, which calls -`greatest_test_exclude` with its argument. - - -### Other Improvements - -Bugfix: `GREATEST_SAVE_CONTEXT()` was only used in `GREATEST_RUN_TEST`, -not `GREATEST_RUN_TEST1` or `GREATEST_RUN_TESTp`, which could cause -corruption when tests using them called `ASSERT_OR_LONGJMPm` or -`FAIL_WITH_LONGJMPm`. Reported and fixed by @tcarmelveilleux. - -Add `contrib/entapment` script, which converts a greatest test runner's -verbose-style output to TAP version 13 format. - -Add `contrib/testify` script, which converts calls to `RUN_TEST(test);` -to test functions with `SKIPm("TODO");`. - -Disabled `-Weverything` in Makefile: it isn't portable. - -Various improvements to the documentation. - -If list (`-l`) and test name filtering are both used, only tests that -would have run are printed. This can be used to test filter strings. - - -## v1.2.2 - 2017-04-26 - -### API Changes - -None. - - -### Other Improvements - -Explicitly mention ISC License in README. - -Always `fflush(GREATEST_STDOUT)` after tests, rather than checking -whether `GREATEST_STDOUT` expands to `stdout` (the default) first. This -avoids a tautological comparison warning. Reported by @jibsen and -@nemequ. - -Address warnings that can appear under `-Weverything`: padding in -`struct greatest_run_info`, a pointer cast that unintentionally removed -`const`, and a non-literal `printf` format string (caused by a literal -format string constructed and saved to a variable in a macro). Reported -by @kozross. - - -## v1.2.1 - 2016-06-25 - -### API Changes - -None. - - -### Other Improvements - -Accept "--help" as an alternate form of "-h" in command line test -runners. (Thanks @jibsen). - -Avoid redundant evaluation of arguments in `ASSERT_ENUM_EQ`. - -Clarify type of `ENUM_STR` argument in `ASSERT_ENUM_EQ`. Use a function -pointer typedef so the compiler can give better type errors. - -Warn about redundant evaluation of arguments in `ASSERT_EQ_FMT`. - -Prefix the variables used in the expansion of the `ASSERT_EQ_FMT`, -`ASSERT_ENUM_EQ`, and `ASSERT_IN_RANGE` macros, to avoid name clashes -that can cause confusing compiler errors. - - -## v1.2.0 - 2016-06-06 - -### API Changes - -Added `GREATEST_IGNORE_TEST`, which skips a test without warning about -the function being unused. - -Added `GREATEST_ASSERT_STRN_EQ`, which does a string comparison with an -explicit length (using `strncmp`, rather than `strcmp`). - -Added `GREATEST_ASSERT_MEM_EQ`, which does a memory comparison with an -explicit length (using `memcmp`). If the memory differs, it will print a -hexdump which highlights the lines and individual bytes which differ. -(The `greenest` script was also updated to colorize the hexdump's -difference markers.) - -Added `GREATEST_ASSERT_ENUM_EQ`, which compares two values and uses an -enum-specific function to convert them to strings before printing -failures. - -The `greenest` script has been moved into `contrib/`. - - -### Other Improvements - -Fixed a bug that kept the `-f` (stop after first failure) flag from -stopping the test runner immediately when a failure occured just -before running a new suite. - -Added `extern "C" { ... }` guards for improved C++ compatibility. - -Fixed a warning when compiling as C++. - -Several updates to the README. - -A file with contribution guidelines (`CONTRIBUTING.md`) was added. - - -## v1.1.1 - 2016-02-14 - -### API Changes - -Align "Expected:"/"Got:" messages, so it's easier to compare values. - - -### Other Improvements - -Fixed a bug that could lead to test suites running previous suites' -setup/teardown callbacks. This was a bug in the optional suite support, -so only v1.1.0 is affected. - -Updated the README to note that the `greenest` awk script expects -a Unix-like environment (i.e., it doesn't work on Windows). - - -## v1.1.0 - 2015-11-29 - -### API Changes - -Made suites optional, so that `RUN_TEST` works outside of any suites. -This reduces boilerplate in cases where there would only be one "main" -suite anyway. - -Added `greatest_get_report()`, to populate a struct with the pass, fail, -skip, and assertion counts, for cases where getting the counts directly -is preferable to printing them with `GREATEST_PRINT_REPORT()` or -`GREATEST_MAIN_END()` (i.e., without a CLI test runner). - -Added `greatest_set_test_filter(substring)` and -`greatest_set_suite_filter(substring)`, so only tests or suites matching a -filter substring can be run without using the CLI test runner. - -Added `greatest_set_flag()`, so the FIRST_FAIL flag can be set without -using the CLI test runner. - -Added `SUITE_EXTERN` macro, for declaring suites in other compilation units. -They could previously be declared using the `SUITE` macro, but this made a -redundant declaration that could cause warnings. - -Added multiple levels of verbosity. Can be checked and set with -`greatest_get_verbosity()`, and `greatest_set_verbosity()` respectively. -(`GREATEST_IS_VERBOSE()` remains in the API.) - -Stop parsing CLI options if `--` is reached, so user code can include -its own afterward. - - -### Other Improvements - -Added the "Key Features" section to the README, and updated the -tagline to reflect that greatest isn't specific to unit testing. - -Added this changelog. - -Added LICENSE file (ISC License), to match common project layouts. -greatest already had its license in the `greatest.h` header, but this -makes it easier to find at a glance. - -Added a URL for finding the newest version of greatest to the header. - -Updated the default report message: print "1 test", not "1 tests"; -print "X passed, Y failed," instead of "X pass, Y fail,", etc. - -Updated the CLI test runner's help message to reflect that the -`-s` and `-t` switches match by substring, not the full name. - -Fixed C89 error due to incrementing assertion count before -declaring variables (mixing declarations and code). - -Fixed warnings. - - -### Known Issues - -The `greatest_printf_cb` callback in `struct greatest_type_info` type -should have an extra `FILE *` argument (i.e., behave like fprintf, not -printf). This leads to cases where `GREATEST_STDOUT` has been customized -and `GREATEST_ASSERT_EQUAL_T`'s "Expected:", "Got:" messages are printed -to the correct stream, but the callback still prints the values on -stdout. Resolving this is an interface change, so it will have to wait -until release v2.0.0. (The actual code change will be minor -- adding an -extra f argument to the callback, and passing it to fprinf rather than -using printf.) - -The `greatest_type_info` struct is typedef'd, which is inconsistent with -the API otherwise not typedef-ing user facing structs. (It is also in the -struct namespace.) Fixing this will have to wait until v2.0.0. - - -## v1.0.0 - 2015-05-11 - -### API Changes - -Added `ASSERT_EQ_FMT(expected, actual, format)` to compare scalar values and -print them (if different) using the given format string (e.g. "0x%08x"). - -Added `ASSERT_IN_RANGE(expected, actual, tolerance)` to check whether the -actual value is within a +/- tolerance, as a floating point comparison, -and print the actual value if out of bounds. The floating point type used -can be configured by overriding GREATEST_FLOAT. - -Added `GREATEST_USE_TIME` compile-time #define, which can be set to 0 -to compile out all time.h / clock() related functionality. - -Added check for `_MSC_VER`, to detect C99 compatibility when built with -Visual Studio. - - -## v0.11.1 - 2015-01-17 - -Patch version, increased due to bug fixes (thanks @pmj): - -. Fix for issue #26 - must not longjmp to a context in an exited function. -. Corrected use of non-prefixed FAILm() macro in ASSERT macros. -. Avoid compile warnings about no previous definition of suite functions. - - -## v0.11.0 - 2015-01-02 - -### API Changes - -Added `CHECK_CALL()` macro, to wrap a function call that can fail a test. - -Added `ASSERT_OR_LONGJMP()` / `FAIL_WITH_LONGJMP()`, to longjmp(3) from -failing functions rather than returning. This is optional, and can be -compiled out by `#define`-ing `GREATEST_USE_LONGJMP` to 0. - -Restructured API so a CLI test runner is no longer necessary. -`GREATEST_INIT()` and `GREATEST_PRINT_REPORT()` can be called directly. - - -### Other Improvements - -Explicitly documented the protocol for calling functions from a test that -themselves call ASSERT(), SKIP(), FAIL(), etc. Added an enum for the -test return type. - -Fixed warnings, improved the documentation. - - -## v0.10.1 - 2014-11-16 - -Fixed error when compiled as C++ by adding `extern` to -`greatest_type_info` struct. - - -## v0.10.0 - 2014-10-12 - -### API Changes - -Added `ASSERT_EQUAL_T`, for comparing arbitrary structs and printing -them when they differ. - - -### Other Improvements - -Added `greenest` awk script, to color output. - - -## v0.9.4 - 2014-08-06 - -Started counting the total number of assertions. - -Fixed warnings. - - -## v0.9.3 - 2014-05-30 - -### API Changes - -Changed filters for test (`-t`) and suite (`-s`) names to use substring -search, rather than exact matches. - -Added `GREATEST_FAILURE_ABORT()`, to check whether the test runner is in -first-fail (`-f`) mode and there have been failures. - - -### Other Improvements - -Added check to always print a line break for "FAIL" messages, unless at -column 0. - - -## v0.9.2 - 2013-08-06 - -### API Changes - -Added a C89-compatible form of parametric testing (`GREATEST_RUN_TEST1`). - - -### Other Improvements - -Fixed warnings when compiled as C++. - - -## v0.9.1 - 2013-07-14 - -Added `-f` to usage line in documentation. - -Fixed warnings. - - -## v0.9.0 - 2013-03-02 - -### API Changes - -Added finish-at-first-failure (`-f`) to CLI test runner. - -Added suite-level setup/teardown hooks. - - -### Other Improvements - -Fixed warnings. - - -## v0.8 - 2012-04-08 - -### API Changes - -Added help (`-h`) and list (`-l`) options to CLI test runner. - -Added `GREATEST_RUN_TESTp` for parametric testing in C99. - -Added `GREATEST_IS_VERBOSE()`, to check whether the verbose (`-v`) flag -was set. - -Added `GREATEST_SET_TEARDOWN_CB()`, for setting a teardown callback. - -Added custom message forms of PASS, FAIL, SKIP, e.g. `PASSm()`. - - -### Other Improvements - -Fixed warnings. - - -## Pre-v0.8 - 2012-01-09 - -Initial public release of project. |
