These 13 commits are when the Protocol Buffers files have changed:
Commit: | d258a8b | |
---|---|---|
Author: | Franklin "Snaipe" Mathieu | |
Committer: | Franklin "Snaipe" Mathieu |
asserts: Implemented new composable assertion API. This proposal implements assertions as composable sub-functions for the `cr_assert` and `cr_expect` macros. For instance, instead of having `cr_assert_eq(1, 2)`, the user can either use `cr_assert(eq(1, 2))` or `cr_assert(eq(i32, 1, 2))`. This has the advantage of simplifying the implementation of the assert macro, but also brings to the table an improved correctness by letting the user enforce the type of operands with a type tag, and the possibility to pretty-print and natively compare user types without c11 or compiler-specific constructs like _Generic or __builtin_types_compatible_p. This also lets us handle properly special comparison cases like ulp-based equality for IEEE floats. Fixes #165, #182.
The documentation is generated from this commit.
Commit: | b61b022 | |
---|---|---|
Author: | Franklin "Snaipe" Mathieu | |
Committer: | Franklin "Snaipe" Mathieu |
stats: Stop reporting passing assertions. Before this fix, assertions were always reported to the runner by the test, even when passing, for accuracy w.r.t statistics. This wasn't really a problem as prior to 2.3.x, criterion was using a very simple protocol to pass its data, which could handle passing extra data for correctness. However, since the I/O layer rewrite that introduced a more complex protocol format between the runner and the tests, passing repeatedly extra data for passed assertions incurred a huge slowdown for large number of assertions. In this situation, and because data from passed assertions is rarely used, we provide a mean to trade performance at the cost of correctness: We introduce a `full_stats` mode, which when activated reproduces the old behaviour, and a new behaviour in which tests stop reporting passing assertions, and only send an update to the count of passing assertions (without any detail attached). Users implementing custom reporting mechanisms in which having full access to the data of passing assertions will still be able to access it by using the `--full-stats` CLI switch. This fixes #172.
Commit: | 7aa0b1c | |
---|---|---|
Author: | Snaipe |
runtime: Fixed timestamps not being reported. Fixes #116
Commit: | 7143118 | |
---|---|---|
Author: | ailu | |
Committer: | Snaipe |
api: added cr_skip_test() Added cr_skip_test to skip a test during runtime. Also merged the old disable system with the new one. All skipped tests are printed by normal_log_post_suite(), so there is no need for a logger function for runtime skipepd tests. Fixes #131.
Commit: | 8169b70 | |
---|---|---|
Author: | Snaipe |
Merged verbosity & prefix fields into one severity field in the log message type
Commit: | 714f176 | |
---|---|---|
Author: | Snaipe |
Added test name in birth messages and made the subtest name optional in phase messages
Commit: | c4f5e6b | |
---|---|---|
Author: | Snaipe |
Implemented simple server mode
Commit: | 131a6a6 | |
---|---|---|
Author: | Snaipe |
Revamped the protocol for test nesting and phase grouping
Commit: | 43f7d83 | |
---|---|---|
Author: | Snaipe |
Started to integrate the new message pump into the runner
Commit: | d9fa242 | |
---|---|---|
Author: | Snaipe |
Changed submessage union as oneof
Commit: | 74a72ee | |
---|---|---|
Author: | Snaipe |
Updated protocol to latest
Commit: | 16b6046 | |
---|---|---|
Author: | Snaipe |
Simplified protocol
Commit: | 6efdc13 | |
---|---|---|
Author: | Snaipe |
Added basic criterion protocol definition