adv_scenarios.qbk 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. [/
  2. / Copyright (c) 2003 Boost.Test contributors
  3. /
  4. / Distributed under the Boost Software License, Version 1.0. (See accompanying
  5. / file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
  6. /]
  7. [/ ##################################################################### ]
  8. [section:adv_scenarios Advanced Usage Scenarios]
  9. If you are reading this chapter, this means that the wide range of tools and interfaces covered
  10. in the previous sections are not sufficient for the testing scenario
  11. you have in mind. You are here to bend the __UTF__ to your will and ... we are not going to
  12. stop you. Instead we'll try to guide you so that some dark corners do not look scary.
  13. In most cases the __UTF__ is going to be supplied for you either as part of your system libraries
  14. or set of libraries used by your companies. Yet if you are facing the necessity to build your
  15. own static or dynamic library of the __UTF__ or need to customize the build for any reason, section
  16. [link boost_test.adv_scenarios.build_utf Building the __UTF__] covers all the necessary steps.
  17. To streamline the experience of setting up your test module, the __UTF__ provides some default
  18. initialization logic for them. Usually the default test module initialization will work just fine,
  19. but if you want to implement some custom initialization or change how default initialization
  20. behaves you need to first look in [*Test module initialization] section. Here you'll learn
  21. about various options the __UTF__ provides for you to customize this behavior.
  22. The part of the framework which loads, initializes and executed your test module is called the
  23. [*Test Runner]. Each usage variant comes with default test runner. If, instead, you prefer to
  24. implement your own entry point into the test module (for example if you need to implement the
  25. `main` function yourself and not use the one provided by the __UTF__, you need to learn about
  26. __UTF__ interfaces involved in test runners operations. These are covered in the [*Test runners]
  27. section. Let me reiterate that you only need to this section if regular regular options for
  28. customization of initialization logic like
  29. [link boost_test.tests_organization.fixtures fixtures] or [link boost_test.tests_organization.decorators decorators]
  30. are not sufficient for your purposes.
  31. [/ build and link with boost.test]
  32. [include adv_scenarios/building_utf.qbk]
  33. [include adv_scenarios/entry_point_overview.qbk]
  34. [include adv_scenarios/test_module_init_overview.qbk]
  35. [include adv_scenarios/test_module_runner_overview.qbk]
  36. [include adv_scenarios/single_header_customizations.qbk]
  37. [include adv_scenarios/static_lib_customizations.qbk]
  38. [include adv_scenarios/shared_lib_customizations.qbk]
  39. [include adv_scenarios/external_test_runner.qbk]
  40. [include adv_scenarios/obsolete_init_func.qbk]
  41. [/=============================================================================]
  42. [endsect] [/Advanced usage scenarios]
  43. [/ EOF]