-
The runner,
Run, has been moved from the CLI namespace (TestBench::CLI::Run) to the toplevel TestBench namespace (TestBench::Run) -
The output subsystem has been reworked. The environment variable
TEST_BENCH_VERBOSEhas been removed and its functionality replaced withTEST_BENCH_OUTPUT_LEVEL, which can be set to one of the following:none,summary,failure,pass, ordebug. Thedebuglevel behaves the way thatTEST_BENCH_VERBOSEused to. -
The CLI executable,
bench, has been added back to the project. TestBench projects are recommended to useTestBench::Run.()intest/automated.rb, notTestBench::CLI.(). Users should access the CLI via thebenchexecutable exclusively now.
-
Test files and subdirectories found within directories are sorted by the CLI before being loaded.
-
The CLI accepts all of the settings as keyword arguments. Settings supplied to the CLI in this manner will be displayed as the default values by the CLI help text. This allows the CLI settings to be customized on a per-project basis, similar to a per-project configuration file.
-
The CLI::Run class accepts the
exclude_file_patternsetting as a keyword argument. -
The output methods
enter_assert_blockandexit_assert_blockare now supplied the caller location of the corresponding assertion. -
A bug was fixed in the output implementation that would fail to print outer assertion failures from a block-form assert when the abort on error setting is active.
The changes from TestBench 1 are too numerous to enumerate. See Changes From TestBench 1 To TestBench 2 for an overview of the most significant changes.