Commit Graph

103 Commits

Author SHA1 Message Date
Raffi Enficiaud
fcd24729df New documentation section about runtime configuration
- 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
2019-03-19 01:43:29 +01:00
Raffi Enficiaud
42e9a15317 <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.
2019-02-27 14:55:00 +01:00
Raffi Enficiaud
a84a5564f5 Default visibility for enums and rtti objects facility
Making the RTTI objects globally visible.
Some old versions of clang are apparently not honoring
the enum visibility.
2019-02-08 00:00:01 +01:00
Raffi Enficiaud
45ee7769f5 Making the examples as part of the tests being run 2019-02-02 00:37:59 +01:00
Raffi Enficiaud
f3e4174572 Addressing #13380: join returning reference to temporary
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.
2018-10-29 10:45:59 +01:00
Raffi Enficiaud
dc72e4d3ab Forcing cygwin bjam builds to use a recent C++ standard 2018-06-22 09:10:37 +02:00
Raffi Enficiaud
e44f91cfd9 GCC: restricts the use of variadic-macros on the command line 2018-02-11 14:57:08 +01:00
Raffi Enficiaud
847212ae0c Improving global initialization and fixtures
- 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
2017-06-22 09:20:58 +02:00
Raffi Enficiaud
f651c615d9 CMake: making the documentation target more explicit 2017-03-09 11:00:42 +01:00
Raffi Enficiaud
3904480885 Minor documentation changes 2016-11-03 00:07:17 +01:00
Raffi Enficiaud
5d19adbe8f Adding smoke tests for the loggers issue 2016-10-31 17:03:50 +01:00
Raffi Enficiaud
875dda8de7 JUnit logger: implementation
- 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
2016-08-18 00:17:31 +02:00
Raffi Enficiaud
96740875ec Cmake: including the expected output files in the projects sources 2016-02-29 08:45:55 +01:00
Raffi Enficiaud
a263b87a92 CMakeLists.txt - small improvement 2016-01-09 21:21:53 +01:00
Raffi Enficiaud
58b026694e Updating CMake 2015-12-05 22:43:54 +01:00
Raffi Enficiaud
1407440fd6 Adding unit-test support for MSVC-11 (2012) and tests requirements
- Adding constraints on test files (compiler capabilities)
- Fixing boost.config issues with MSVC 11
2015-11-03 01:54:40 +01:00
Gennadiy Rozental
d63379a9b3 New CLA
- vector types is not required
- test for param_trie construction
- Cleanups and files moves
- adding unit test for CLA argv_traverser and parameter specification
2015-10-20 15:00:23 +02:00
Raffi Enficiaud
57f2aa8f0f CMake: adding unit tests 2015-10-19 14:18:50 +02:00
Raffi Enficiaud
71ff858770 CMakeLists.txt: adding unit test and disabling auto link 2015-10-19 14:17:59 +02:00
Raffi Enficiaud
547de00843 Adding a CMakeLists.txt file, to avoid loosing too much time in switching environments for debugging
Adding the tests into CMake from the doc/example path
2015-10-19 14:17:59 +02:00
Raffi Enficiaud
dbd334881d Disabling variadic macro extensions from the standard from the Jamfiles 2015-10-15 22:21:20 +02:00
Gennadiy Rozental
d15f4c4f52 interaction based testing is killed (for now) 2015-05-24 18:40:56 -04:00
Vladimir Prus
02ec08f33b Don't require asynch-exceptions=on
Gennadiy has indicated the current behaviour is not quite what is
desired, and it creates targets clashes when building entire Boost.
See http://lists.boost.org/Archives/boost/2015/03/220552.php
2015-03-16 13:24:59 +03:00
Jürgen Hunold
5caa2bd231 Cherry picking link issue resolution for testing with boost.thread 2015-01-11 14:53:45 +01:00
Raffi Enficiaud
1eaffb96ce Fixing some dependencies on boost.timer 2014-12-09 14:55:28 +01:00
Raffi Enficiaud
3573794d0b silencing warnings on clang: these ones are super annoying
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.
2014-04-29 10:14:23 +02:00
Gennadiy Rozental
53e392f667 Updated copyright message 2014-03-03 01:16:29 -05:00
John Maddock
8b12e766df Disable C++11 as a build requirement: tests all pass without it, and it's presence prevents testing in C++03 mode, or with GCC prior to 4.5.
[SVN r83488]
2013-03-18 11:58:14 +00:00
Gennadiy Rozental
0b4af99471 do not report warnings as errors for now.
[SVN r82731]
2013-02-04 17:30:54 +00:00
Gennadiy Rozental
3ee193f9f5 Try to turn on C++11 features for gcc
[SVN r82720]
2013-02-04 08:36:47 +00:00
Gennadiy Rozental
f19e9d24e6 eliminate use requirement <toolset>gcc:<cxxflags>-std=c++0x
[SVN r75482]
2011-11-14 08:44:53 +00:00
Gennadiy Rozental
d4bf5735e5 only require c++11 features from users
[SVN r75374]
2011-11-07 10:00:23 +00:00
Gennadiy Rozental
d7d3a17af6 require c++11 features from gcc
[SVN r75372]
2011-11-07 09:06:10 +00:00
Gennadiy Rozental
0fc9133743 renamed unit_test_suite.ipp into test_tree.ipp
moved unit_test_parameters.hpp from detail into main directory


[SVN r74790]
2011-10-08 04:53:13 +00:00
Gennadiy Rozental
05d508801f reinstated for now
[SVN r74677]
2011-10-03 20:40:48 +00:00
Gennadiy Rozental
a5dbedae8c rename
[SVN r74672]
2011-10-03 20:20:27 +00:00
Gennadiy Rozental
1f4aa37f26 added decorator
removed test exec monitor

[SVN r74642]
2011-10-02 09:55:57 +00:00
Steven Watanabe
704e7cb516 Revert [67111] (addition of boost/detail/iomanip.hpp) and all the commits that depend on it. ([68137], [68140], [68141], [68154], and [68165]).
[SVN r68168]
2011-01-15 08:11:51 +00:00
Bryce Adelstein-Lelbach
d9dbf412f9 Reverting some accident changes to a few jamfiles from my last commit.
[SVN r68141]
2011-01-14 02:51:17 +00:00
Bryce Adelstein-Lelbach
1753857f1b Replacing the use of <iomanip> with <boost/detail/iomanip.hpp> across Boost.
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]
2011-01-14 02:35:58 +00:00
Gennadiy Rozental
8f3c8252ae some warnings disabled
[SVN r50468]
2009-01-04 19:48:53 +00:00
Gennadiy Rozental
0ec695f7df removed 7.1 project files
[SVN r47771]
2008-07-25 01:58:21 +00:00
Gennadiy Rozental
5bc52ea4a1 debug was missing in PEM
[SVN r40635]
2007-11-01 02:54:15 +00:00
Vladimir Prus
f5a68c843e Make sure every library can be installed by using
bjam stage|install

in libs/<library>/build.


[SVN r40475]
2007-10-26 09:04:25 +00:00
Gennadiy Rozental
8bb49d96d3 minor cleanup
final major piece of this update: debug services (almost complete: without stack dump)

[SVN r40451]
2007-10-25 05:38:19 +00:00
Gennadiy Rozental
7852c1ece5 update to tests and example
[SVN r40338]
2007-10-23 05:25:42 +00:00
Gennadiy Rozental
ce0c6dd9e3 included alias added
[SVN r40166]
2007-10-18 21:53:14 +00:00
Vladimir Prus
71d464e9fe Remove V1 Jamfiles
[SVN r38516]
2007-08-08 19:02:26 +00:00
Vladimir Prus
a10f5de746 Allow building of shared versions of some Boost.Test libraries.
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]
2006-11-10 19:09:56 +00:00
Vladimir Prus
f8bc92a044 Make borland-specific requirements top-level. Otherwise, when building
with borland build properties for libs were differents and since all of
them use execution_monitor, we got "duplicate target" error.


[SVN r33717]
2006-04-17 09:39:56 +00:00