]> git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/filesystem/test/Jamfile.v2
import quincy beta 17.1.0
[ceph.git] / ceph / src / boost / libs / filesystem / test / Jamfile.v2
1 # Boost Filesystem Library test Jamfile
2
3 # (C) Copyright Beman Dawes 2002-2006
4 # (C) Copyright Andrey Semashev 2020
5 # Distributed under the Boost Software License, Version 1.0.
6 # See www.boost.org/LICENSE_1_0.txt
7
8 import testing ;
9 import os ;
10
11 # The rule checks we're running on Windows that supports mklink command (Vista and later)
12 rule check-mklink ( properties * )
13 {
14 local result ;
15
16 if <target-os>windows in $(properties)
17 {
18 # mklink is a builtin shell command, so we can't check if an executable exists.
19 # Testing the exit status of the mklink command (in the hope that it will be different
20 # when the command is not supported) is inconclusive as for some reason Windows 8.1 shell
21 # always returns exit code of 1. We have to match the output of the command. :(
22 # Note that the output may be localized, so pick some part that is likely to be stable regardless
23 # of localization.
24 local output = [ SHELL "mklink /?" : exit-status ] ;
25 if [ MATCH (MKLINK) : $(output[1]) ]
26 {
27 result = <define>BOOST_FILESYSTEM_HAS_MKLINK ;
28 }
29 }
30
31 #ECHO Result: $(result) ;
32 return $(result) ;
33 }
34
35 project
36 : requirements
37 <library>/boost/filesystem//boost_filesystem
38 <conditional>@check-mklink
39 ;
40
41 # Some tests are run both statically and as shared libraries since Filesystem
42 # has a history of bugs that appear only in one type of build or the other.
43
44 path-constant HERE : . ;
45
46 local VIS ;
47
48 if [ os.environ UBSAN ]
49 {
50 VIS = <visibility>global
51 -<library>/boost/filesystem//boost_filesystem
52 <library>/boost/filesystem//boost_filesystem/<visibility>global ;
53 }
54
55 run config_info.cpp : : : <link>shared <test-info>always_show_run_output ;
56 run config_info.cpp : : : <link>static <test-info>always_show_run_output : config_info_static ;
57 run convenience_test.cpp ;
58 compile macro_default_test.cpp ;
59 run odr1_test.cpp odr2_test.cpp ;
60 run deprecated_test.cpp ;
61 run fstream_test.cpp : : : $(VIS) ;
62 run large_file_support_test.cpp ;
63 run locale_info.cpp : : : <test-info>always_show_run_output ;
64 run operations_test.cpp : : : <link>shared <test-info>always_show_run_output ;
65 run operations_test.cpp : : : <link>static : operations_test_static ;
66 run operations_unit_test.cpp : $(HERE) : : <link>shared <test-info>always_show_run_output ;
67 run copy_test.cpp ;
68 run path_test.cpp : : : <link>shared ;
69 run path_test.cpp : : : <link>static : path_test_static ;
70 run path_unit_test.cpp : : : <link>shared $(VIS) ;
71 run path_unit_test.cpp : : : <link>static $(VIS) : path_unit_test_static ;
72 run relative_test.cpp ;
73 run ../example/simple_ls.cpp ;
74 run ../example/file_status.cpp ;
75 run foreach_test.cpp ;
76
77 # `quick` target (for CI)
78 run quick.cpp ;
79
80 # Tests for specific issues
81 run issues/70-71-copy.cpp ;
82
83 run issues/99_canonical_with_junction_point.cpp ;
84 run issues/reparse_tag_file_placeholder.cpp ;