# # To run all tests quietly: jam test # To run all tests with verbose output: jam -sPYTHON_TEST_ARGS=-v test # subproject libs/python/test ; # bring in the rules for python SEARCH on python.jam = $(BOOST_BUILD_PATH) ; include python.jam ; # bring in rules for testing SEARCH on testing.jam = $(BOOST_BUILD_PATH) ; include testing.jam ; # Convenience rule makes declaring tests faster rule bpl-test ( name ? : files * : requirements * ) { files ?= $(name).py $(name).cpp ; local modules ; local py ; for local f in $(files) { if $(f:S) = .py { if $(py) { EXIT too many python drivers specified: "$(py)" "$(f)" ; } py = $(f) ; } } name ?= $(py:S=) ; for local f in $(files) { if $(f:S) != .py { local m = $(f:S=) ; if $(m) = $(py:S=) { m = $(name) ; if $(m) = $(py:S=) { m = $(m)_ext ; } } extension $(m) : $(f) ../build/boost_python : $(requirements) ; modules += $(m) ; } } boost-python-runtest $(name) : $(py) $(modules) ; } run ../test/embedding.cpp ../build/boost_python : # program args : # input files : # requirements $(PYTHON_PROPERTIES) BOOST_PYTHON_STATIC_LIB BOOST_PYTHON_STATIC_MODULE $(PYTHON_LIB_PATH) <$(gcc-compilers)>$(CYGWIN_PYTHON_DEBUG_DLL_PATH) <$(gcc-compilers)><*>$(CYGWIN_PYTHON_DLL_PATH) $(PYTHON_EMBEDDED_LIBRARY) ; bpl-test return_arg ; bpl-test staticmethod ; bpl-test shared_ptr ; bpl-test polymorphism ; bpl-test auto_ptr ; bpl-test minimal ; bpl-test args ; bpl-test numpy ; bpl-test enum ; bpl-test exception_translator ; bpl-test pearu1 : test_cltree.py cltree.cpp ; bpl-test try : newtest.py m1.cpp m2.cpp ; extension builtin_converters : test_builtin_converters.cpp ../build/boost_python ; boost-python-runtest builtin_converters : test_builtin_converters.py builtin_converters ; bpl-test test_pointer_adoption ; bpl-test operators ; bpl-test callbacks ; bpl-test defaults ; bpl-test object ; bpl-test list ; bpl-test long ; bpl-test dict ; bpl-test tuple ; bpl-test str ; bpl-test virtual_functions ; bpl-test back_reference ; bpl-test implicit ; bpl-test data_members ; bpl-test ben_scott1 ; bpl-test bienstman1 ; bpl-test bienstman2 ; bpl-test bienstman3 ; # A bug in the Win32 intel compilers causes compilation of one of our # tests to take forever when debug symbols are enabled. This rule # turns them off when added to the requirements section rule turn-off-intel-debug-symbols ( toolset variant : properties * ) { if $(NT) && [ MATCH (.*intel.*) : $(toolset) ] { properties = [ difference $(properties) : on ] off ; } return $(properties) ; } bpl-test multi_arg_constructor : # files : # requirements turn-off-intel-debug-symbols ; # debug symbols slow the build down too much bpl-test iterator : iterator.py iterator.cpp input_iterator.cpp ; bpl-test extract ; bpl-test opaque ; bpl-test pickle1 ; bpl-test pickle2 ; bpl-test pickle3 ; bpl-test nested ; bpl-test docstring ; if $(TEST_BIENSTMAN_NON_BUGS) { bpl-test bienstman4 ; bpl-test bienstman5 ; } # --- unit tests of library components --- local UNIT_TEST_PROPERTIES = $(PYTHON_PROPERTIES) BOOST_PYTHON_SUPPRESS_REGISTRY_INITIALIZATION [ difference $(PYTHON_PROPERTIES) : BOOST_PYTHON_DYNAMIC_LIB ] BOOST_PYTHON_STATIC_LIB ; run indirect_traits_test.cpp ; run destroy_test.cpp ; run pointer_type_id_test.cpp ../../test/build/boost_test_exec_monitor : : : $(UNIT_TEST_PROPERTIES) ; run member_function_cast.cpp ; run bases.cpp : : : $(UNIT_TEST_PROPERTIES) ; run if_else.cpp ; run pointee.cpp : : : $(UNIT_TEST_PROPERTIES) ; run result.cpp ; compile string_literal.cpp ; compile borrowed.cpp : $(UNIT_TEST_PROPERTIES) ; compile object_manager.cpp : $(UNIT_TEST_PROPERTIES) ; compile copy_ctor_mutates_rhs.cpp : $(UNIT_TEST_PROPERTIES) ; run upcast.cpp ../../test/build/boost_test_exec_monitor : # command-line args : # input files : $(UNIT_TEST_PROPERTIES) ; run select_holder.cpp ../../test/build/boost_test_exec_monitor : # command-line args : # input files : $(UNIT_TEST_PROPERTIES) ; run select_from_python_test.cpp ../src/converter/type_id.cpp ../../test/build/boost_test_exec_monitor : # command-line args : # input files : $(UNIT_TEST_PROPERTIES) ; run select_arg_to_python_test.cpp ../src/converter/type_id.cpp ../../test/build/boost_test_exec_monitor : # command-line args : # input files : $(UNIT_TEST_PROPERTIES) ; compile-fail ./raw_pyobject_fail1.cpp : $(PYTHON_PROPERTIES) ; compile-fail ./raw_pyobject_fail2.cpp : $(PYTHON_PROPERTIES) ; compile-fail ./as_to_python_function.cpp : $(PYTHON_PROPERTIES) ; compile-fail ./object_fail1.cpp : $(PYTHON_PROPERTIES) ;