blob: 5c93f751508a093f85406da6e567b9e782473f32 [file] [log] [blame]
# Copyright (c) 2004-2011 Michael Stevens, David Bellot
# Use, modification and distribution are subject to 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)
# Bring in rules for testing
import testing ;
# Define features to test:
# Value types: USE_FLOAT USE_DOUBLE USE_STD_COMPLEX
# Proxies: USE_RANGE USE_SLICE
# Storage types: USE_BOUNDED_ARRAY USE_UNBOUNDED_ARRAY
# Vector types: USE_STD_VECTOR USE_BOUNDED_VECTOR
# Matrix types: USE_MATRIX USE_BOUNDED_MATRIX USE_VECTOR_OF_VECTOR
# Adaptors: USE_ADAPTOR
UBLAS_TESTSET = [ modules.peek : UBLAS_TESTSET ] ;
UBLAS_TESTSET ?=
USE_DOUBLE USE_STD_COMPLEX
USE_RANGE USE_SLICE
USE_UNBOUNDED_ARRAY USE_STD_VECTOR USE_BOUNDED_VECTOR USE_MATRIX
;
# Sparse storage: USE_MAP_ARRAY USE_STD_MAP
# Sparse vectors: USE_MAPPED_VECTOR USE_COMPRESSED_VECTOR USE_COORDINATE_VECTOR
# Sparse matrices: USE_MAPPED_MATRIX USE_COMPRESSED_MATRIX USE_COORDINATE_MATRIX USE_MAPPED_VECTOR_OF_MAPPED_VECTOR USE_GENERALIZED_VECTOR_OF_VECTOR
UBLAS_TESTSET_SPARSE = [ modules.peek : UBLAS_TESTSET_SPARSE ] ;
UBLAS_TESTSET_SPARSE ?=
USE_DOUBLE USE_STD_COMPLEX
# USE_RANGE USE_SLICE # Too complex for regression testing
USE_UNBOUNDED_ARRAY
USE_MAP_ARRAY USE_STD_MAP
USE_MAPPED_VECTOR USE_COMPRESSED_VECTOR
USE_MAPPED_MATRIX USE_COMPRESSED_MATRIX
;
# Generalize VofV still failing
# USE_GENERALIZED_VECTOR_OF_VECTOR
UBLAS_TESTSET_SPARSE_COO = [ modules.peek : UBLAS_TESTSET_SPARSE_COO ] ;
UBLAS_TESTSET_SPARSE_COO ?=
USE_DOUBLE USE_STD_COMPLEX
USE_UNBOUNDED_ARRAY
USE_COORDINATE_VECTOR
USE_COORDINATE_MATRIX
;
# Project settings
project boost-ublas-test
: requirements
<define>BOOST_UBLAS_NO_EXCEPTIONS
<toolset>vacpp:<define>"BOOST_UBLAS_NO_ELEMENT_PROXIES"
<toolset>gcc:<cxxflags>"-Wall -Wno-unknown-pragmas"
<toolset>msvc:<cxxflags>/bigobj
<toolset>msvc:<cxxflags>"/W4" # == all
# The define of macros below prevent warnings about the checked versions of SCL and CRT libraries.
# Most Boost code does not need these versions (as they are markedly slower).
<toolset>msvc:<define>_SCL_SECURE_NO_WARNINGS
<toolset>msvc:<define>_SCL_SECURE_NO_DEPRECATE
<toolset>msvc:<define>_CRT_SECURE_NO_WARNINGS
<toolset>msvc:<define>_CRT_SECURE_NO_DEPRECATE
<toolset>msvc:<define>_CRT_NONSTDC_NO_DEPRECATE # Suppresses other warnings about using standard POSIX and C9X.
# Alternatively, you can just suppress the warnings (perhaps not the best way).
#<toolset>msvc:<cxxflags>/wd4996 # 'putenv': The POSIX name for this item is deprecated.
#<toolset>msvc:<cxxflags>/wd4512 # assignment operator could not be generated.
#<toolset>msvc:<cxxflags>/wd4224 # nonstandard extension used : formal parameter 'arg' was previously defined as a type.
#<toolset>msvc:<cxxflags>/wd4127 # expression is constant.
#<toolset>msvc:<cxxflags>/wd4701 # unreachable code - needed for lexical cast - temporary for Boost 1.40 & earlier.
;
test-suite numeric/uBLAS
: [ run test1.cpp
test11.cpp
test12.cpp
test13.cpp
: # args
: # input files
: # requirements
<define>$(UBLAS_TESTSET)
]
[ run test2.cpp
test21.cpp
test22.cpp
test23.cpp
: : :
<define>$(UBLAS_TESTSET)
]
[ run test3.cpp
test31.cpp
test32.cpp
test33.cpp
: : :
<define>$(UBLAS_TESTSET_SPARSE)
]
[ run test3.cpp
test31.cpp
test32.cpp
test33.cpp
: : :
<define>$(UBLAS_TESTSET_SPARSE_COO)
: test3_coo
:
]
[ run test3.cpp
test31.cpp
test32.cpp
test33.cpp
: : :
<define>USE_FLOAT
<define>USE_DOUBLE
<define>USE_STD_COMPLEX
<define>USE_STD_MAP
<define>USE_MAPPED_VECTOR_OF_MAPPED_VECTOR
: test3_mvov
:
]
[ run test4.cpp
test42.cpp
test43.cpp
: : :
<define>$(UBLAS_TESTSET)
]
[ run test5.cpp
test52.cpp
test53.cpp
: : :
<define>$(UBLAS_TESTSET)
]
[ run test6.cpp
test62.cpp
test63.cpp
: : :
<define>$(UBLAS_TESTSET)
]
# Test commented out because boost::interval does not behave like a scalar type
# [ run test7.cpp
# test71.cpp
# test72.cpp
# test73.cpp
# : : :
# <define>BOOST_UBLAS_USE_INTERVAL
# <define>$(UBLAS_TESTSET)
# ]
[ run placement_new.cpp
]
[ compile concepts.cpp
: # requirements
<define>EXTERNAL
# <define>INTERAL
# <define>SKIP_BAD
<toolset>intel-linux:<cxxflags>"-Xc"
<toolset>darwin:<cxxflags>"-fabi-version=0"
]
[ run test_lu.cpp
: : :
]
[ run triangular_access.cpp
: : :
<define>NOMESSAGES
]
[ run triangular_layout.cpp
]
[ run comp_mat_erase.cpp
: : :
<toolset>msvc:<asynch-exceptions>on
]
[ run sparse_view_test.cpp
: : :
<toolset>msvc:<asynch-exceptions>on
]
[ run begin_end.cpp
]
[ run num_columns.cpp
]
[ run num_rows.cpp
]
[ run size.cpp
]
[ run test_coordinate_matrix_sort.cpp
]
[ run test_coordinate_matrix_sort.cpp
:
:
: <define>BOOST_UBLAS_COO_ALWAYS_DO_FULL_SORT
: test_coordinate_matrix_always_do_full_sort
:
]
[ run test_complex_norms.cpp
]
[ run test_scaled_norm.cpp
: : :
<define>BOOST_UBLAS_SCALED_NORM
]
[ run test_assignment.cpp
: : :
<define>BOOST_UBLAS_COO_ALWAYS_DO_FULL_SORT
]
[ run test_triangular.cpp
:
:
: <library>/boost/timer//boost_timer
]
[ run test_ticket7296.cpp
:
:
: <toolset>msvc:<cxxflags>/wd4127 # The program checks that test facilities work fine. The warning appears many times.
:
:
]
[ run test_inplace_solve.cpp
:
:
: <define>$(UBLAS_TESTSET)
: test_inplace_solve_basic
:
]
[ run test_inplace_solve.cpp
:
:
: <define>$(UBLAS_TESTSET_SPARSE)
<define>$(UBLAS_TESTSET_SPARSE_COO)
: test_inplace_solve_sparse
:
]
[ run test_inplace_solve.cpp
:
:
: <define>USE_MAPPED_VECTOR_OF_MAPPED_VECTOR
: test_inplace_solve_mvov
:
]
[ run test_coordinate_vector_inplace_merge.cpp
]
[ run test_coordinate_matrix_inplace_merge.cpp
]
[ run test_banded_storage_layout.cpp
:
:
:
:
:
]
[ run test_fixed_containers.cpp
:
:
:
]
[ run test_matrix_vector.cpp
]
[ compile minimal_allocator_test.cpp ]
;
build-project opencl ;
build-project tensor ;