summaryrefslogtreecommitdiff
path: root/libs/pool/test/Jamfile.v2
blob: ea73b68bec71b433c108a7cf3368cc9b00ec5074 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
#~ Copyright Rene Rivera 2008
#~ Distributed under the Boost Software License, Version 1.0.
#~ (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)


project
    :   requirements
        <library>/boost/test//boost_test_exec_monitor/<link>static
        <library>/boost/system//boost_system
        <include>../../..
        <define>BOOST_ALL_NO_LIB=1
        <warnings>all
        <toolset>gcc:<cxxflags>-Wextra
        <toolset>gcc:<cxxflags>-Wshadow
        <toolset>gcc:<warnings-as-errors>on
        <toolset>gcc:<cxxflags>-Wno-long-long
        <toolset>pathscale:<cxxflags>-Wno-long-long
        <toolset>gcc:<cxxflags>-Wcast-align
        <toolset>msvc:<warnings-as-errors>on
        <toolset>msvc:<define>_SCL_SECURE_NO_WARNINGS
    ;

import testing ;

run valgrind_config_check.cpp : : : <testing.launcher>"valgrind --error-exitcode=1" ;
explicit valgrind_config_check ;

local use-valgrind = [ check-target-builds valgrind_config_check "valgrind" : <testing.launcher>"valgrind --error-exitcode=1" : <build>no ] ;

test-suite pool :
    [ run test_simple_seg_storage.cpp ]
    [ run test_pool_alloc.cpp ]
    [ run pool_msvc_compiler_bug_test.cpp ]
    [ run test_msvc_mem_leak_detect.cpp ]
    [ run test_bug_3349.cpp ]
    [ run test_bug_4960.cpp ]
    [ run test_bug_1252.cpp ]
    [ run test_bug_2696.cpp ]
    [ run test_bug_5526.cpp ]
    [ run test_threading.cpp : : : <threading>multi <library>/boost/thread//boost_thread <toolset>gcc:<cxxflags>-Wno-attributes <toolset>gcc:<cxxflags>-Wno-missing-field-initializers ]
    [ run  ../example/time_pool_alloc.cpp ]
    [ compile test_poisoned_macros.cpp ]

#
# The following tests test Boost.Pool's code with valgrind only if it's available:
#
    [ run test_simple_seg_storage.cpp  : : : $(use-valgrind) : test_simple_seg_storage_valgrind ]
    [ run test_pool_alloc.cpp  : : : $(use-valgrind) : test_pool_alloc_valgrind ]
    [ run pool_msvc_compiler_bug_test.cpp  : : : $(use-valgrind) : pool_msvc_compiler_bug_test_valgrind ]
    [ run test_msvc_mem_leak_detect.cpp  : : : $(use-valgrind) : test_msvc_mem_leak_detect_valgrind ]
    [ run test_bug_3349.cpp  : : : $(use-valgrind) : test_bug_3349_valgrind ]
    [ run test_bug_4960.cpp  : : : $(use-valgrind) : test_bug_4960_valgrind ]
    [ run test_bug_1252.cpp  : : : $(use-valgrind) : test_bug_1252_valgrind ]
    [ run test_bug_2696.cpp  : : : $(use-valgrind) : test_bug_2696_valgrind ]
    [ run test_bug_5526.cpp  : : : $(use-valgrind) : test_bug_5526_valgrind ]
    [ run test_threading.cpp  : : : <threading>multi <library>/boost/thread//boost_thread <toolset>gcc:<cxxflags>-Wno-attributes <toolset>gcc:<cxxflags>-Wno-missing-field-initializers $(use-valgrind) : test_threading_valgrind ]

#
# The following tests test Boost.Pool's code with valgrind if it's available, and in any case with BOOST_POOL_VALGRIND defined
# which has the effect of disabling any actual memory pooling:
#
    [ run test_simple_seg_storage.cpp  : : : <define>BOOST_POOL_VALGRIND=1 $(use-valgrind) : test_simple_seg_storage_valgrind_2 ]
    [ run test_pool_alloc.cpp  : : : <define>BOOST_POOL_VALGRIND=1 $(use-valgrind) : test_pool_alloc_valgrind_2 ]
    [ run pool_msvc_compiler_bug_test.cpp  : : : <define>BOOST_POOL_VALGRIND=1 $(use-valgrind) : pool_msvc_compiler_bug_test_valgrind_2 ]
    [ run test_msvc_mem_leak_detect.cpp  : : : <define>BOOST_POOL_VALGRIND=1 $(use-valgrind) : test_msvc_mem_leak_detect_valgrind_2 ]
    [ run test_bug_3349.cpp  : : : <define>BOOST_POOL_VALGRIND=1 $(use-valgrind) : test_bug_3349_valgrind_2 ]
    [ run test_bug_4960.cpp  : : : <define>BOOST_POOL_VALGRIND=1 $(use-valgrind) : test_bug_4960_valgrind_2 ]
    [ run test_bug_1252.cpp  : : : <define>BOOST_POOL_VALGRIND=1 $(use-valgrind) : test_bug_1252_valgrind_2 ]
    [ run test_bug_2696.cpp  : : : <define>BOOST_POOL_VALGRIND=1 $(use-valgrind) : test_bug_2696_valgrind_2 ]
    [ run test_bug_5526.cpp  : : : <define>BOOST_POOL_VALGRIND=1 $(use-valgrind) : test_bug_5526_valgrind_2 ]
    [ run test_threading.cpp  : : : <threading>multi <library>/boost/thread//boost_thread <define>BOOST_POOL_VALGRIND=1 <toolset>gcc:<cxxflags>-Wno-attributes <toolset>gcc:<cxxflags>-Wno-missing-field-initializers $(use-valgrind) : test_threading_valgrind_2 ]
    [ run-fail test_valgrind_fail_1.cpp  : : : <define>BOOST_POOL_VALGRIND=1 $(use-valgrind) ]
    [ run-fail test_valgrind_fail_2.cpp  : : : <define>BOOST_POOL_VALGRIND=1 $(use-valgrind) ]
    ;