@@ -9,20 +9,24 @@ use crate::{Build, Config, Flags};
99fn test_cc2ar_env_specific ( ) {
1010 let triple = "x86_64-unknown-linux-gnu" ;
1111 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" ) } ;
1314 let target = TargetSelection :: from_user ( triple) ;
1415 let cc = Path :: new ( "/usr/bin/clang" ) ;
1516 let default_ar = PathBuf :: from ( "default-ar" ) ;
1617 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) } ;
1820 assert_eq ! ( result, Some ( PathBuf :: from( "custom-ar" ) ) ) ;
1921}
2022
2123#[ test]
2224fn test_cc2ar_musl ( ) {
2325 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" ) } ;
2630 let target = TargetSelection :: from_user ( triple) ;
2731 let cc = Path :: new ( "/usr/bin/clang" ) ;
2832 let default_ar = PathBuf :: from ( "default-ar" ) ;
@@ -33,8 +37,10 @@ fn test_cc2ar_musl() {
3337#[ test]
3438fn test_cc2ar_openbsd ( ) {
3539 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" ) } ;
3844 let target = TargetSelection :: from_user ( triple) ;
3945 let cc = Path :: new ( "/usr/bin/cc" ) ;
4046 let default_ar = PathBuf :: from ( "default-ar" ) ;
@@ -45,8 +51,10 @@ fn test_cc2ar_openbsd() {
4551#[ test]
4652fn test_cc2ar_vxworks ( ) {
4753 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" ) } ;
5058 let target = TargetSelection :: from_user ( triple) ;
5159 let cc = Path :: new ( "/usr/bin/clang" ) ;
5260 let default_ar = PathBuf :: from ( "default-ar" ) ;
@@ -57,8 +65,10 @@ fn test_cc2ar_vxworks() {
5765#[ test]
5866fn test_cc2ar_nto_i586 ( ) {
5967 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" ) } ;
6272 let target = TargetSelection :: from_user ( triple) ;
6373 let cc = Path :: new ( "/usr/bin/clang" ) ;
6474 let default_ar = PathBuf :: from ( "default-ar" ) ;
@@ -69,8 +79,10 @@ fn test_cc2ar_nto_i586() {
6979#[ test]
7080fn test_cc2ar_nto_aarch64 ( ) {
7181 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" ) } ;
7486 let target = TargetSelection :: from_user ( triple) ;
7587 let cc = Path :: new ( "/usr/bin/clang" ) ;
7688 let default_ar = PathBuf :: from ( "default-ar" ) ;
@@ -81,8 +93,10 @@ fn test_cc2ar_nto_aarch64() {
8193#[ test]
8294fn test_cc2ar_nto_x86_64 ( ) {
8395 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" ) } ;
86100 let target = TargetSelection :: from_user ( triple) ;
87101 let cc = Path :: new ( "/usr/bin/clang" ) ;
88102 let default_ar = PathBuf :: from ( "default-ar" ) ;
@@ -94,8 +108,10 @@ fn test_cc2ar_nto_x86_64() {
94108#[ should_panic( expected = "Unknown architecture, cannot determine archiver for Neutrino QNX" ) ]
95109fn test_cc2ar_nto_unknown ( ) {
96110 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" ) } ;
99115 let target = TargetSelection :: from_user ( triple) ;
100116 let cc = Path :: new ( "/usr/bin/clang" ) ;
101117 let default_ar = PathBuf :: from ( "default-ar" ) ;
@@ -177,7 +193,8 @@ fn test_default_compiler_wasi() {
177193 let build = Build :: new ( Config { ..Config :: parse ( Flags :: parse ( & [ "check" . to_owned ( ) ] ) ) } ) ;
178194 let target = TargetSelection :: from_user ( "wasm32-wasi" ) ;
179195 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) } ;
181198 let mut cfg = cc:: Build :: new ( ) ;
182199 if let Some ( result) = default_compiler ( & mut cfg, Language :: C , target. clone ( ) , & build) {
183200 let expected = {
@@ -190,7 +207,10 @@ fn test_default_compiler_wasi() {
190207 "default_compiler should return a compiler path for wasi target when WASI_SDK_PATH is set"
191208 ) ;
192209 }
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+ }
194214}
195215
196216#[ test]
0 commit comments