• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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