mirror of
https://github.com/boostorg/python.git
synced 2026-01-20 16:52:15 +00:00
209 lines
5.3 KiB
Plaintext
209 lines
5.3 KiB
Plaintext
#
|
|
# 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 and testing
|
|
import python ;
|
|
|
|
if [ check-python-config ]
|
|
{
|
|
|
|
# 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) : <debug-symbols>on ] <debug-symbols>off ;
|
|
}
|
|
return $(properties) ;
|
|
}
|
|
|
|
template py-unit-test
|
|
:
|
|
: $(PYTHON_PROPERTIES) <define>BOOST_PYTHON_SUPPRESS_REGISTRY_INITIALIZATION
|
|
[ difference $(PYTHON_PROPERTIES) : <define>BOOST_PYTHON_DYNAMIC_LIB ] <define>BOOST_PYTHON_STATIC_LIB
|
|
;
|
|
|
|
# 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) <template>../build/extension : $(requirements) ;
|
|
modules += $(m) ;
|
|
}
|
|
}
|
|
|
|
return [ boost-python-runtest $(name) : $(py) <pyd>$(modules) : $(requirements) : : -v ] ;
|
|
}
|
|
|
|
test-suite python
|
|
:
|
|
[
|
|
run ../test/exec.cpp <lib>../build/boost_python
|
|
: # program args
|
|
: exec.py
|
|
: # requirements
|
|
$(PYTHON_PROPERTIES)
|
|
<define>BOOST_PYTHON_STATIC_LIB
|
|
<define>BOOST_PYTHON_STATIC_MODULE
|
|
<library-path>$(PYTHON_LIB_PATH)
|
|
<$(gcc-compilers)><debug-python><library-path>$(CYGWIN_PYTHON_DEBUG_DLL_PATH)
|
|
<$(gcc-compilers)><*><library-path>$(CYGWIN_PYTHON_DLL_PATH)
|
|
<find-library>$(PYTHON_EMBEDDED_LIBRARY)
|
|
]
|
|
|
|
[
|
|
bpl-test crossmod_exception
|
|
: crossmod_exception.py crossmod_exception_a.cpp crossmod_exception_b.cpp
|
|
]
|
|
|
|
[ bpl-test injected ]
|
|
[ bpl-test properties ]
|
|
[ bpl-test return_arg ]
|
|
[ bpl-test staticmethod ]
|
|
[ bpl-test shared_ptr ]
|
|
[ bpl-test andreas_beyer ]
|
|
[ bpl-test polymorphism ]
|
|
[ bpl-test polymorphism2 ]
|
|
[ bpl-test auto_ptr ]
|
|
[ bpl-test minimal ]
|
|
[ bpl-test args ]
|
|
[ bpl-test raw_ctor ]
|
|
[ 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 ]
|
|
[ bpl-test const_argument ]
|
|
|
|
[ bpl-test keywords : keywords.cpp keywords_test.py ]
|
|
|
|
[ extension builtin_converters : test_builtin_converters.cpp <template>../build/extension ]
|
|
[ boost-python-runtest builtin_converters : test_builtin_converters.py <pyd>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 slice ]
|
|
|
|
[ 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 ]
|
|
|
|
[ 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 pickle4 ]
|
|
|
|
[ bpl-test nested ]
|
|
|
|
[ bpl-test docstring ]
|
|
|
|
[ bpl-test vector_indexing_suite ]
|
|
[ bpl-test pointer_vector ]
|
|
|
|
|
|
[ extension map_indexing_suite_ext
|
|
: map_indexing_suite.cpp int_map_indexing_suite.cpp <template>../build/extension ]
|
|
[ boost-python-runtest
|
|
map_indexing_suite : map_indexing_suite.py <pyd>map_indexing_suite_ext ]
|
|
|
|
# if $(TEST_BIENSTMAN_NON_BUGS)
|
|
# {
|
|
# bpl-test bienstman4 ;
|
|
# bpl-test bienstman5 ;
|
|
# }
|
|
|
|
# --- unit tests of library components ---
|
|
|
|
[ compile indirect_traits_test.cpp ]
|
|
[ run destroy_test.cpp ]
|
|
[ run pointer_type_id_test.cpp <template>py-unit-test ]
|
|
[ run bases.cpp <template>py-unit-test ]
|
|
[ run if_else.cpp ]
|
|
[ run pointee.cpp <template>py-unit-test ]
|
|
[ run result.cpp ]
|
|
|
|
[ compile string_literal.cpp ]
|
|
[ compile borrowed.cpp <template>py-unit-test ]
|
|
[ compile object_manager.cpp <template>py-unit-test ]
|
|
[ compile copy_ctor_mutates_rhs.cpp <template>py-unit-test ]
|
|
|
|
[ run upcast.cpp <template>py-unit-test ]
|
|
|
|
[ compile select_holder.cpp <template>py-unit-test ]
|
|
|
|
[ run select_from_python_test.cpp ../src/converter/type_id.cpp
|
|
<template>py-unit-test ]
|
|
|
|
[ compile select_arg_to_python_test.cpp <template>py-unit-test ]
|
|
|
|
[ compile-fail ./raw_pyobject_fail1.cpp <template>py-unit-test ]
|
|
[ compile-fail ./raw_pyobject_fail2.cpp <template>py-unit-test ]
|
|
[ compile-fail ./as_to_python_function.cpp <template>py-unit-test ]
|
|
[ compile-fail ./object_fail1.cpp <template>py-unit-test ]
|
|
;
|
|
}
|