• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1
2# Copyright (C) 2008-2018 Lorenzo Caminiti
3# Distributed under the Boost Software License, Version 1.0 (see accompanying
4# file LICENSE_1_0.txt or a copy at http://www.boost.org/LICENSE_1_0.txt).
5# See: http://www.boost.org/doc/libs/release/libs/contract/doc/html/index.html
6
7import ../build/boost_contract_build ;
8import ../../config/checks/config : requires ;
9
10test-suite constructor :
11    [ boost_contract_build.subdir-run-cxx11 constructor : smoke ]
12
13    [ boost_contract_build.subdir-run-cxx11 constructor : decl_pre_all ]
14    [ boost_contract_build.subdir-run-cxx11 constructor : decl_pre_ends ]
15    [ boost_contract_build.subdir-run-cxx11 constructor : decl_pre_mid ]
16    [ boost_contract_build.subdir-run-cxx11 constructor : decl_pre_none ]
17
18    [ boost_contract_build.subdir-run-cxx11 constructor : decl_post_all ]
19    [ boost_contract_build.subdir-run-cxx11 constructor : decl_post_ends ]
20    [ boost_contract_build.subdir-run-cxx11 constructor : decl_post_mid ]
21    [ boost_contract_build.subdir-run-cxx11 constructor : decl_post_none ]
22
23    [ boost_contract_build.subdir-run-cxx11 constructor :
24            decl_entry_static_inv_all ]
25    [ boost_contract_build.subdir-run-cxx11 constructor :
26            decl_entry_static_inv_ends ]
27    [ boost_contract_build.subdir-run-cxx11 constructor :
28            decl_entry_static_inv_mid ]
29    [ boost_contract_build.subdir-run-cxx11 constructor :
30            decl_entry_static_inv_none ]
31
32    [ boost_contract_build.subdir-run-cxx11 constructor :
33            decl_exit_static_inv_all ]
34    [ boost_contract_build.subdir-run-cxx11 constructor :
35            decl_exit_static_inv_ends ]
36    [ boost_contract_build.subdir-run-cxx11 constructor :
37            decl_exit_static_inv_mid ]
38    [ boost_contract_build.subdir-run-cxx11 constructor :
39            decl_exit_static_inv_none ]
40
41    # No decl_entry_static_inv_... (as no obj before ctor).
42
43    [ boost_contract_build.subdir-run-cxx11 constructor : decl_exit_inv_all ]
44    [ boost_contract_build.subdir-run-cxx11 constructor : decl_exit_inv_ends ]
45    [ boost_contract_build.subdir-run-cxx11 constructor : decl_exit_inv_mid ]
46    [ boost_contract_build.subdir-run-cxx11 constructor : decl_exit_inv_none ]
47
48    [ boost_contract_build.subdir-run-cxx11 constructor : access ]
49
50    [ boost_contract_build.subdir-run-cxx11 constructor : ifdef ]
51    [ boost_contract_build.subdir-run-cxx11 constructor : ifdef_macro ]
52
53    [ boost_contract_build.subdir-run-cxx11 constructor : throwing_pre ]
54    [ boost_contract_build.subdir-run-cxx11 constructor : throwing_old ]
55    [ boost_contract_build.subdir-run-cxx11 constructor : throwing_body ]
56    [ boost_contract_build.subdir-run-cxx11 constructor : throwing_post ]
57    # No throwing_except test (as throwing twice calls terminate).
58
59    [ boost_contract_build.subdir-compile-fail-cxx11 constructor : pre_error ]
60;
61
62test-suite destructor :
63    [ boost_contract_build.subdir-run-cxx11 destructor : smoke ]
64
65    # No decl_pre_... (as dtors have no pre).
66
67    [ boost_contract_build.subdir-run-cxx11 destructor : decl_post_all ]
68    [ boost_contract_build.subdir-run-cxx11 destructor : decl_post_ends ]
69    [ boost_contract_build.subdir-run-cxx11 destructor : decl_post_mid ]
70    [ boost_contract_build.subdir-run-cxx11 destructor : decl_post_none ]
71
72    [ boost_contract_build.subdir-run-cxx11 destructor :
73            decl_entry_static_inv_all ]
74    [ boost_contract_build.subdir-run-cxx11 destructor :
75            decl_entry_static_inv_ends ]
76    [ boost_contract_build.subdir-run-cxx11 destructor :
77            decl_entry_static_inv_mid ]
78    [ boost_contract_build.subdir-run-cxx11 destructor :
79            decl_entry_static_inv_none ]
80
81    [ boost_contract_build.subdir-run-cxx11 destructor :
82            decl_exit_static_inv_all ]
83    [ boost_contract_build.subdir-run-cxx11 destructor :
84            decl_exit_static_inv_ends ]
85    [ boost_contract_build.subdir-run-cxx11 destructor :
86            decl_exit_static_inv_mid ]
87    [ boost_contract_build.subdir-run-cxx11 destructor :
88            decl_exit_static_inv_none ]
89
90    [ boost_contract_build.subdir-run-cxx11 destructor : decl_entry_inv_all ]
91    [ boost_contract_build.subdir-run-cxx11 destructor : decl_entry_inv_ends ]
92    [ boost_contract_build.subdir-run-cxx11 destructor : decl_entry_inv_mid ]
93    [ boost_contract_build.subdir-run-cxx11 destructor : decl_entry_inv_none ]
94
95    # No decl_exit_inv_... (as no obj after dtor).
96
97    [ boost_contract_build.subdir-run-cxx11 destructor : access ]
98
99    [ boost_contract_build.subdir-run-cxx11 destructor : ifdef ]
100    [ boost_contract_build.subdir-run-cxx11 destructor : ifdef_macro ]
101
102    # No throwing_pre test (as dtors have no pre).
103    [ boost_contract_build.subdir-run-cxx11 destructor : throwing_old ]
104    [ boost_contract_build.subdir-run-cxx11 destructor : throwing_body ]
105    [ boost_contract_build.subdir-run-cxx11 destructor : throwing_post ]
106    # No throwing_except test (as throwing twice calls terminate).
107
108    [ boost_contract_build.subdir-compile-fail-cxx11 destructor : pre_error ]
109;
110
111test-suite public_function :
112    [ boost_contract_build.subdir-run-cxx11 public_function : smoke ]
113
114    [ boost_contract_build.subdir-run-cxx11 public_function : decl_pre_all ]
115    [ boost_contract_build.subdir-run-cxx11 public_function : decl_pre_ends ]
116    [ boost_contract_build.subdir-run-cxx11 public_function : decl_pre_mid ]
117    [ boost_contract_build.subdir-run-cxx11 public_function : decl_pre_none ]
118
119    [ boost_contract_build.subdir-run-cxx11 public_function : decl_post_all ]
120    [ boost_contract_build.subdir-run-cxx11 public_function : decl_post_ends ]
121    [ boost_contract_build.subdir-run-cxx11 public_function : decl_post_mid ]
122    [ boost_contract_build.subdir-run-cxx11 public_function : decl_post_none ]
123
124    [ boost_contract_build.subdir-run-cxx11 public_function :
125            decl_entry_static_inv_all ]
126    [ boost_contract_build.subdir-run-cxx11 public_function :
127            decl_entry_static_inv_ends ]
128    [ boost_contract_build.subdir-run-cxx11 public_function :
129            decl_entry_static_inv_mid ]
130    [ boost_contract_build.subdir-run-cxx11 public_function :
131            decl_entry_static_inv_none ]
132
133    [ boost_contract_build.subdir-run-cxx11 public_function :
134            decl_exit_static_inv_all ]
135    [ boost_contract_build.subdir-run-cxx11 public_function :
136            decl_exit_static_inv_ends ]
137    [ boost_contract_build.subdir-run-cxx11 public_function :
138            decl_exit_static_inv_mid ]
139    [ boost_contract_build.subdir-run-cxx11 public_function :
140            decl_exit_static_inv_none ]
141
142    [ boost_contract_build.subdir-run-cxx11 public_function :
143            decl_entry_inv_all ]
144    [ boost_contract_build.subdir-run-cxx11 public_function :
145            decl_entry_inv_ends ]
146    [ boost_contract_build.subdir-run-cxx11 public_function :
147            decl_entry_inv_mid ]
148    [ boost_contract_build.subdir-run-cxx11 public_function :
149            decl_entry_inv_none ]
150
151    [ boost_contract_build.subdir-run-cxx11 public_function :
152            decl_exit_inv_all ]
153    [ boost_contract_build.subdir-run-cxx11 public_function :
154            decl_exit_inv_ends ]
155    [ boost_contract_build.subdir-run-cxx11 public_function :
156            decl_exit_inv_mid ]
157    [ boost_contract_build.subdir-run-cxx11 public_function :
158            decl_exit_inv_none ]
159
160    [ boost_contract_build.subdir-run-cxx11 public_function : access ]
161
162    [ boost_contract_build.subdir-run-cxx11 public_function : ifdef ]
163    [ boost_contract_build.subdir-run-cxx11 public_function : ifdef_macro ]
164
165    [ boost_contract_build.subdir-run-cxx11 public_function : virtual ]
166    [ boost_contract_build.subdir-run-cxx11 public_function : virtual_branch ]
167    [ boost_contract_build.subdir-run-cxx11 public_function : virtual_sparse ]
168    [ boost_contract_build.subdir-run-cxx11 public_function : virtual_access ]
169    [ boost_contract_build.subdir-run-cxx11 public_function :
170            virtual_access_multi ]
171    [ boost_contract_build.subdir-run-cxx11 public_function : old_virtual ]
172
173    [ boost_contract_build.subdir-run-cxx11 public_function : protected ]
174    [ boost_contract_build.subdir-compile-fail public_function :
175            protected_error ]
176    [ boost_contract_build.subdir-run-cxx11 public_function : friend ]
177
178    [ boost_contract_build.subdir-run-cxx11 public_function : throwing_pre ]
179    [ boost_contract_build.subdir-run-cxx11 public_function : throwing_old ]
180    [ boost_contract_build.subdir-run-cxx11 public_function : throwing_body ]
181    [ boost_contract_build.subdir-run-cxx11 public_function :
182            throwing_body_virtual ]
183    [ boost_contract_build.subdir-run-cxx11 public_function :
184            throwing_body_virtual_branch ]
185    [ boost_contract_build.subdir-run-cxx11 public_function : throwing_post ]
186    # No throwing_except test (as throwing twice calls terminate).
187
188    [ boost_contract_build.subdir-run-cxx11 public_function : max_args0 :
189            <define>BOOST_CONTRACT_MAX_ARGS=0 ]
190    [ boost_contract_build.subdir-run-cxx11 public_function : max_args0_no_tva :
191        <define>BOOST_CONTRACT_MAX_ARGS=0
192        <define>BOOST_NO_CXX11_VARIADIC_TEMPLATES
193    ]
194    [ boost_contract_build.subdir-run-cxx11 public_function : max_args1 :
195            <define>BOOST_CONTRACT_MAX_ARGS=1 ]
196    [ boost_contract_build.subdir-run-cxx11 public_function : max_args1_no_tva :
197        <define>BOOST_CONTRACT_MAX_ARGS=1
198        <define>BOOST_NO_CXX11_VARIADIC_TEMPLATES
199    ]
200    [ boost_contract_build.subdir-run-cxx11 public_function : max_args2 :
201        <define>BOOST_CONTRACT_MAX_ARGS=2 ]
202    [ boost_contract_build.subdir-run-cxx11 public_function : max_args2_no_tva :
203        <define>BOOST_CONTRACT_MAX_ARGS=2
204        <define>BOOST_NO_CXX11_VARIADIC_TEMPLATES
205    ]
206    [ boost_contract_build.subdir-run-cxx11 public_function : max_args ]
207    [ boost_contract_build.subdir-run-cxx11 public_function : max_args_no_tva :
208            <define>BOOST_NO_CXX11_VARIADIC_TEMPLATES ]
209
210    [ boost_contract_build.subdir-run-cxx11 public_function :
211            max_bases ] # C++11 for BASES(...) variadic macros.
212
213    [ boost_contract_build.subdir-run-cxx11 public_function : overload ]
214    [ boost_contract_build.subdir-run-cxx11 public_function : overload_no_tva :
215            <define>BOOST_NO_CXX11_VARIADIC_TEMPLATES ]
216
217    [ boost_contract_build.subdir-compile-fail-cxx11 public_function :
218            override_error ] # C++11 for BASES(...) variadic macros.
219    [ boost_contract_build.subdir-run-cxx11 public_function : # C++11 for BASES.
220            override_permissive : <define>BOOST_CONTRACT_PERMISSIVE ]
221
222    [ boost_contract_build.subdir-run-cxx11 public_function : static ]
223    [ boost_contract_build.subdir-run-cxx11 public_function : static_ifdef ]
224    [ boost_contract_build.subdir-run-cxx11 public_function :
225            static_ifdef_macro ]
226    [ boost_contract_build.subdir-run-cxx11 public_function :
227            static_throwing_pre ]
228    [ boost_contract_build.subdir-run-cxx11 public_function :
229            static_throwing_old ]
230    [ boost_contract_build.subdir-run-cxx11 public_function :
231            static_throwing_body ]
232    [ boost_contract_build.subdir-run-cxx11 public_function :
233            static_throwing_post ]
234    # No throwing_except test (as throwing twice calls terminate).
235;
236
237test-suite invariant :
238    [ boost_contract_build.subdir-run-cxx11 invariant : decl_static_cv_const ]
239    [ boost_contract_build.subdir-run-cxx11 invariant : decl_static_cv ]
240    [ boost_contract_build.subdir-run-cxx11 invariant : decl_cv_const ]
241    [ boost_contract_build.subdir-run-cxx11 invariant : decl_static_const ]
242    [ boost_contract_build.subdir-run-cxx11 invariant : decl_static ]
243    [ boost_contract_build.subdir-run-cxx11 invariant : decl_cv ]
244    [ boost_contract_build.subdir-run-cxx11 invariant : decl_const ]
245    [ boost_contract_build.subdir-run-cxx11 invariant : decl_nothing ]
246
247    [ boost_contract_build.subdir-run invariant : ifdef ]
248    [ boost_contract_build.subdir-run-cxx11 invariant : ifdef_macro ]
249
250    [ boost_contract_build.subdir-compile-fail invariant :
251            static_mutable_error ]
252    [ boost_contract_build.subdir-run invariant : static_mutable_permissive :
253            <define>BOOST_CONTRACT_PERMISSIVE ]
254    [ boost_contract_build.subdir-compile-fail invariant : static_const_error ]
255    [ boost_contract_build.subdir-run invariant : static_const_permissive :
256            <define>BOOST_CONTRACT_PERMISSIVE ]
257    [ boost_contract_build.subdir-compile-fail invariant :
258            static_volatile_error ]
259    [ boost_contract_build.subdir-run invariant : static_volatile_permissive :
260            <define>BOOST_CONTRACT_PERMISSIVE ]
261    [ boost_contract_build.subdir-compile-fail invariant : static_cv_error ]
262    [ boost_contract_build.subdir-run invariant : static_cv_permissive :
263            <define>BOOST_CONTRACT_PERMISSIVE ]
264
265    [ boost_contract_build.subdir-compile-fail invariant : static_error ]
266    [ boost_contract_build.subdir-run invariant : static_permissive :
267            <define>BOOST_CONTRACT_PERMISSIVE ]
268    [ boost_contract_build.subdir-compile-fail invariant : mutable_error ]
269    [ boost_contract_build.subdir-run invariant : mutable_permissive :
270            <define>BOOST_CONTRACT_PERMISSIVE ]
271    [ boost_contract_build.subdir-compile-fail invariant : volatile_error ]
272    [ boost_contract_build.subdir-run invariant : volatile_permissive :
273            <define>BOOST_CONTRACT_PERMISSIVE ]
274;
275
276test-suite function :
277    [ boost_contract_build.subdir-run-cxx11 function : smoke ]
278
279    [ boost_contract_build.subdir-run-cxx11 function : decl_pre_all ]
280    [ boost_contract_build.subdir-run-cxx11 function : decl_pre_none ]
281
282    [ boost_contract_build.subdir-run-cxx11 function : decl_post_all ]
283    [ boost_contract_build.subdir-run-cxx11 function : decl_post_none ]
284
285    [ boost_contract_build.subdir-run-cxx11 function : ifdef ]
286    [ boost_contract_build.subdir-run-cxx11 function : ifdef_macro ]
287
288    [ boost_contract_build.subdir-run-cxx11 function : throwing_pre ]
289    [ boost_contract_build.subdir-run-cxx11 function : throwing_old ]
290    [ boost_contract_build.subdir-run-cxx11 function : throwing_body ]
291    [ boost_contract_build.subdir-run-cxx11 function : throwing_post ]
292    # No throwing_except test (as throwing twice calls terminate).
293;
294
295test-suite check :
296    [ boost_contract_build.subdir-run-cxx11 check : decl_class ]
297    [ boost_contract_build.subdir-run-cxx11 check : decl_macro ]
298
299    [ boost_contract_build.subdir-run-cxx11 check : ifdef ]
300    [ boost_contract_build.subdir-run-cxx11 check : ifdef_macro ]
301
302    [ boost_contract_build.subdir-run-cxx11 check : audit :
303            <define>BOOST_CONTRACT_AUDITS ]
304    [ boost_contract_build.subdir-compile-fail-cxx11 check : audit_error ]
305    [ boost_contract_build.subdir-run-cxx11 check : audit_disabled ]
306    [ boost_contract_build.subdir-compile-fail-cxx11 check :
307            audit_disabled_error ]
308    [ boost_contract_build.subdir-run check : axiom ]
309    [ boost_contract_build.subdir-compile-fail check : axiom_error ]
310;
311
312test-suite result :
313    [ boost_contract_build.subdir-run-cxx11 result : mixed_optional ]
314    [ boost_contract_build.subdir-run-cxx11 result : mixed_optional_ref ]
315
316    [ boost_contract_build.subdir-compile-fail-cxx11 result :
317            type_mismatch_error ] # C++11 for BASES(...) variadic macros.
318;
319
320test-suite old :
321    [ boost_contract_build.subdir-run old : auto :
322            [ requires cxx11_auto_declarations ] ]
323
324    [ boost_contract_build.subdir-run-cxx11 old : no_macro ]
325    [ boost_contract_build.subdir-run-cxx11 old : no_macro_if_copyable ]
326
327    [ boost_contract_build.subdir-compile-fail old : no_make_old_error ]
328    [ boost_contract_build.subdir-compile-fail old :
329            no_make_old_if_copyable_error ]
330
331    [ boost_contract_build.subdir-run-cxx11 old : if_copyable ]
332    [ boost_contract_build.subdir-compile-fail-cxx11 old : if_copyable_error ]
333    [ boost_contract_build.subdir-run-cxx11 old : if_copyable_macro ]
334
335    [ boost_contract_build.subdir-run old : copyable_traits ]
336;
337
338test-suite disable :
339    [ boost_contract_build.subdir-run-cxx11 disable : nothing_for_pre_prog :
340            <define>BOOST_CONTRACT_PRECONDITIONS_DISABLE_NO_ASSERTION ]
341    [ boost_contract_build.subdir-run-cxx11 disable : other_assertions_prog ]
342
343    [ boost_contract_build.subdir-lib-cxx11 disable : lib_a :
344            <link>shared:<define>BOOST_CONTRACT_TEST_LIB_A_DYN_LINK ]
345    [ boost_contract_build.subdir-lib-cxx11 disable : lib_b :
346        <library>disable-lib_a
347        <link>shared:<define>BOOST_CONTRACT_TEST_LIB_B_DYN_LINK
348    ]
349    [ boost_contract_build.subdir-run-cxx11 disable : other_assertions_lib :
350            <library>disable-lib_a <library>disable-lib_b ]
351
352    [ boost_contract_build.subdir-run-cxx11 disable : other_assertions_unit
353            disable/lib_a.cpp disable/lib_b.cpp ]
354
355    [ boost_contract_build.subdir-lib-cxx11 disable : lib_x :
356        <define>BOOST_CONTRACT_NO_POSTCONDITIONS
357        <define>BOOST_CONTRACT_NO_EXCEPTS
358        <link>shared:<define>BOOST_CONTRACT_TEST_LIB_X_DYN_LINK
359    ]
360    [ boost_contract_build.subdir-lib-cxx11 disable : lib_y :
361        <library>disable-lib_x
362        <define>BOOST_CONTRACT_NO_POSTCONDITIONS
363        <define>BOOST_CONTRACT_NO_EXCEPTS
364        <link>shared:<define>BOOST_CONTRACT_TEST_LIB_Y_DYN_LINK
365    ]
366    [ boost_contract_build.subdir-run-cxx11 disable : no_post_except_lib :
367            <library>disable-lib_x <library>disable-lib_y ]
368
369    [ boost_contract_build.subdir-run-cxx11 disable : no_post_except_unit
370            disable/lib_x.cpp disable/lib_y.cpp :
371        <define>BOOST_CONTRACT_NO_POSTCONDITIONS
372        <define>BOOST_CONTRACT_NO_EXCEPTS
373    ]
374
375    [ boost_contract_build.subdir-run disable : audit :
376            <define>BOOST_CONTRACT_AUDITS ]
377    [ boost_contract_build.subdir-compile-fail disable : audit_error ]
378    [ boost_contract_build.subdir-run disable : audit_disabled ]
379    [ boost_contract_build.subdir-compile-fail disable : audit_disabled_error ]
380    [ boost_contract_build.subdir-run disable : axiom ]
381    [ boost_contract_build.subdir-compile-fail disable : axiom_error ]
382;
383
384test-suite specify :
385    [ boost_contract_build.subdir-run-cxx11 specify : pre_old_post_except ]
386
387    [ boost_contract_build.subdir-run-cxx11 specify : pre_old_post ]
388    [ boost_contract_build.subdir-run-cxx11 specify : pre_old_except ]
389    [ boost_contract_build.subdir-run-cxx11 specify : pre_post_except ]
390    [ boost_contract_build.subdir-run-cxx11 specify : old_post_except ]
391
392    [ boost_contract_build.subdir-run-cxx11 specify : pre_old ]
393    [ boost_contract_build.subdir-run-cxx11 specify : pre_post ]
394    [ boost_contract_build.subdir-run-cxx11 specify : pre_except ]
395    [ boost_contract_build.subdir-run-cxx11 specify : old_post ]
396    [ boost_contract_build.subdir-run-cxx11 specify : old_except ]
397    [ boost_contract_build.subdir-run-cxx11 specify : post_except ]
398
399    [ boost_contract_build.subdir-run-cxx11 specify : pre ]
400    [ boost_contract_build.subdir-run-cxx11 specify : old ]
401    [ boost_contract_build.subdir-run-cxx11 specify : post ]
402    [ boost_contract_build.subdir-run-cxx11 specify : except ]
403
404    [ boost_contract_build.subdir-run specify : nothing ]
405
406    [ boost_contract_build.subdir-compile-fail-cxx11 specify :
407            except_post_error ]
408    [ boost_contract_build.subdir-compile-fail-cxx11 specify :
409            except_old_error ]
410    [ boost_contract_build.subdir-compile-fail-cxx11 specify :
411            except_pre_error ]
412    [ boost_contract_build.subdir-compile-fail-cxx11 specify : post_old_error ]
413    [ boost_contract_build.subdir-compile-fail-cxx11 specify : post_pre_error ]
414    [ boost_contract_build.subdir-compile-fail-cxx11 specify : old_pre_error ]
415
416    [ boost_contract_build.subdir-run-cxx11 specify : missing_check :
417        <define>BOOST_CONTRACT_ON_MISSING_CHECK_DECL=\"\{\ throw\ err()\;\ \}\"
418    ]
419
420    [ boost_contract_build.subdir-compile-fail specify : auto_error :
421            [ requires cxx11_auto_declarations ] ]
422    [ boost_contract_build.subdir-compile-fail-cxx11 specify : auto_pre_error :
423            [ requires cxx11_auto_declarations ] ]
424    [ boost_contract_build.subdir-compile-fail-cxx11 specify :
425            auto_pre_old_error : [ requires cxx11_auto_declarations ] ]
426    [ boost_contract_build.subdir-compile-fail-cxx11 specify :
427            auto_pre_old_post_error : [ requires cxx11_auto_declarations ] ]
428    [ boost_contract_build.subdir-compile-fail-cxx11 specify
429        : auto_pre_old_post_except_error
430        : [ requires cxx11_auto_declarations ]
431    ]
432;
433
434test-suite call_if :
435    [ boost_contract_build.subdir-run-cxx11 call_if : true_ ]
436    [ boost_contract_build.subdir-run-cxx11 call_if : false_ ]
437
438    [ boost_contract_build.subdir-run-cxx11 call_if : true_void ]
439    [ boost_contract_build.subdir-run-cxx11 call_if : false_void ]
440
441    [ boost_contract_build.subdir-run-cxx11 call_if : equal_to ]
442    [ boost_contract_build.subdir-run-cxx11 call_if : equal_to_cxx14 :
443            [ requires cxx14_generic_lambdas ] ]
444
445    [ boost_contract_build.subdir-run-cxx11 call_if : no_equal_condition_if ]
446    [ boost_contract_build.subdir-run-cxx11 call_if : no_equal_call_if ]
447    [ boost_contract_build.subdir-compile-fail-cxx11 call_if : no_equal_error ]
448;
449
450