@@ -2,8 +2,18 @@ use crate::support::Test;
2
2
3
3
mod support;
4
4
5
+ // Some tests check that a flag is *not* present. These tests might fail if the flag is set in the
6
+ // CFLAGS or CXXFLAGS environment variables. This function clears the CFLAGS and CXXFLAGS
7
+ // variables to make sure that the tests can run correctly.
8
+ fn reset_env ( ) {
9
+ std:: env:: set_var ( "CFLAGS" , "" ) ;
10
+ std:: env:: set_var ( "CXXFLAGS" , "" ) ;
11
+ }
12
+
5
13
#[ test]
6
14
fn gnu_smoke ( ) {
15
+ reset_env ( ) ;
16
+
7
17
let test = Test :: gnu ( ) ;
8
18
test. gcc ( ) . file ( "foo.c" ) . compile ( "foo" ) ;
9
19
@@ -19,6 +29,8 @@ fn gnu_smoke() {
19
29
20
30
#[ test]
21
31
fn gnu_opt_level_1 ( ) {
32
+ reset_env ( ) ;
33
+
22
34
let test = Test :: gnu ( ) ;
23
35
test. gcc ( ) . opt_level ( 1 ) . file ( "foo.c" ) . compile ( "foo" ) ;
24
36
@@ -27,6 +39,8 @@ fn gnu_opt_level_1() {
27
39
28
40
#[ test]
29
41
fn gnu_opt_level_s ( ) {
42
+ reset_env ( ) ;
43
+
30
44
let test = Test :: gnu ( ) ;
31
45
test. gcc ( ) . opt_level_str ( "s" ) . file ( "foo.c" ) . compile ( "foo" ) ;
32
46
@@ -56,6 +70,8 @@ fn gnu_debug_fp() {
56
70
57
71
#[ test]
58
72
fn gnu_debug_nofp ( ) {
73
+ reset_env ( ) ;
74
+
59
75
let test = Test :: gnu ( ) ;
60
76
test. gcc ( )
61
77
. debug ( true )
@@ -100,6 +116,8 @@ fn gnu_warnings() {
100
116
101
117
#[ test]
102
118
fn gnu_extra_warnings0 ( ) {
119
+ reset_env ( ) ;
120
+
103
121
let test = Test :: gnu ( ) ;
104
122
test. gcc ( )
105
123
. warnings ( true )
@@ -113,6 +131,8 @@ fn gnu_extra_warnings0() {
113
131
114
132
#[ test]
115
133
fn gnu_extra_warnings1 ( ) {
134
+ reset_env ( ) ;
135
+
116
136
let test = Test :: gnu ( ) ;
117
137
test. gcc ( )
118
138
. warnings ( false )
@@ -126,6 +146,8 @@ fn gnu_extra_warnings1() {
126
146
127
147
#[ test]
128
148
fn gnu_warnings_overridable ( ) {
149
+ reset_env ( ) ;
150
+
129
151
let test = Test :: gnu ( ) ;
130
152
test. gcc ( )
131
153
. warnings ( true )
@@ -154,6 +176,8 @@ fn gnu_x86_64() {
154
176
155
177
#[ test]
156
178
fn gnu_x86_64_no_pic ( ) {
179
+ reset_env ( ) ;
180
+
157
181
for vendor in & [ "unknown-linux-gnu" , "apple-darwin" ] {
158
182
let target = format ! ( "x86_64-{}" , vendor) ;
159
183
let test = Test :: gnu ( ) ;
@@ -215,6 +239,8 @@ fn gnu_x86_64_no_plt() {
215
239
216
240
#[ test]
217
241
fn gnu_set_stdlib ( ) {
242
+ reset_env ( ) ;
243
+
218
244
let test = Test :: gnu ( ) ;
219
245
test. gcc ( )
220
246
. cpp_set_stdlib ( Some ( "foo" ) )
@@ -253,6 +279,8 @@ fn gnu_compile_assembly() {
253
279
254
280
#[ test]
255
281
fn gnu_shared ( ) {
282
+ reset_env ( ) ;
283
+
256
284
let test = Test :: gnu ( ) ;
257
285
test. gcc ( )
258
286
. file ( "foo.c" )
@@ -265,6 +293,8 @@ fn gnu_shared() {
265
293
266
294
#[ test]
267
295
fn gnu_flag_if_supported ( ) {
296
+ reset_env ( ) ;
297
+
268
298
if cfg ! ( windows) {
269
299
return ;
270
300
}
@@ -301,6 +331,8 @@ fn gnu_flag_if_supported_cpp() {
301
331
302
332
#[ test]
303
333
fn gnu_static ( ) {
334
+ reset_env ( ) ;
335
+
304
336
let test = Test :: gnu ( ) ;
305
337
test. gcc ( )
306
338
. file ( "foo.c" )
@@ -313,6 +345,8 @@ fn gnu_static() {
313
345
314
346
#[ test]
315
347
fn msvc_smoke ( ) {
348
+ reset_env ( ) ;
349
+
316
350
let test = Test :: msvc ( ) ;
317
351
test. gcc ( ) . file ( "foo.c" ) . compile ( "foo" ) ;
318
352
@@ -327,6 +361,8 @@ fn msvc_smoke() {
327
361
328
362
#[ test]
329
363
fn msvc_opt_level_0 ( ) {
364
+ reset_env ( ) ;
365
+
330
366
let test = Test :: msvc ( ) ;
331
367
test. gcc ( ) . opt_level ( 0 ) . file ( "foo.c" ) . compile ( "foo" ) ;
332
368
0 commit comments