1# Copyright 2012-2013 Karsten Ahnert 2# Copyright 2012-2013 Mario Mulansky 3# Copyright 2013 Pascal Germroth 4# Distributed under the Boost Software License, Version 1.0. 5# (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 6 7# bring in rules for testing 8 9import testing ; 10 11# make sure you are using a new version of boost.build, otherwise the local 12# odeint will not be included properly 13# you can fix older boost.build versions by applying the patch provided in 14# odeint's root, e.g.: 15# cd ~/odeint-v2 16# sudo patch /usr/share/boost-build/build/toolset.jam toolset.jam.patch 17 18use-project boost : $(BOOST_ROOT) ; 19 20project 21 : requirements 22 <define>BOOST_ALL_NO_LIB=1 23 # use test library 24 <library>/boost//unit_test_framework 25 <link>static 26 <toolset>clang:<cxxflags>-Wno-unused-variable 27 # <cxxflags>-D_SCL_SECURE_NO_WARNINGS 28 ; 29 30test-suite "odeint" 31 : 32 [ run euler_stepper.cpp ] 33 [ run runge_kutta_concepts.cpp ] 34 [ run runge_kutta_error_concepts.cpp ] 35 [ run runge_kutta_controlled_concepts.cpp ] 36 [ run resizing.cpp ] 37 [ run default_operations.cpp ] 38 [ run range_algebra.cpp ] 39 [ run implicit_euler.cpp ] 40# disable in clang 41 [ run fusion_algebra.cpp : : : <toolset>clang:<build>no ] 42 [ run stepper_with_units.cpp : : : <toolset>clang:<build>no ] 43 [ run stepper_copying.cpp ] 44 [ run stepper_with_ranges.cpp ] 45 [ run rosenbrock4.cpp ] 46 [ run rosenbrock4_mp.cpp ] 47 [ run is_pair.cpp ] 48 [ run adams_bashforth.cpp ] 49 [ run adams_moulton.cpp ] 50 [ run adams_bashforth_moulton.cpp ] 51 [ run controlled_adams_bashforth_moulton.cpp ] 52 [ run adaptive_adams_coefficients.cpp ] 53 [ run generic_stepper.cpp ] 54 [ run generic_error_stepper.cpp ] 55 [ run bulirsch_stoer.cpp ] 56 [ run integrate_times.cpp ] 57 [ run integrate_times.cpp : : : <define>ODEINT_INTEGRATE_ITERATOR : integrate_times_iterator ] 58 [ run integrate.cpp ] 59 [ run integrate.cpp : : : <define>ODEINT_INTEGRATE_ITERATOR : integrate_iterator ] 60 [ run integrate_implicit.cpp ] 61 [ run integrate_implicit.cpp : : : <define>ODEINT_INTEGRATE_ITERATOR : integrate_implicit_iterator ] 62 [ run generation.cpp ] 63 [ run trivial_state.cpp ] 64 [ run is_resizeable.cpp ] 65 [ run resize.cpp ] 66 [ run same_size.cpp ] 67 [ run split.cpp ] 68 [ run symplectic_steppers.cpp ] 69 [ run integrators_symplectic.cpp ] 70 [ run integrators_symplectic.cpp : : : <define>ODEINT_INTEGRATE_ITERATOR : integrators_symplectic_iterator ] 71 [ run velocity_verlet.cpp ] 72 [ run multi_array.cpp ] 73 [ compile algebra_dispatcher.cpp ] 74 [ run integrate_stepper_refs.cpp ] 75 [ run const_step_iterator.cpp ] 76 [ run const_step_time_iterator.cpp ] 77 [ run adaptive_iterator.cpp ] 78 [ run adaptive_time_iterator.cpp ] 79 [ run n_step_iterator.cpp ] 80 [ run n_step_time_iterator.cpp ] 81 [ run times_iterator.cpp ] 82 [ run times_time_iterator.cpp ] 83 [ run step_size_limitation.cpp ] 84 [ run integrate_overflow.cpp ] 85 [ compile unwrap_boost_reference.cpp ] 86 [ compile unwrap_reference.cpp : <cxxflags>-std=c++0x : unwrap_reference_C++11 ] 87 [ compile std_array.cpp : <cxxflags>-std=c++0x ] 88 : 89 <testing.launcher>valgrind 90 ; 91 92# also run numeric tests 93build-project numeric ; 94 95build-project regression ; 96 97# test-suite "odeint-iterator_integrate" 98# : 99# [ run integrate.cpp : : : : integrate_iterator ] 100# : <testing.launcher>valgrind 101# <define>ODEINT_ITERATOR_INTEGRATE 102# ; 103 104