Auto merge of #137612 - Kobzol:bootstrap-2024, r=onur-ozkan · rust-lang/rust@0998d40 (original) (raw)

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

`