2
2
extern crate cargotest;
3
3
extern crate hamcrest;
4
4
5
- use std:: fs:: File ;
6
- use std:: io:: prelude:: * ;
7
-
8
5
use cargotest:: support:: git;
9
6
use cargotest:: support:: registry:: Package ;
10
7
use cargotest:: support:: { execs, project, lines_match} ;
@@ -14,19 +11,6 @@ use hamcrest::assert_that;
14
11
fn oldest_lockfile_still_works ( ) {
15
12
Package :: new ( "foo" , "0.1.0" ) . publish ( ) ;
16
13
17
- let p = project ( "bar" )
18
- . file ( "Cargo.toml" , r#"
19
- [project]
20
- name = "bar"
21
- version = "0.0.1"
22
- authors = []
23
-
24
- [dependencies]
25
- foo = "0.1.0"
26
- "# )
27
- . file ( "src/lib.rs" , "" ) ;
28
- p. build ( ) ;
29
-
30
14
let lockfile = r#"
31
15
[root]
32
16
name = "bar"
@@ -40,15 +24,25 @@ name = "foo"
40
24
version = "0.1.0"
41
25
source = "registry+https://github.com/rust-lang/crates.io-index"
42
26
"# ;
43
- File :: create ( p. root ( ) . join ( "Cargo.lock" ) ) . unwrap ( )
44
- . write_all ( lockfile. as_bytes ( ) ) . unwrap ( ) ;
27
+
28
+ let p = project ( "bar" )
29
+ . file ( "Cargo.toml" , r#"
30
+ [project]
31
+ name = "bar"
32
+ version = "0.0.1"
33
+ authors = []
34
+
35
+ [dependencies]
36
+ foo = "0.1.0"
37
+ "# )
38
+ . file ( "src/lib.rs" , "" )
39
+ . file ( "Cargo.lock" , lockfile) ;
40
+ p. build ( ) ;
45
41
46
42
assert_that ( p. cargo ( "build" ) ,
47
43
execs ( ) . with_status ( 0 ) ) ;
48
44
49
- let mut lock = String :: new ( ) ;
50
- File :: open ( p. root ( ) . join ( "Cargo.lock" ) ) . unwrap ( )
51
- . read_to_string ( & mut lock) . unwrap ( ) ;
45
+ let lock = p. read_lockfile ( ) ;
52
46
assert ! ( lock. starts_with( lockfile. trim( ) ) ) ;
53
47
}
54
48
@@ -66,10 +60,8 @@ fn totally_wild_checksums_works() {
66
60
[dependencies]
67
61
foo = "0.1.0"
68
62
"# )
69
- . file ( "src/lib.rs" , "" ) ;
70
- p. build ( ) ;
71
-
72
- File :: create ( p. root ( ) . join ( "Cargo.lock" ) ) . unwrap ( ) . write_all ( br#"
63
+ . file ( "src/lib.rs" , "" )
64
+ . file ( "Cargo.lock" , r#"
73
65
[root]
74
66
name = "bar"
75
67
version = "0.0.1"
@@ -85,14 +77,14 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
85
77
[metadata]
86
78
"checksum baz 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "checksum"
87
79
"checksum foo 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "checksum"
88
- "# ) . unwrap ( ) ;
80
+ "# ) ;
81
+
82
+ p. build ( ) ;
89
83
90
84
assert_that ( p. cargo ( "build" ) ,
91
85
execs ( ) . with_status ( 0 ) ) ;
92
86
93
- let mut lock = String :: new ( ) ;
94
- File :: open ( p. root ( ) . join ( "Cargo.lock" ) ) . unwrap ( )
95
- . read_to_string ( & mut lock) . unwrap ( ) ;
87
+ let lock = p. read_lockfile ( ) ;
96
88
assert ! ( lock. starts_with( r#"
97
89
[root]
98
90
name = "bar"
@@ -124,10 +116,8 @@ fn wrong_checksum_is_an_error() {
124
116
[dependencies]
125
117
foo = "0.1.0"
126
118
"# )
127
- . file ( "src/lib.rs" , "" ) ;
128
- p. build ( ) ;
129
-
130
- t ! ( t!( File :: create( p. root( ) . join( "Cargo.lock" ) ) ) . write_all( br#"
119
+ . file ( "src/lib.rs" , "" )
120
+ . file ( "Cargo.lock" , r#"
131
121
[root]
132
122
name = "bar"
133
123
version = "0.0.1"
@@ -142,7 +132,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
142
132
143
133
[metadata]
144
134
"checksum foo 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "checksum"
145
- "# ) ) ;
135
+ "# ) ;
136
+
137
+ p. build ( ) ;
146
138
147
139
assert_that ( p. cargo ( "build" ) ,
148
140
execs ( ) . with_status ( 101 ) . with_stderr ( "\
@@ -177,10 +169,8 @@ fn unlisted_checksum_is_bad_if_we_calculate() {
177
169
[dependencies]
178
170
foo = "0.1.0"
179
171
"# )
180
- . file ( "src/lib.rs" , "" ) ;
181
- p. build ( ) ;
182
-
183
- t ! ( t!( File :: create( p. root( ) . join( "Cargo.lock" ) ) ) . write_all( br#"
172
+ . file ( "src/lib.rs" , "" )
173
+ . file ( "Cargo.lock" , r#"
184
174
[root]
185
175
name = "bar"
186
176
version = "0.0.1"
@@ -195,7 +185,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
195
185
196
186
[metadata]
197
187
"checksum foo 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "<none>"
198
- "# ) ) ;
188
+ "# ) ;
189
+ p. build ( ) ;
199
190
200
191
assert_that ( p. cargo ( "fetch" ) ,
201
192
execs ( ) . with_status ( 101 ) . with_stderr ( "\
@@ -238,10 +229,8 @@ fn listed_checksum_bad_if_we_cannot_compute() {
238
229
[dependencies]
239
230
foo = {{ git = '{}' }}
240
231
"# , git. url( ) ) )
241
- . file ( "src/lib.rs" , "" ) ;
242
- p. build ( ) ;
243
-
244
- let lockfile = format ! ( r#"
232
+ . file ( "src/lib.rs" , "" )
233
+ . file ( "Cargo.lock" , & format ! ( r#"
245
234
[root]
246
235
name = "bar"
247
236
version = "0.0.1"
@@ -256,9 +245,9 @@ source = "git+{0}"
256
245
257
246
[metadata]
258
247
"checksum foo 0.1.0 (git+{0})" = "checksum"
259
- "# , git. url( ) ) ;
260
- File :: create ( p . root ( ) . join ( "Cargo.lock" ) ) . unwrap ( )
261
- . write_all ( lockfile . as_bytes ( ) ) . unwrap ( ) ;
248
+ "# , git. url( ) ) ) ;
249
+
250
+ p . build ( ) ;
262
251
263
252
assert_that ( p. cargo ( "fetch" ) ,
264
253
execs ( ) . with_status ( 101 ) . with_stderr ( "\
@@ -296,9 +285,7 @@ fn current_lockfile_format() {
296
285
297
286
assert_that ( p. cargo ( "build" ) , execs ( ) . with_status ( 0 ) ) ;
298
287
299
- let mut actual = String :: new ( ) ;
300
- File :: open ( p. root ( ) . join ( "Cargo.lock" ) ) . unwrap ( )
301
- . read_to_string ( & mut actual) . unwrap ( ) ;
288
+ let actual = p. read_lockfile ( ) ;
302
289
303
290
let expected = "\
304
291
[root]
@@ -327,19 +314,6 @@ source = \"registry+https://github.com/rust-lang/crates.io-index\"
327
314
fn lockfile_without_root ( ) {
328
315
Package :: new ( "foo" , "0.1.0" ) . publish ( ) ;
329
316
330
- let p = project ( "bar" )
331
- . file ( "Cargo.toml" , r#"
332
- [package]
333
- name = "bar"
334
- version = "0.0.1"
335
- authors = []
336
-
337
- [dependencies]
338
- foo = "0.1.0"
339
- "# )
340
- . file ( "src/lib.rs" , "" ) ;
341
- p. build ( ) ;
342
-
343
317
let lockfile = r#"[[package]]
344
318
name = "bar"
345
319
version = "0.0.1"
@@ -352,13 +326,24 @@ name = "foo"
352
326
version = "0.1.0"
353
327
source = "registry+https://github.com/rust-lang/crates.io-index"
354
328
"# ;
355
- File :: create ( p. root ( ) . join ( "Cargo.lock" ) ) . unwrap ( )
356
- . write_all ( lockfile. as_bytes ( ) ) . unwrap ( ) ;
329
+
330
+ let p = project ( "bar" )
331
+ . file ( "Cargo.toml" , r#"
332
+ [package]
333
+ name = "bar"
334
+ version = "0.0.1"
335
+ authors = []
336
+
337
+ [dependencies]
338
+ foo = "0.1.0"
339
+ "# )
340
+ . file ( "src/lib.rs" , "" )
341
+ . file ( "Cargo.lock" , lockfile) ;
342
+
343
+ p. build ( ) ;
357
344
358
345
assert_that ( p. cargo ( "build" ) , execs ( ) . with_status ( 0 ) ) ;
359
346
360
- let mut lock = String :: new ( ) ;
361
- File :: open ( p. root ( ) . join ( "Cargo.lock" ) ) . unwrap ( )
362
- . read_to_string ( & mut lock) . unwrap ( ) ;
347
+ let lock = p. read_lockfile ( ) ;
363
348
assert ! ( lock. starts_with( lockfile. trim( ) ) ) ;
364
349
}
0 commit comments