1# Copyright David Abrahams 2006. Distributed under the Boost 2# Software License, Version 1.0. (See accompanying 3# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 4 5import python ; 6import os ; 7import ../../config/checks/config : requires ; 8 9lib socket ; 10 11use-project /boost/python : ../build ; 12project /boost/python/test 13 : requirements 14 <toolset>gcc:<cxxflags>-Wextra 15 <target-os>qnxnto:<library>socket 16 ; 17 18local PY = ; 19if [ python.configured ] 20{ 21 PY = /python//python ; 22} 23 24rule py-run ( sources * : input-file ? ) 25{ 26 return [ run $(sources) /boost/python//boost_python $(PY) 27 : # args 28 : $(input-file) 29 : #requirements 30 <define>BOOST_PYTHON_SUPPRESS_REGISTRY_INITIALIZATION 31 32 ] ; 33} 34 35rule py-compile ( sources * ) 36{ 37 return [ compile $(sources) /boost/python//boost_python ] ; 38} 39 40rule py-compile-fail ( sources * ) 41{ 42 return [ compile-fail $(sources) /boost/python//boost_python ] ; 43} 44 45rule require-windows ( properties * ) 46{ 47 if ! <target-os>windows in $(properties) 48 { 49 return <build>no ; 50 } 51} 52 53if [ python.configured ] 54{ 55test-suite python 56 : 57 58 [ 59 run exec.cpp /boost/python//boost_python/<link>static $(PY) 60 : # program args 61 : exec.py # input files 62 : # requirements 63 : # target-name 64 ] 65 66 [ 67 run exec.cpp ../build//boost_python/<link>shared /python//python 68 : # program args 69 : exec.py 70 : # requirements 71 : exec-dynamic # target-name 72 ] 73 74# [ 75# run import_.cpp ../build//boost_python /python//python 76# : # program args 77# : import_.py # input files 78# : # requirements 79# : # target-name 80# ] 81 82[ 83bpl-test crossmod_exception 84 : crossmod_exception.py crossmod_exception_a.cpp crossmod_exception_b.cpp 85] 86 87[ bpl-test injected ] 88[ bpl-test properties ] 89[ bpl-test return_arg ] 90[ bpl-test staticmethod ] 91[ bpl-test boost_shared_ptr ] 92[ bpl-test shared_ptr 93 : # sources 94 : [ requires cxx11_smart_ptr ] 95] 96[ bpl-test enable_shared_from_this ] 97[ bpl-test andreas_beyer ] 98[ bpl-test wrapper_held_type ] 99 100[ bpl-test polymorphism2_auto_ptr 101 : polymorphism2_auto_ptr.py polymorphism2.py polymorphism2_auto_ptr.cpp 102 : [ requires auto_ptr ] 103] 104 105[ bpl-test polymorphism ] 106[ bpl-test polymorphism2 ] 107 108[ bpl-test auto_ptr 109 : # files 110 : [ requires auto_ptr ] 111] 112 113[ bpl-test minimal ] 114[ bpl-test args ] 115[ bpl-test raw_ctor ] 116[ bpl-test enum : test_enum.py enum_ext.cpp ] 117[ bpl-test exception_translator ] 118[ bpl-test pearu1 : test_cltree.py cltree.cpp ] 119[ bpl-test try : newtest.py m1.cpp m2.cpp ] 120[ bpl-test const_argument ] 121[ bpl-test keywords : keywords.cpp keywords_test.py ] 122 123 124[ python-extension builtin_converters_ext : builtin_converters.cpp /boost/python//boost_python ] 125[ bpl-test builtin_converters : test_builtin_converters.py builtin_converters_ext ] 126 127 [ bpl-test test_pointer_adoption ] 128 [ bpl-test operators ] 129 [ bpl-test operators_wrapper ] 130 [ bpl-test callbacks ] 131 [ bpl-test defaults ] 132 133[ bpl-test object ] 134[ bpl-test class ] 135[ bpl-test list ] 136[ bpl-test long ] 137[ bpl-test dict ] 138[ bpl-test tuple ] 139[ bpl-test str ] 140[ bpl-test slice ] 141 142[ bpl-test virtual_functions ] 143[ bpl-test back_reference ] 144[ bpl-test implicit ] 145[ bpl-test data_members ] 146 147[ bpl-test ben_scott1 ] 148 149[ bpl-test bienstman1 ] 150[ bpl-test bienstman2 ] 151[ bpl-test bienstman3 ] 152 153[ bpl-test multi_arg_constructor 154 : # files 155 : # requirements 156 # A bug in the Win32 intel compilers causes compilation of one of our 157 # tests to take forever when debug symbols are enabled. This rule 158 # turns them off when added to the requirements section 159 <toolset>intel-win:<debug-symbols>off 160] 161 162[ bpl-test iterator : iterator.py iterator.cpp input_iterator.cpp ] 163 164[ bpl-test stl_iterator : stl_iterator.py stl_iterator.cpp ] 165 166[ bpl-test extract ] 167 168[ 169bpl-test crossmod_opaque 170 : crossmod_opaque.py crossmod_opaque_a.cpp crossmod_opaque_b.cpp 171] 172[ bpl-test opaque ] 173[ bpl-test voidptr ] 174 175[ bpl-test pickle1 ] 176[ bpl-test pickle2 ] 177[ bpl-test pickle3 ] 178[ bpl-test pickle4 ] 179 180[ bpl-test nested ] 181 182[ bpl-test docstring ] 183[ bpl-test pytype_function ] 184 185[ bpl-test vector_indexing_suite ] 186 187[ bpl-test pointer_vector 188 : # files 189 : # requirements 190 # Turn off this test on HP CXX, as the test hangs when executing. 191 # Whenever the cause for the failure of the polymorphism test is found 192 # and fixed, this should be retested. 193 <toolset>hp_cxx:<build>no ] 194 195[ python-extension map_indexing_suite_ext 196 : map_indexing_suite.cpp int_map_indexing_suite.cpp a_map_indexing_suite.cpp 197 /boost/python//boost_python ] 198[ bpl-test 199 map_indexing_suite : map_indexing_suite.py map_indexing_suite_ext ] 200 201[ run import_.cpp /boost/python//boost_python $(PY) : : import_.py ] 202 203# if $(TEST_BIENSTMAN_NON_BUGS) 204# { 205# bpl-test bienstman4 ; 206# bpl-test bienstman5 ; 207# } 208 209[ bpl-test calling_conventions : : <conditional>@require-windows ] 210[ bpl-test calling_conventions_mf : : <conditional>@require-windows ] 211 212# --- unit tests of library components --- 213 214[ compile indirect_traits_test.cpp ] 215[ run destroy_test.cpp ] 216[ py-run pointer_type_id_test.cpp ] 217[ py-run bases.cpp ] 218[ run if_else.cpp ] 219[ py-run pointee.cpp ] 220[ run result.cpp ] 221 222[ compile string_literal.cpp ] 223[ py-compile borrowed.cpp ] 224[ py-compile object_manager.cpp ] 225[ py-compile copy_ctor_mutates_rhs.cpp ] 226 227[ py-run upcast.cpp ] 228 229[ py-compile select_holder.cpp ] 230 231[ run select_from_python_test.cpp ../src/converter/type_id.cpp 232 : 233 : 234 : <define>BOOST_PYTHON_STATIC_LIB 235 <use>$(PY) 236 237] 238 239 [ py-compile select_arg_to_python_test.cpp ] 240 241[ py-compile-fail ./raw_pyobject_fail1.cpp ] 242[ py-compile-fail ./raw_pyobject_fail2.cpp ] 243[ py-compile-fail ./as_to_python_function.cpp ] 244[ py-compile-fail ./object_fail1.cpp ] 245 246# --- NumPy tests --- 247 248[ numpy-test numpy/dtype ] 249[ numpy-test numpy/ufunc ] 250[ numpy-test numpy/templates ] 251[ numpy-test numpy/ndarray ] 252[ numpy-test numpy/indexing ] 253[ numpy-test numpy/shapes ] 254 255 256 ; 257} 258