@@ -9,20 +9,24 @@ use crate::{Build, Config, Flags};
9
9
fn test_cc2ar_env_specific ( ) {
10
10
let triple = "x86_64-unknown-linux-gnu" ;
11
11
let key = "AR_x86_64_unknown_linux_gnu" ;
12
- env:: set_var ( key, "custom-ar" ) ;
12
+ // SAFETY: bootstrap tests run on a single thread
13
+ unsafe { env:: set_var ( key, "custom-ar" ) } ;
13
14
let target = TargetSelection :: from_user ( triple) ;
14
15
let cc = Path :: new ( "/usr/bin/clang" ) ;
15
16
let default_ar = PathBuf :: from ( "default-ar" ) ;
16
17
let result = cc2ar ( cc, target, default_ar) ;
17
- env:: remove_var ( key) ;
18
+ // SAFETY: bootstrap tests run on a single thread
19
+ unsafe { env:: remove_var ( key) } ;
18
20
assert_eq ! ( result, Some ( PathBuf :: from( "custom-ar" ) ) ) ;
19
21
}
20
22
21
23
#[ test]
22
24
fn test_cc2ar_musl ( ) {
23
25
let triple = "x86_64-unknown-linux-musl" ;
24
- env:: remove_var ( "AR_x86_64_unknown_linux_musl" ) ;
25
- env:: remove_var ( "AR" ) ;
26
+ // SAFETY: bootstrap tests run on a single thread
27
+ unsafe { env:: remove_var ( "AR_x86_64_unknown_linux_musl" ) } ;
28
+ // SAFETY: bootstrap tests run on a single thread
29
+ unsafe { env:: remove_var ( "AR" ) } ;
26
30
let target = TargetSelection :: from_user ( triple) ;
27
31
let cc = Path :: new ( "/usr/bin/clang" ) ;
28
32
let default_ar = PathBuf :: from ( "default-ar" ) ;
@@ -33,8 +37,10 @@ fn test_cc2ar_musl() {
33
37
#[ test]
34
38
fn test_cc2ar_openbsd ( ) {
35
39
let triple = "x86_64-unknown-openbsd" ;
36
- env:: remove_var ( "AR_x86_64_unknown_openbsd" ) ;
37
- env:: remove_var ( "AR" ) ;
40
+ // SAFETY: bootstrap tests run on a single thread
41
+ unsafe { env:: remove_var ( "AR_x86_64_unknown_openbsd" ) } ;
42
+ // SAFETY: bootstrap tests run on a single thread
43
+ unsafe { env:: remove_var ( "AR" ) } ;
38
44
let target = TargetSelection :: from_user ( triple) ;
39
45
let cc = Path :: new ( "/usr/bin/cc" ) ;
40
46
let default_ar = PathBuf :: from ( "default-ar" ) ;
@@ -45,8 +51,10 @@ fn test_cc2ar_openbsd() {
45
51
#[ test]
46
52
fn test_cc2ar_vxworks ( ) {
47
53
let triple = "armv7-wrs-vxworks" ;
48
- env:: remove_var ( "AR_armv7_wrs_vxworks" ) ;
49
- env:: remove_var ( "AR" ) ;
54
+ // SAFETY: bootstrap tests run on a single thread
55
+ unsafe { env:: remove_var ( "AR_armv7_wrs_vxworks" ) } ;
56
+ // SAFETY: bootstrap tests run on a single thread
57
+ unsafe { env:: remove_var ( "AR" ) } ;
50
58
let target = TargetSelection :: from_user ( triple) ;
51
59
let cc = Path :: new ( "/usr/bin/clang" ) ;
52
60
let default_ar = PathBuf :: from ( "default-ar" ) ;
@@ -57,8 +65,10 @@ fn test_cc2ar_vxworks() {
57
65
#[ test]
58
66
fn test_cc2ar_nto_i586 ( ) {
59
67
let triple = "i586-unknown-nto-something" ;
60
- env:: remove_var ( "AR_i586_unknown_nto_something" ) ;
61
- env:: remove_var ( "AR" ) ;
68
+ // SAFETY: bootstrap tests run on a single thread
69
+ unsafe { env:: remove_var ( "AR_i586_unknown_nto_something" ) } ;
70
+ // SAFETY: bootstrap tests run on a single thread
71
+ unsafe { env:: remove_var ( "AR" ) } ;
62
72
let target = TargetSelection :: from_user ( triple) ;
63
73
let cc = Path :: new ( "/usr/bin/clang" ) ;
64
74
let default_ar = PathBuf :: from ( "default-ar" ) ;
@@ -69,8 +79,10 @@ fn test_cc2ar_nto_i586() {
69
79
#[ test]
70
80
fn test_cc2ar_nto_aarch64 ( ) {
71
81
let triple = "aarch64-unknown-nto-something" ;
72
- env:: remove_var ( "AR_aarch64_unknown_nto_something" ) ;
73
- env:: remove_var ( "AR" ) ;
82
+ // SAFETY: bootstrap tests run on a single thread
83
+ unsafe { env:: remove_var ( "AR_aarch64_unknown_nto_something" ) } ;
84
+ // SAFETY: bootstrap tests run on a single thread
85
+ unsafe { env:: remove_var ( "AR" ) } ;
74
86
let target = TargetSelection :: from_user ( triple) ;
75
87
let cc = Path :: new ( "/usr/bin/clang" ) ;
76
88
let default_ar = PathBuf :: from ( "default-ar" ) ;
@@ -81,8 +93,10 @@ fn test_cc2ar_nto_aarch64() {
81
93
#[ test]
82
94
fn test_cc2ar_nto_x86_64 ( ) {
83
95
let triple = "x86_64-unknown-nto-something" ;
84
- env:: remove_var ( "AR_x86_64_unknown_nto_something" ) ;
85
- env:: remove_var ( "AR" ) ;
96
+ // SAFETY: bootstrap tests run on a single thread
97
+ unsafe { env:: remove_var ( "AR_x86_64_unknown_nto_something" ) } ;
98
+ // SAFETY: bootstrap tests run on a single thread
99
+ unsafe { env:: remove_var ( "AR" ) } ;
86
100
let target = TargetSelection :: from_user ( triple) ;
87
101
let cc = Path :: new ( "/usr/bin/clang" ) ;
88
102
let default_ar = PathBuf :: from ( "default-ar" ) ;
@@ -94,8 +108,10 @@ fn test_cc2ar_nto_x86_64() {
94
108
#[ should_panic( expected = "Unknown architecture, cannot determine archiver for Neutrino QNX" ) ]
95
109
fn test_cc2ar_nto_unknown ( ) {
96
110
let triple = "powerpc-unknown-nto-something" ;
97
- env:: remove_var ( "AR_powerpc_unknown_nto_something" ) ;
98
- env:: remove_var ( "AR" ) ;
111
+ // SAFETY: bootstrap tests run on a single thread
112
+ unsafe { env:: remove_var ( "AR_powerpc_unknown_nto_something" ) } ;
113
+ // SAFETY: bootstrap tests run on a single thread
114
+ unsafe { env:: remove_var ( "AR" ) } ;
99
115
let target = TargetSelection :: from_user ( triple) ;
100
116
let cc = Path :: new ( "/usr/bin/clang" ) ;
101
117
let default_ar = PathBuf :: from ( "default-ar" ) ;
@@ -177,7 +193,8 @@ fn test_default_compiler_wasi() {
177
193
let build = Build :: new ( Config { ..Config :: parse ( Flags :: parse ( & [ "check" . to_owned ( ) ] ) ) } ) ;
178
194
let target = TargetSelection :: from_user ( "wasm32-wasi" ) ;
179
195
let wasi_sdk = PathBuf :: from ( "/wasi-sdk" ) ;
180
- env:: set_var ( "WASI_SDK_PATH" , & wasi_sdk) ;
196
+ // SAFETY: bootstrap tests run on a single thread
197
+ unsafe { env:: set_var ( "WASI_SDK_PATH" , & wasi_sdk) } ;
181
198
let mut cfg = cc:: Build :: new ( ) ;
182
199
if let Some ( result) = default_compiler ( & mut cfg, Language :: C , target. clone ( ) , & build) {
183
200
let expected = {
@@ -190,7 +207,10 @@ fn test_default_compiler_wasi() {
190
207
"default_compiler should return a compiler path for wasi target when WASI_SDK_PATH is set"
191
208
) ;
192
209
}
193
- env:: remove_var ( "WASI_SDK_PATH" ) ;
210
+ // SAFETY: bootstrap tests run on a single thread
211
+ unsafe {
212
+ env:: remove_var ( "WASI_SDK_PATH" ) ;
213
+ }
194
214
}
195
215
196
216
#[ test]
0 commit comments