Forward declarations for templates should also have the visibility right
Local static variables cannot have their visibility set and need to get out of the function scope.
- 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
Using arbitrary parameter pack of a template
class/struct to infer the list of types, instead
of restricting to `std::tuples`.
Filtering the mpl::sequences from this logic because
the parameter pack is filled with `mpl::na` on non-entries.
Failed and errored are exclusive in the JUnit sense.
Counting the number of total tests slightly differently.
Changing slightly the signature of unit_test_log_formatter::log_build_info to avoid a sticky
state when the function was called only once (happens for instance in JUNIT).
* topic/GH-202-boost-timer-deprecation:
Change log
Documentation updates
Adding the support for skipped test units/suites in the reporter and formatters
<boost/timer.hpp> removal and time-out for suites and major refactoring
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.
The BOOST_DATA_TEST_CASE creates an implicit test suite. that consumes
all the decorators that have been declared prior to the BOOST_DATA_TEST_CASE
macro. In order to properly propagate the decorators to the underlying
test-case generator (the data test case), a new "stacked" decorator collector
has been implemented. The new decorator decorator::stack_decorator
allows the user to push the currently stacked decorator to a higher level of the
hierarchy.
The singleton reference variables and a few other globals may not be actually
used in the user's code, which makes gcc emit warnings. This commit marks these
variables as potentially unused, which silences the warnings.
Apparently, some versions of legacy MinGW headers don't provide
the standard vsnprintf function, as Appveyor CI fails for this target.
Thus we use the non-standard MSVC-specific _vsnprintf instead.
To ease the creation of contexts, variadic let us declare several
values in one call (no extra brace) while ticky context let us
add new information while they arrive.
The example shows a random trial making a test fail. We force the failure
for the unit tests, which does not remove the documentation value of the
example.
It is now possible to compare a type that is tolerance based together
with a type that is not necessarily tolerance based but still
arithmetic.
Doc update and tests.
* topic/PR-172-unused-variable-warning:
Change log
Using boost/core facility to silence unused variables
Check for non-used variables when NDEBUG is defined
vsnprintf should be declared in stdio.h, not cstdio. This commit adds the
missing include and reorganises the workarounds for different platforms that
previously included the header.
The change ensures that the framework unregisters all the global fixtures and
configuration when it is shut down. This prevents the global fixtures/configuration
to deregister themselves at destruction time, which requires the framework to be
still existing, and for which the order of destruction cannot be ensured during
the unwinding of static/global objects.
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.