# Copyright David Abrahams, Daniel Wallin 2006. # Copyright Cromwell D. Enage 2017. # 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) # Boost Parameter Library test Jamfile import testing ; project boost/parameter : default-build off ; import python ; alias parameter_standard_tests : [ run maybe.cpp : : : : : off ] [ run singular.cpp : : : : : off ] [ run tutorial.cpp : : : : : off ] [ run compose.cpp : : : BOOST_PARAMETER_COMPOSE_MAX_ARITY=3 : : off ] [ run sfinae.cpp : : : BOOST_PARAMETER_MAX_ARITY=2 BOOST_PARAMETER_EXPONENTIAL_OVERLOAD_THRESHOLD_ARITY=3 : : off ] [ run efficiency.cpp : : : : : release off ] [ run evaluate_category.cpp : : : BOOST_PARAMETER_MAX_ARITY=4 BOOST_PARAMETER_EXPONENTIAL_OVERLOAD_THRESHOLD_ARITY=5 : : off ] [ run evaluate_category_16.cpp : : : BOOST_PARAMETER_MAX_ARITY=16 BOOST_PARAMETER_EXPONENTIAL_OVERLOAD_THRESHOLD_ARITY=0 : : off ] [ run parameterized_inheritance.cpp : : : BOOST_PARAMETER_COMPOSE_MAX_ARITY=3 : : off ] [ run preprocessor_eval_cat_no_spec.cpp : : : BOOST_PARAMETER_COMPOSE_MAX_ARITY=8 : : off ] [ run optional_deduced_sfinae.cpp : : : BOOST_PARAMETER_MAX_ARITY=2 BOOST_PARAMETER_EXPONENTIAL_OVERLOAD_THRESHOLD_ARITY=2 : : off ] [ run preprocessor_eval_category.cpp : : : BOOST_PARAMETER_MAX_ARITY=4 BOOST_PARAMETER_EXPONENTIAL_OVERLOAD_THRESHOLD_ARITY=5 : : off ] [ run normalized_argument_types.cpp : : : BOOST_PARAMETER_MAX_ARITY=2 BOOST_PARAMETER_EXPONENTIAL_OVERLOAD_THRESHOLD_ARITY=3 : : off ] [ run basics.cpp : : : BOOST_PARAMETER_MAX_ARITY=4 BOOST_PARAMETER_EXPONENTIAL_OVERLOAD_THRESHOLD_ARITY=5 : : off ] [ run mpl.cpp : : : BOOST_PARAMETER_MAX_ARITY=4 BOOST_PARAMETER_EXPONENTIAL_OVERLOAD_THRESHOLD_ARITY=5 : : off ] [ run preprocessor.cpp : : : BOOST_PARAMETER_MAX_ARITY=4 BOOST_PARAMETER_EXPONENTIAL_OVERLOAD_THRESHOLD_ARITY=5 : : off ] [ run preprocessor_deduced.cpp : : : BOOST_PARAMETER_MAX_ARITY=4 BOOST_PARAMETER_EXPONENTIAL_OVERLOAD_THRESHOLD_ARITY=5 : : off ] [ run deduced.cpp : : : BOOST_PARAMETER_MAX_ARITY=4 BOOST_PARAMETER_EXPONENTIAL_OVERLOAD_THRESHOLD_ARITY=5 : : off ] [ run deduced_dependent_predicate.cpp : : : BOOST_PARAMETER_MAX_ARITY=4 BOOST_PARAMETER_EXPONENTIAL_OVERLOAD_THRESHOLD_ARITY=5 : : off ] [ run earwicker.cpp : : : BOOST_PARAMETER_MAX_ARITY=4 BOOST_PARAMETER_EXPONENTIAL_OVERLOAD_THRESHOLD_ARITY=5 : : off ] [ run macros.cpp : : : BOOST_PARAMETER_MAX_ARITY=4 BOOST_PARAMETER_EXPONENTIAL_OVERLOAD_THRESHOLD_ARITY=5 : : off ] [ compile unwrap_cv_reference.cpp ] [ compile ntp.cpp : BOOST_PARAMETER_MAX_ARITY=4 BOOST_PARAMETER_EXPONENTIAL_OVERLOAD_THRESHOLD_ARITY=0 ] [ compile function_type_tpl_param.cpp ] [ compile-fail duplicates.cpp : BOOST_PARAMETER_MAX_ARITY=4 BOOST_PARAMETER_EXPONENTIAL_OVERLOAD_THRESHOLD_ARITY=5 : duplicates_fail ] [ compile-fail deduced_unmatched_arg.cpp : BOOST_PARAMETER_MAX_ARITY=4 BOOST_PARAMETER_EXPONENTIAL_OVERLOAD_THRESHOLD_ARITY=5 : deduced_unmatched_arg_fail ] [ compile-fail basics.cpp : BOOST_PARAMETER_MAX_ARITY=4 BOOST_PARAMETER_EXPONENTIAL_OVERLOAD_THRESHOLD_ARITY=5 LIBS_PARAMETER_TEST_COMPILE_FAILURE : basics_fail ] [ compile-fail compose.cpp : BOOST_PARAMETER_COMPOSE_MAX_ARITY=3 LIBS_PARAMETER_TEST_COMPILE_FAILURE_0 : compose_fail_0 ] [ compile-fail compose.cpp : BOOST_PARAMETER_COMPOSE_MAX_ARITY=3 LIBS_PARAMETER_TEST_COMPILE_FAILURE_1 : compose_fail_1 ] [ compile-fail evaluate_category.cpp : BOOST_PARAMETER_MAX_ARITY=4 BOOST_PARAMETER_EXPONENTIAL_OVERLOAD_THRESHOLD_ARITY=5 LIBS_PARAMETER_TEST_COMPILE_FAILURE : evaluate_category_fail ] [ compile-fail preprocessor_deduced.cpp : BOOST_PARAMETER_MAX_ARITY=4 BOOST_PARAMETER_EXPONENTIAL_OVERLOAD_THRESHOLD_ARITY=5 LIBS_PARAMETER_TEST_COMPILE_FAILURE : preprocessor_deduced_fail ] [ compile-fail deduced.cpp : BOOST_PARAMETER_MAX_ARITY=4 BOOST_PARAMETER_EXPONENTIAL_OVERLOAD_THRESHOLD_ARITY=5 LIBS_PARAMETER_TEST_COMPILE_FAILURE : deduced_fail ] ; alias parameter_literate_tests : [ run literate/building-argumentpacks0.cpp : : : BOOST_PARAMETER_MAX_ARITY=2 BOOST_PARAMETER_EXPONENTIAL_OVERLOAD_THRESHOLD_ARITY=3 : : off ] [ run literate/deduced-parameters0.cpp : : : BOOST_PARAMETER_MAX_ARITY=5 BOOST_PARAMETER_EXPONENTIAL_OVERLOAD_THRESHOLD_ARITY=6 : : off ] [ run literate/deduced-template-parameters0.cpp : : : BOOST_PARAMETER_MAX_ARITY=4 BOOST_PARAMETER_EXPONENTIAL_OVERLOAD_THRESHOLD_ARITY=5 : : off ] [ run literate/default-expression-evaluation0.cpp : : : BOOST_PARAMETER_MAX_ARITY=5 BOOST_PARAMETER_EXPONENTIAL_OVERLOAD_THRESHOLD_ARITY=6 : : off ] [ run literate/extracting-parameter-types0.cpp : : : : : off ] [ run literate/extracting-parameter-types1.cpp : : : : : off ] [ run literate/fine-grained-name-control0.cpp : : : BOOST_PARAMETER_MAX_ARITY=2 BOOST_PARAMETER_EXPONENTIAL_OVERLOAD_THRESHOLD_ARITY=3 : : off ] [ run literate/lazy-default-computation0.cpp : : : : : off ] [ run literate/lazy-default-computation1.cpp : : : : : off ] [ run literate/namespaces0.cpp : : : BOOST_PARAMETER_MAX_ARITY=2 BOOST_PARAMETER_EXPONENTIAL_OVERLOAD_THRESHOLD_ARITY=3 : : off ] [ run literate/namespaces1.cpp : : : BOOST_PARAMETER_MAX_ARITY=2 BOOST_PARAMETER_EXPONENTIAL_OVERLOAD_THRESHOLD_ARITY=3 : : off ] [ run literate/namespaces2.cpp : : : BOOST_PARAMETER_MAX_ARITY=2 BOOST_PARAMETER_EXPONENTIAL_OVERLOAD_THRESHOLD_ARITY=3 : : off ] [ run literate/namespaces3.cpp : : : BOOST_PARAMETER_MAX_ARITY=2 BOOST_PARAMETER_EXPONENTIAL_OVERLOAD_THRESHOLD_ARITY=3 : : off ] [ run literate/parameter-enabled-constructors0.cpp : : : BOOST_PARAMETER_MAX_ARITY=2 BOOST_PARAMETER_EXPONENTIAL_OVERLOAD_THRESHOLD_ARITY=3 : : off ] [ run literate/parameter-enabled-function-call-operators0.cpp : : : BOOST_PARAMETER_MAX_ARITY=2 BOOST_PARAMETER_EXPONENTIAL_OVERLOAD_THRESHOLD_ARITY=3 : : off ] [ run literate/parameter-enabled-member-functions0.cpp : : : BOOST_PARAMETER_MAX_ARITY=2 BOOST_PARAMETER_EXPONENTIAL_OVERLOAD_THRESHOLD_ARITY=3 : : off ] [ run literate/predicate-requirements0.cpp : : : BOOST_PARAMETER_MAX_ARITY=5 BOOST_PARAMETER_EXPONENTIAL_OVERLOAD_THRESHOLD_ARITY=6 : : off ] [ run literate/static-member-functions0.cpp : : : BOOST_PARAMETER_MAX_ARITY=2 BOOST_PARAMETER_EXPONENTIAL_OVERLOAD_THRESHOLD_ARITY=3 : : off ] [ run literate/top-level0.cpp : : : BOOST_PARAMETER_MAX_ARITY=3 BOOST_PARAMETER_EXPONENTIAL_OVERLOAD_THRESHOLD_ARITY=4 : : off ] [ compile literate/class-template-skeleton0.cpp : BOOST_PARAMETER_MAX_ARITY=4 BOOST_PARAMETER_EXPONENTIAL_OVERLOAD_THRESHOLD_ARITY=5 ] [ compile literate/defining-the-keywords0.cpp ] [ compile literate/defining-the-keywords1.cpp ] [ compile literate/exercising-the-code-so-far0.cpp : BOOST_PARAMETER_MAX_ARITY=4 BOOST_PARAMETER_EXPONENTIAL_OVERLOAD_THRESHOLD_ARITY=5 ] [ compile literate/handling-out-parameters0.cpp : BOOST_PARAMETER_MAX_ARITY=5 BOOST_PARAMETER_EXPONENTIAL_OVERLOAD_THRESHOLD_ARITY=6 ] [ compile literate/headers-and-namespaces0.cpp ] [ compile literate/optional-parameters0.cpp : BOOST_PARAMETER_MAX_ARITY=5 BOOST_PARAMETER_EXPONENTIAL_OVERLOAD_THRESHOLD_ARITY=6 ] [ compile literate/parameter-enabled-member-functions1.cpp : BOOST_PARAMETER_MAX_ARITY=2 BOOST_PARAMETER_EXPONENTIAL_OVERLOAD_THRESHOLD_ARITY=3 ] [ compile literate/required-parameters0.cpp : BOOST_PARAMETER_MAX_ARITY=2 BOOST_PARAMETER_EXPONENTIAL_OVERLOAD_THRESHOLD_ARITY=3 ] [ compile literate/template-keywords0.cpp ] [ compile literate/template-keywords1.cpp ] [ compile literate/writing-the-function0.cpp : BOOST_PARAMETER_MAX_ARITY=5 BOOST_PARAMETER_EXPONENTIAL_OVERLOAD_THRESHOLD_ARITY=6 ] ; alias parameter_python_test : : # Python fails for clang on linux with cxxstd set to 14 linux clang 14 ; alias parameter_python_test : : # Python fails for clang on linux with cxxstd set to 1z linux clang 1z ; alias parameter_python_test : : # Python fails for xcode 8.3.0 on osx # so we turn off this test for this compiler completely for now darwin # TODO: Differentiate by xcode version or by clang version ; alias parameter_python_test : : # Python fails for mingw compilers with cxxstd set to 11 or higher # because of a Python header problem # so we turn off this test for this compiler completely windows gcc 32 ; alias parameter_python_test : : # Python fails for clang-linux compilers with cxxstd set to 11 or higher # because of a Python header problem # so we turn off this test for this compiler completely windows clang-linux 32 ; alias parameter_python_test : : # Python fails for windows compilers with 64-bit addressing set # because of a Python header problem windows 64 ; alias parameter_python_test : [ bpl-test python_test ] ; alias parameter_macros_eval_category : : linux gcc 4.8 ; alias parameter_macros_eval_category : : # This test fails for xcode 7.3.0 on osx # so we turn off this test for this compiler for now darwin 03 # TODO: Differentiate by xcode version or by clang version ; alias parameter_macros_eval_category : : windows gcc ; alias parameter_macros_eval_category : [ run macros_eval_category.cpp : : : BOOST_PARAMETER_COMPOSE_MAX_ARITY=10 BOOST_PARAMETER_MAX_ARITY=10 BOOST_PARAMETER_EXPONENTIAL_OVERLOAD_THRESHOLD_ARITY=0 : macros_eval_category_cxx98 : off ] : 98 ; alias parameter_macros_eval_category : [ run macros_eval_category.cpp : : : BOOST_PARAMETER_COMPOSE_MAX_ARITY=10 BOOST_PARAMETER_MAX_ARITY=10 BOOST_PARAMETER_EXPONENTIAL_OVERLOAD_THRESHOLD_ARITY=0 : macros_eval_category_cxx03 : off ] : 03 ; alias parameter_macros_eval_category : [ run macros_eval_category.cpp : : : BOOST_PARAMETER_COMPOSE_MAX_ARITY=10 BOOST_PARAMETER_MAX_ARITY=10 BOOST_PARAMETER_EXPONENTIAL_OVERLOAD_THRESHOLD_ARITY=11 : : off ] ; alias parameter_evaluate_category_10 : [ run evaluate_category_10.cpp : : : BOOST_PARAMETER_EXPONENTIAL_OVERLOAD_THRESHOLD_ARITY=0 : evaluate_category_10_gcc_4_8_linux : off ] : linux gcc 4.8 ; alias parameter_evaluate_category_10 : [ run evaluate_category_10.cpp : : : BOOST_PARAMETER_EXPONENTIAL_OVERLOAD_THRESHOLD_ARITY=0 : evaluate_category_10_mingw : off ] : windows gcc ; alias parameter_evaluate_category_10 : [ run evaluate_category_10.cpp : : : : evaluate_category_10_cxx98 : off ] : 98 ; alias parameter_evaluate_category_10 : [ run evaluate_category_10.cpp : : : BOOST_PARAMETER_EXPONENTIAL_OVERLOAD_THRESHOLD_ARITY=0 : evaluate_category_10_cxx03 : off ] : 03 ; alias parameter_evaluate_category_10 : [ run evaluate_category_10.cpp : : : BOOST_PARAMETER_COMPOSE_MAX_ARITY=10 BOOST_PARAMETER_MAX_ARITY=10 BOOST_PARAMETER_EXPONENTIAL_OVERLOAD_THRESHOLD_ARITY=11 : : off ] ; alias parameter_preprocessor_eval_cat_8 : [ run preprocessor_eval_cat_8.cpp : : : BOOST_PARAMETER_COMPOSE_MAX_ARITY=8 BOOST_PARAMETER_EXPONENTIAL_OVERLOAD_THRESHOLD_ARITY=0 : preproc_eval_cat_8_mingw : off ] : windows gcc ; alias parameter_preprocessor_eval_cat_8 : [ run preprocessor_eval_cat_8.cpp : : : BOOST_PARAMETER_COMPOSE_MAX_ARITY=8 BOOST_PARAMETER_MAX_ARITY=8 BOOST_PARAMETER_EXPONENTIAL_OVERLOAD_THRESHOLD_ARITY=9 : : off ] ; alias parameter_preprocessor_eval_cat_fail : : # This test fails for xcode 7.3.0 and xcode 8.3.0 on osx # so we turn off this test for this compiler for now darwin 03 # TODO: Differentiate by xcode version or by clang version ; alias parameter_preprocessor_eval_cat_fail : : windows gcc ; alias parameter_preprocessor_eval_cat_fail : [ compile-fail preprocessor_eval_category.cpp : BOOST_PARAMETER_MAX_ARITY=8 BOOST_PARAMETER_EXPONENTIAL_OVERLOAD_THRESHOLD_ARITY=9 LIBS_PARAMETER_TEST_COMPILE_FAILURE : preproc_eval_cat_fail ] ; alias parameter_vendor_specific_fail_tests ; alias parameter_vendor_specific_fail_tests : [ compile-fail preprocessor_deduced.cpp : BOOST_PARAMETER_MAX_ARITY=4 BOOST_PARAMETER_EXPONENTIAL_OVERLOAD_THRESHOLD_ARITY=5 LIBS_PARAMETER_TEST_COMPILE_FAILURE_VENDOR_SPECIFIC : preproc_deduced_fail_msvc08 ] : msvc 8.0 ; alias parameter_vendor_specific_fail_tests : [ compile-fail preprocessor_deduced.cpp : BOOST_PARAMETER_MAX_ARITY=4 BOOST_PARAMETER_EXPONENTIAL_OVERLOAD_THRESHOLD_ARITY=5 LIBS_PARAMETER_TEST_COMPILE_FAILURE_VENDOR_SPECIFIC : preproc_deduced_fail_msvc09 ] : msvc 9.0 ; alias parameter_vendor_specific_fail_tests : [ compile-fail preprocessor_deduced.cpp : BOOST_PARAMETER_MAX_ARITY=4 BOOST_PARAMETER_EXPONENTIAL_OVERLOAD_THRESHOLD_ARITY=5 LIBS_PARAMETER_TEST_COMPILE_FAILURE_VENDOR_SPECIFIC : preproc_deduced_fail_msvc10 ] : msvc 10.0 ; alias parameter_vendor_specific_fail_tests : [ compile-fail compose.cpp : BOOST_PARAMETER_COMPOSE_MAX_ARITY=3 LIBS_PARAMETER_TEST_COMPILE_FAILURE_VENDOR_SPECIFIC : compose_fail_msvc11 ] [ compile-fail preprocessor_deduced.cpp : BOOST_PARAMETER_MAX_ARITY=4 BOOST_PARAMETER_EXPONENTIAL_OVERLOAD_THRESHOLD_ARITY=5 LIBS_PARAMETER_TEST_COMPILE_FAILURE_VENDOR_SPECIFIC : preproc_deduced_fail_msvc11 ] : msvc 11.0 ; alias parameter_vendor_specific_fail_tests : [ compile-fail evaluate_category.cpp : BOOST_PARAMETER_MAX_ARITY=4 BOOST_PARAMETER_EXPONENTIAL_OVERLOAD_THRESHOLD_ARITY=5 LIBS_PARAMETER_TEST_COMPILE_FAILURE_VENDOR_SPECIFIC : evaluate_category_fail_msvc12 ] [ compile-fail preprocessor_eval_category.cpp : BOOST_PARAMETER_MAX_ARITY=8 BOOST_PARAMETER_EXPONENTIAL_OVERLOAD_THRESHOLD_ARITY=9 LIBS_PARAMETER_TEST_COMPILE_FAILURE_VENDOR_SPECIFIC : preproc_eval_cat_fail_msvc12 ] [ compile-fail preprocessor_eval_cat_no_spec.cpp : BOOST_PARAMETER_COMPOSE_MAX_ARITY=8 LIBS_PARAMETER_TEST_COMPILE_FAILURE_VENDOR_SPECIFIC : preproc_eval_cat_no_spec_fail_msvc12 ] : msvc 12.0 ; alias parameter_vendor_specific_fail_tests : [ compile-fail evaluate_category.cpp : BOOST_PARAMETER_MAX_ARITY=4 BOOST_PARAMETER_EXPONENTIAL_OVERLOAD_THRESHOLD_ARITY=5 LIBS_PARAMETER_TEST_COMPILE_FAILURE_VENDOR_SPECIFIC : evaluate_category_fail_msvc14_0 ] [ compile-fail preprocessor_eval_category.cpp : BOOST_PARAMETER_MAX_ARITY=8 BOOST_PARAMETER_EXPONENTIAL_OVERLOAD_THRESHOLD_ARITY=9 LIBS_PARAMETER_TEST_COMPILE_FAILURE_VENDOR_SPECIFIC : preproc_eval_cat_fail_msvc14_0 ] [ compile-fail preprocessor_eval_cat_no_spec.cpp : BOOST_PARAMETER_COMPOSE_MAX_ARITY=8 LIBS_PARAMETER_TEST_COMPILE_FAILURE_VENDOR_SPECIFIC : preproc_eval_cat_no_spec_fail_msvc14_0 ] : msvc 14.0 ; alias parameter_vendor_specific_fail_tests : [ compile-fail evaluate_category.cpp : BOOST_PARAMETER_MAX_ARITY=4 BOOST_PARAMETER_EXPONENTIAL_OVERLOAD_THRESHOLD_ARITY=5 LIBS_PARAMETER_TEST_COMPILE_FAILURE_VENDOR_SPECIFIC : evaluate_category_fail_msvc14_1 ] [ compile-fail preprocessor_eval_category.cpp : BOOST_PARAMETER_MAX_ARITY=8 BOOST_PARAMETER_EXPONENTIAL_OVERLOAD_THRESHOLD_ARITY=9 LIBS_PARAMETER_TEST_COMPILE_FAILURE_VENDOR_SPECIFIC : preproc_eval_cat_fail_msvc14_1 ] [ compile-fail preprocessor_eval_cat_no_spec.cpp : BOOST_PARAMETER_COMPOSE_MAX_ARITY=8 LIBS_PARAMETER_TEST_COMPILE_FAILURE_VENDOR_SPECIFIC : preproc_eval_cat_no_spec_fail_msvc14_1 ] : msvc 14.1 ; # TODO: Replace with "undeprecated" version. test-suite "parameter" : parameter_macros_eval_category parameter_evaluate_category_10 parameter_preprocessor_eval_cat_8 parameter_preprocessor_eval_cat_fail parameter_standard_tests parameter_literate_tests parameter_python_test parameter_vendor_specific_fail_tests ;