Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

This is the documentation for an old version of boost. Click here for the latest Boost documentation.

status/Jamfile

# Boost regression-testing Jamfile
#  (C) Copyright David Abrahams 2002. Permission to copy, use, modify, sell and
#  distribute this software is granted provided this copyright notice appears in
#  all copies. This software is provided "as is" without express or implied
#  warranty, and with no claim as to its suitability for any purpose.

subproject status ;

# bring in the rules for testing
import testing ;

# Make tests run by default.
DEPENDS all : test ;

# Tests from Jamfiles in individual library test subdirectories
# Please keep these in alphabetic order by test-suite name

subinclude libs/any/test ;                 # test-suite any
subinclude libs/algorithm/minmax/test ;    # test-suite algorithm/minmax
subinclude libs/algorithm/string/test ;    # test-suite algorithm/string
subinclude libs/assign/test ;              # test-suite assign
subinclude libs/bind/test ;                # test-suite bind
subinclude libs/conversion/test ;          # test-suite conversion
subinclude libs/concept_check ;            # test-suite concept_check
subinclude libs/date_time/test ;           # test-suite date_time
subinclude libs/dynamic_bitset ;           # test suite dynamic_bitset
subinclude libs/filesystem/test ;          # test-suite filesystem
subinclude libs/format/test ;              # test-suite format
subinclude libs/function/test ;            # test-suite function
subinclude libs/functional/hash/test ;     # test-suite functional/hash
subinclude libs/graph/test ;               # test-suite graph
subinclude libs/io/test ;                  # test-suite io
subinclude libs/iostreams/test ;           # test-suite iostreams
subinclude libs/iterator/test ;            # test-suite iterator
subinclude libs/logic/test ;               # test-suite logic
subinclude libs/math/test ;                # test-suite math
subinclude libs/mpl/test ;                 # test-suite mpl
subinclude libs/multi_array/test ;         # test-suite multi_array
subinclude libs/multi_index/test ;         # test-suite multi_index
subinclude libs/numeric/conversion/test ;  # test-suite numeric/conversion
subinclude libs/numeric/interval/test ;    # test-suite numeric/interval
subinclude libs/numeric/ublas/test ;       # test-suite numeric/uBLAS
subinclude libs/optional/test ;            # test-suite optional
subinclude libs/parameter/test ;           # test-suite parameter
subinclude libs/program_options/test ;     # test-suite program_options
subinclude libs/property_map/test ;        # test-suite property_map
subinclude libs/ptr_container/test ;       # test-suite ptr_container
subinclude libs/python/test ;              # test-suite python
subinclude libs/random/test ;              # test-suite random
subinclude libs/range/test ;               # test-suite range
subinclude libs/regex/test ;               # test-suite regex
subinclude libs/regex/example ;            # test-suite regex-examples
subinclude libs/serialization/test ;       # test-suite serialization
subinclude libs/signals/test ;             # test-suite signals
subinclude libs/smart_ptr/test ;           # test-suite smart_ptr
subinclude libs/spirit/test ;              # test-suite spirit
subinclude libs/static_assert ;            # test-suite static_assert
subinclude libs/thread/test ;              # test-suite thread
subinclude libs/type_traits/test ;         # test-suite type_traits
subinclude libs/utility/enable_if/test ;   # test-suite utility/enable_if
subinclude libs/utility/test ;             # test-suite utility
subinclude libs/variant/test ;             # test-suite variant
subinclude libs/wave/test/build ;          # test-suite wave
 

# Tests specified in this Jamfile
{
    # look in BOOST_ROOT for sources first, just in this Jamfile
    local SEARCH_SOURCE = $(BOOST_ROOT) $(SEARCH_SOURCE) ;
    
    test-suite config
        : [ run libs/config/test/config_test.cpp
                : #args
                : #input-files
                : #requirements
                <threading>multi <no-warn>config_test.cpp
          ]
           [ run libs/config/test/config_info.cpp : : : <test-info>always_show_run_output ]
           [ run libs/config/test/abi/abi_test.cpp libs/config/test/abi/main.cpp ]
           [ run libs/config/test/limits_test.cpp <lib>../libs/test/build/boost_test_exec_monitor ]
           [ run libs/config/test/link/main.cpp <dll>../libs/config/test/link/link_test
                : #args
                : #input-files
                : #requirements
                <runtime-link>dynamic
                <define>BOOST_DYN_LINK=1
                <define>BOOST_CONFIG_NO_LIB=1
                :
                config_link_test
          ]
          [ compile-fail libs/config/test/threads/test_thread_fail1.cpp ]
          [ compile-fail libs/config/test/threads/test_thread_fail2.cpp ]
        ;

    test-suite array
        : [ run libs/array/array1.cpp ]
          [ run libs/array/array2.cpp ]
          [ run libs/array/array3.cpp ]
          [ run libs/array/array4.cpp ]
          [ run libs/array/array5.cpp ]
        ;

    run libs/crc/crc_test.cpp <lib>../libs/test/build/boost_test_exec_monitor ;


    test-suite disjoint_sets
        : [ run libs/disjoint_sets/disjoint_set_test.cpp <lib>../libs/test/build/boost_test_exec_monitor ]
        ;

    run libs/functional/function_test.cpp ;

    test-suite integer
        : [ run libs/integer/cstdint_test.cpp ]
          [ run libs/integer/integer_test.cpp ]
          [ run libs/integer/integer_traits_test.cpp <lib>../libs/test/build/boost_test_exec_monitor ]
        ;

    test-suite lambda
        : [ run libs/lambda/test/algorithm_test.cpp <lib>../libs/test/build/boost_test_exec_monitor ]
          [ run libs/lambda/test/bind_tests_simple.cpp <lib>../libs/test/build/boost_test_exec_monitor ]
          [ run libs/lambda/test/bind_tests_advanced.cpp <lib>../libs/test/build/boost_test_exec_monitor ]
          [ run libs/lambda/test/bind_tests_simple_f_refs.cpp <lib>../libs/test/build/boost_test_exec_monitor ]
          [ run libs/lambda/test/bll_and_function.cpp <lib>../libs/test/build/boost_test_exec_monitor ]
          [ run libs/lambda/test/cast_test.cpp <lib>../libs/test/build/boost_test_exec_monitor : : : : lambda_cast_test ]
          [ run libs/lambda/test/constructor_tests.cpp <lib>../libs/test/build/boost_test_exec_monitor ]
          [ run libs/lambda/test/control_structures.cpp <lib>../libs/test/build/boost_test_exec_monitor ]
          [ run libs/lambda/test/exception_test.cpp <lib>../libs/test/build/boost_test_exec_monitor ]
          [ run libs/lambda/test/extending_rt_traits.cpp <lib>../libs/test/build/boost_test_exec_monitor ]
          [ run libs/lambda/test/is_instance_of_test.cpp <lib>../libs/test/build/boost_test_exec_monitor ]
          [ run libs/lambda/test/member_pointer_test.cpp <lib>../libs/test/build/boost_test_exec_monitor ]
          [ run libs/lambda/test/operator_tests_simple.cpp <lib>../libs/test/build/boost_test_exec_monitor ]
          [ run libs/lambda/test/phoenix_control_structures.cpp <lib>../libs/test/build/boost_test_exec_monitor ]
          [ run libs/lambda/test/switch_construct.cpp <lib>../libs/test/build/boost_test_exec_monitor ]
        ;


    run libs/pool/test/test_pool_alloc.cpp  <lib>../libs/test/build/boost_test_exec_monitor ;

    test-suite preprocessor
        : [ compile libs/preprocessor/test/arithmetic.cpp ]
          [ compile libs/preprocessor/test/array.cpp ]
          [ compile libs/preprocessor/test/comparison.cpp ]
          [ compile libs/preprocessor/test/control.cpp ]
          [ compile libs/preprocessor/test/debug.cpp ]
          [ compile libs/preprocessor/test/facilities.cpp ]
          [ compile libs/preprocessor/test/iteration.cpp ]
          [ compile libs/preprocessor/test/list.cpp ]
          [ compile libs/preprocessor/test/logical.cpp ]
          [ compile libs/preprocessor/test/repetition.cpp ]
          [ compile libs/preprocessor/test/selection.cpp ]
          [ compile libs/preprocessor/test/seq.cpp ]
          [ compile libs/preprocessor/test/slot.cpp ]
          [ compile libs/preprocessor/test/tuple.cpp ]
        ;

    test-suite rational
        : [ run libs/rational/rational_example.cpp ]
          [ run libs/rational/rational_test.cpp ]
        ;

    subinclude libs/test/test ;
#     subinclude libs/test/example ;
#     subinclude libs/test/example/cla ;
#     subinclude libs/test/example/cla/validation ;
#     subinclude libs/test/example/env ;
#     subinclude libs/test/example/env/validation ;
    
    compile libs/timer/timer_test.cpp ;

    test-suite tokenizer
        : [ run libs/tokenizer/examples.cpp <lib>../libs/test/build/boost_test_exec_monitor ]
          [ run libs/tokenizer/simple_example_1.cpp ]
          [ run libs/tokenizer/simple_example_2.cpp ]
          [ run libs/tokenizer/simple_example_3.cpp ]
          [ run libs/tokenizer/simple_example_4.cpp ]
          [ run libs/tokenizer/simple_example_5.cpp ]
        ;

    test-suite tuple
        : [ run libs/tuple/test/tuple_test_bench.cpp <lib>../libs/test/build/boost_test_exec_monitor ]
          [ run libs/tuple/test/io_test.cpp <lib>../libs/test/build/boost_test_exec_monitor ]
    ;
}