1# Boost System Library test Jamfile
2
3# Copyright Beman Dawes 2003, 2006
4# Copyright 2017-2019 Peter Dimov
5
6# Distributed under the Boost Software License, Version 1.0.
7# See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt
8
9# See library home page at http://www.boost.org/libs/system
10
11import testing ;
12
13rule system-run ( sources + )
14{
15    local result ;
16
17    result += [ run $(sources) ] ;
18    result += [ run $(sources) : : : <library>/boost/system//boost_system <link>static : $(sources[1]:B)_static ] ;
19    result += [ run $(sources) : : : <library>/boost/system//boost_system <link>shared : $(sources[1]:B)_shared ] ;
20    result += [ run $(sources) : : : <define>BOOST_NO_ANSI_APIS : $(sources[1]:B)_no_ansi ] ;
21    result += [ run $(sources) : : : <define>BOOST_SYSTEM_USE_UTF8 : $(sources[1]:B)_utf8 ] ;
22
23    return $(result) ;
24}
25
26system-run error_code_test.cpp ;
27system-run error_code_user_test.cpp ;
28system-run system_error_test.cpp ;
29
30lib throw_test : throw_test.cpp : <link>shared:<define>THROW_DYN_LINK=1 ;
31
32run dynamic_link_test.cpp throw_test : : : <link>shared : throw_test_shared ;
33
34system-run initialization_test.cpp ;
35system-run header_only_test.cpp ;
36
37run config_test.cpp : : : <test-info>always_show_run_output ;
38
39system-run std_interop_test.cpp ;
40system-run std_mismatch_test.cpp ;
41
42lib single_instance_lib1 : single_instance_1.cpp : <link>shared:<define>SINGLE_INSTANCE_DYN_LINK ;
43lib single_instance_lib2 : single_instance_2.cpp : <link>shared:<define>SINGLE_INSTANCE_DYN_LINK ;
44
45system-run single_instance_test.cpp single_instance_1.cpp single_instance_2.cpp ;
46run single_instance_test.cpp single_instance_lib1 single_instance_lib2 : : : <link>static : single_instance_lib_static ;
47run single_instance_test.cpp single_instance_lib1 single_instance_lib2 : : : <link>shared : single_instance_lib_shared ;
48
49system-run before_main_test.cpp ;
50run-fail throws_assign_fail.cpp ;
51system-run constexpr_test.cpp ;
52system-run win32_hresult_test.cpp ;
53
54system-run error_category_test.cpp ;
55system-run generic_category_test.cpp ;
56system-run system_category_test.cpp ;
57system-run after_main_test.cpp ;
58system-run failed_test.cpp ;
59system-run failed_constexpr_test.cpp ;
60
61# Quick (CI) test
62run quick.cpp ;
63
64compile warnings_test.cpp
65  : <warnings>pedantic
66    <toolset>msvc:<warnings-as-errors>on
67    <toolset>gcc:<warnings-as-errors>on
68    <toolset>clang:<warnings-as-errors>on ;
69
70lib std_single_instance_lib1 : std_single_instance_1.cpp : <link>shared:<define>STD_SINGLE_INSTANCE_DYN_LINK ;
71lib std_single_instance_lib2 : std_single_instance_2.cpp : <link>shared:<define>STD_SINGLE_INSTANCE_DYN_LINK ;
72
73system-run std_single_instance_test.cpp std_single_instance_1.cpp std_single_instance_2.cpp ;
74run std_single_instance_test.cpp std_single_instance_lib1 std_single_instance_lib2 : : : <link>static : std_single_instance_lib_static ;
75run std_single_instance_test.cpp std_single_instance_lib1 std_single_instance_lib2 : : : <link>shared <define>STD_SINGLE_INSTANCE_SHARED : std_single_instance_lib_shared ;
76
77run is_error_code_enum_test.cpp ;
78run is_error_condition_enum_test.cpp ;
79run errc_test.cpp ;
80run errc_test2.cpp ;
81run error_category_test2.cpp ;
82run error_condition_test.cpp ;
83run error_condition_test2.cpp ;
84run generic_category_test2.cpp ;
85run generic_category_test3.cpp ;
86run system_category_test2.cpp ;
87run system_category_test3.cpp ;
88
89run windows_error_test.cpp ;
90run cygwin_error_test.cpp ;
91run linux_error_test.cpp ;
92