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