As boost/timer.hpp is being deprecated, and the needed functionality
is very little, reimplemeted naively a timing class for the purpose
of measuring the test-unit time.
- specific timer class that is cross-platform and agnostic to changes made
to the OS while measuring time (mac, posix and windows). Wall-clock and system/user
time available
- changed framework to work fully with microseconds. Only ::alarm needs seconds
and ceiling is used for signaling time-out
- Windows now signals also time-outs the same way as for other platforms (exception
raised in the test and reported). However, Windows platform do not raise a signal
that terminates the current test
- timeout is not used for failing a test-suite as well. Remaining time calculation is
now made in microseconds. Adding an observer interface for signaling time out and
adding the time outs in the test results
- cleaned up interfaces, clarify the code about the dimension of the different scalar values.
- 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
- vector types is not required
- test for param_trie construction
- Cleanups and files moves
- adding unit test for CLA argv_traverser and parameter specification
by default on tests, the C++11 extensions on gcc toolchain are on. I remove this and make it explicitly available for the test_datasets_cxx11 test only.
On Linux, GNU's libstdc++, which is the default stdlib for icc and clang,
cannot parse the <iomanip> header in version 4.5+ (which thankfully neither
compiler advises the use of yet), as it's original C++98-friendly
implementation has been replaced with a gnu++0x implementation.
<boost/detail/iomanip.hpp> is a portable implementation of <iomanip>, providing
boost::detail::setfill, boost::detail::setbase, boost::detail::setw,
boost::detail::setprecision, boost::detail::setiosflags and
boost::detail::resetiosflags.
[SVN r68140]
Adjust tests to use always use static linking to Boost.Test, since
linking to the shared version requires test changes.
Patch from Juergen Hunold.
[SVN r35989]