- adding tests for custom command line argument passing
- using command line argument in global fixtures and raising strong errors
- using command line argument in init function and describing the errors
- using command line argument dataset test cases and describing the errors
- removing sample totally from all the examples
Raising an error in case of reference to temporary by changing the compiler options.
Seems to work better than any other programmatic check.
Removing the need for the sample type definition from datasets.
- new macros:
BOOST_TEST_GLOBAL_FIXTURE: for global "real" fixtures
BOOST_TEST_GLOBAL_CONFIGURATION: for global configuration of observers.
- deprecating BOOST_GLOBAL_FIXTURE. BOOST_GLOBAL_FIXTURE and BOOST_TEST_GLOBAL_CONFIGURATION are currently
fully equivalent, the former being confusing in term of scope/role is deprecated
- SFINAE detection for a setup/teardown function within the fixture class
- Attaching global fixture to the main or master test unit being executed, exactly as other fixtures. Global fixtures
via BOOST_TEST_GLOBAL_FIXTURE registers themselves in a particular field of the framework and are attached each time
the framework executes the tests, such that we can run the framework on another test root and still benefit from the
global fixtures. The global fixtures are appended to already existing fixtures (in case the master test suite is not
the root of the current execution tree).
- Checking that the framework setup is not failing for running the test
- RAII class for restoring the global fixtures
- Tests on the setup/teardown detection
- Tests on global fixtures and baseline
- Fixing several logging issues
Some additional refactoring
- renaming m_curr_test_case to m_curr_test_unit
- function for providing the current test unit (and not only the current test case)
- for output_stream comparison: stops properly if the reference stream is shorter than the current one,
initialises the read char correctly to 0 and prints a proper ~ at the mismatch location
- Make JUnit logger discard the log levels to log all events
- Currently JUnit discards the file directory where the assertion is being logged
- Uses tree visitation at the end of the test suite in order to generate the log file