• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1#  Boost.SafeNumerics Library test Jamfile
2#
3#  Copyright (c) 2017 Robert Ramey
4#
5#  Distributed under the Boost Software License, Version 1.0.
6#  See accompanying file LICENSE_1_0.txt or copy at
7#  http://www.boost.org/LICENSE_1_0.txt
8
9import testing ;
10import ../../config/checks/config : requires ;
11project
12    : requirements
13        [ requires cxx14_constexpr ]
14        # toolset optimizations
15        <c++-template-depth>1024
16        <warnings>extra
17    ;
18
19# compile and run tests
20
21run test_add_automatic.cpp ;
22run test_add_native.cpp ;
23run test_and_automatic.cpp ;
24run test_and_native.cpp ;
25run test_assignment.cpp ;
26run test_auto.cpp ;
27run test_cast.cpp ;
28
29run test_checked_add.cpp ;
30run test_checked_and.cpp ;
31run test_checked_cast.cpp ;
32run test_checked_divide.cpp ;
33run test_checked_equal_to.cpp ;
34run test_checked_left_shift.cpp ;
35run test_checked_less_than.cpp ;
36run test_checked_modulus.cpp ;
37run test_checked_multiply.cpp ;
38run test_checked_or.cpp ;
39run test_checked_right_shift.cpp ;
40run test_checked_subtract.cpp ;
41run test_checked_xor.cpp ;
42
43run test_construction.cpp ;
44run test_cpp.cpp ;
45run test_divide_automatic.cpp ;
46run test_divide_native.cpp ;
47run test_equal_automatic.cpp ;
48run test_equal_native.cpp ;
49run test_float.cpp ;
50run test_interval.cpp ;
51run test_left_shift_automatic.cpp ;
52run test_left_shift_native.cpp ;
53run test_less_than_automatic.cpp ;
54run test_less_than_native.cpp ;
55run test_modulus_automatic.cpp ;
56run test_modulus_native.cpp ;
57run test_multiply_automatic.cpp ;
58run test_multiply_native.cpp ;
59run test_or_automatic.cpp ;
60run test_or_native.cpp ;
61run test_performance.cpp # sources
62    : # args
63    : # input
64    :  <variant>debug:<build>no # requirements
65    ;
66run test_range.cpp ;
67run test_rational.cpp ;
68run test_right_shift_automatic.cpp ;
69run test_right_shift_native.cpp ;
70run test_safe_compare.cpp ;
71run test_subtract_automatic.cpp ;
72run test_subtract_native.cpp ;
73run test_xor_automatic.cpp ;
74run test_xor_native.cpp ;
75run test_z.cpp ;
76
77# compile fail tests
78
79compile-fail test_trap.cpp ;
80
81# safe integer constexpr tests
82
83compile test_cast_constexpr.cpp ;
84compile test_add_automatic_constexpr.cpp ;
85compile test_add_native_constexpr.cpp ;
86compile test_divide_automatic_constexpr.cpp ;
87compile test_divide_native_constexpr.cpp ;
88compile test_equal_automatic_constexpr.cpp ;
89compile test_equal_native_constexpr.cpp ;
90compile test_left_shift_automatic_constexpr.cpp ;
91compile test_left_shift_native_constexpr.cpp ;
92compile test_less_than_automatic_constexpr.cpp ;
93compile test_less_than_native_constexpr.cpp ;
94compile test_modulus_automatic_constexpr.cpp ;
95compile test_modulus_native_constexpr.cpp ;
96compile test_multiply_automatic_constexpr.cpp ;
97compile test_multiply_native_constexpr.cpp ;
98compile test_or_automatic_constexpr.cpp ;
99compile test_or_native_constexpr.cpp ;
100compile test_right_shift_automatic_constexpr.cpp ;
101compile test_right_shift_native_constexpr.cpp ;
102compile test_xor_automatic_constexpr.cpp ;
103compile test_xor_native_constexpr.cpp ;
104compile test_subtract_native_constexpr.cpp ;
105compile test_subtract_automatic_constexpr.cpp ;
106
107# checked results constexpr
108
109compile test_checked_add_constexpr.cpp ;
110compile test_checked_and_constexpr.cpp ;
111compile test_checked_cast_constexpr.cpp ;
112compile test_checked_divide_constexpr.cpp ;
113compile test_checked_equal_to_constexpr.cpp ;
114compile test_checked_left_shift_constexpr.cpp ;
115compile test_checked_less_than_constexpr.cpp ;
116compile test_checked_modulus_constexpr.cpp ;
117compile test_checked_multiply_constexpr.cpp ;
118compile test_checked_or_constexpr.cpp ;
119compile test_checked_right_shift_constexpr.cpp ;
120compile test_checked_subtract_constexpr.cpp ;
121compile test_checked_xor_constexpr.cpp ;
122
123