@@ -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