@@ -61,9 +61,9 @@ doctest!("../README.md");
61
61
62
62
extern crate semver;
63
63
use semver:: Identifier ;
64
+ use std:: ffi:: OsString ;
64
65
use std:: process:: Command ;
65
66
use std:: { env, str} ;
66
- use std:: ffi:: OsString ;
67
67
68
68
// Convenience re-export to allow version comparison without needing to add
69
69
// semver crate.
@@ -115,7 +115,10 @@ impl VersionMeta {
115
115
pub fn for_command ( cmd : Command ) -> Result < VersionMeta > {
116
116
let mut cmd = cmd;
117
117
118
- let out = cmd. arg ( "-vV" ) . output ( ) . map_err ( Error :: CouldNotExecuteCommand ) ?;
118
+ let out = cmd
119
+ . arg ( "-vV" )
120
+ . output ( )
121
+ . map_err ( Error :: CouldNotExecuteCommand ) ?;
119
122
let out = str:: from_utf8 ( & out. stdout ) ?;
120
123
121
124
version_meta_for ( out)
@@ -218,51 +221,60 @@ fn smoketest() {
218
221
#[ test]
219
222
fn parse_unexpected ( ) {
220
223
let res = version_meta_for (
221
- "rustc 1.0.0 (a59de37e9 2015-05-13) (built 2015-05-14)
224
+ "rustc 1.0.0 (a59de37e9 2015-05-13) (built 2015-05-14)
222
225
binary: rustc
223
226
commit-hash: a59de37e99060162a2674e3ff45409ac73595c0e
224
227
commit-date: 2015-05-13
225
228
rust-birthday: 2015-05-14
226
229
host: x86_64-unknown-linux-gnu
227
- release: 1.0.0" ) ;
230
+ release: 1.0.0" ,
231
+ ) ;
228
232
229
233
assert ! ( match res {
230
234
Err ( Error :: UnexpectedVersionFormat ) => true ,
231
235
_ => false ,
232
236
} ) ;
233
-
234
237
}
235
238
236
239
#[ test]
237
240
fn parse_1_0_0 ( ) {
238
241
let version = version_meta_for (
239
- "rustc 1.0.0 (a59de37e9 2015-05-13) (built 2015-05-14)
242
+ "rustc 1.0.0 (a59de37e9 2015-05-13) (built 2015-05-14)
240
243
binary: rustc
241
244
commit-hash: a59de37e99060162a2674e3ff45409ac73595c0e
242
245
commit-date: 2015-05-13
243
246
build-date: 2015-05-14
244
247
host: x86_64-unknown-linux-gnu
245
- release: 1.0.0" ) . unwrap ( ) ;
248
+ release: 1.0.0" ,
249
+ )
250
+ . unwrap ( ) ;
246
251
247
252
assert_eq ! ( version. semver, Version :: parse( "1.0.0" ) . unwrap( ) ) ;
248
- assert_eq ! ( version. commit_hash, Some ( "a59de37e99060162a2674e3ff45409ac73595c0e" . into( ) ) ) ;
253
+ assert_eq ! (
254
+ version. commit_hash,
255
+ Some ( "a59de37e99060162a2674e3ff45409ac73595c0e" . into( ) )
256
+ ) ;
249
257
assert_eq ! ( version. commit_date, Some ( "2015-05-13" . into( ) ) ) ;
250
258
assert_eq ! ( version. build_date, Some ( "2015-05-14" . into( ) ) ) ;
251
259
assert_eq ! ( version. channel, Channel :: Stable ) ;
252
260
assert_eq ! ( version. host, "x86_64-unknown-linux-gnu" ) ;
253
- assert_eq ! ( version. short_version_string, "rustc 1.0.0 (a59de37e9 2015-05-13) (built 2015-05-14)" ) ;
261
+ assert_eq ! (
262
+ version. short_version_string,
263
+ "rustc 1.0.0 (a59de37e9 2015-05-13) (built 2015-05-14)"
264
+ ) ;
254
265
}
255
266
256
-
257
267
#[ test]
258
268
fn parse_unknown ( ) {
259
269
let version = version_meta_for (
260
- "rustc 1.3.0
270
+ "rustc 1.3.0
261
271
binary: rustc
262
272
commit-hash: unknown
263
273
commit-date: unknown
264
274
host: x86_64-unknown-linux-gnu
265
- release: 1.3.0" ) . unwrap ( ) ;
275
+ release: 1.3.0" ,
276
+ )
277
+ . unwrap ( ) ;
266
278
267
279
assert_eq ! ( version. semver, Version :: parse( "1.3.0" ) . unwrap( ) ) ;
268
280
assert_eq ! ( version. commit_hash, None ) ;
@@ -275,56 +287,80 @@ release: 1.3.0").unwrap();
275
287
#[ test]
276
288
fn parse_nightly ( ) {
277
289
let version = version_meta_for (
278
- "rustc 1.5.0-nightly (65d5c0833 2015-09-29)
290
+ "rustc 1.5.0-nightly (65d5c0833 2015-09-29)
279
291
binary: rustc
280
292
commit-hash: 65d5c083377645a115c4ac23a620d3581b9562b6
281
293
commit-date: 2015-09-29
282
294
host: x86_64-unknown-linux-gnu
283
- release: 1.5.0-nightly" ) . unwrap ( ) ;
295
+ release: 1.5.0-nightly" ,
296
+ )
297
+ . unwrap ( ) ;
284
298
285
299
assert_eq ! ( version. semver, Version :: parse( "1.5.0-nightly" ) . unwrap( ) ) ;
286
- assert_eq ! ( version. commit_hash, Some ( "65d5c083377645a115c4ac23a620d3581b9562b6" . into( ) ) ) ;
300
+ assert_eq ! (
301
+ version. commit_hash,
302
+ Some ( "65d5c083377645a115c4ac23a620d3581b9562b6" . into( ) )
303
+ ) ;
287
304
assert_eq ! ( version. commit_date, Some ( "2015-09-29" . into( ) ) ) ;
288
305
assert_eq ! ( version. channel, Channel :: Nightly ) ;
289
306
assert_eq ! ( version. host, "x86_64-unknown-linux-gnu" ) ;
290
- assert_eq ! ( version. short_version_string, "rustc 1.5.0-nightly (65d5c0833 2015-09-29)" ) ;
307
+ assert_eq ! (
308
+ version. short_version_string,
309
+ "rustc 1.5.0-nightly (65d5c0833 2015-09-29)"
310
+ ) ;
291
311
}
292
312
293
313
#[ test]
294
314
fn parse_stable ( ) {
295
315
let version = version_meta_for (
296
- "rustc 1.3.0 (9a92aaf19 2015-09-15)
316
+ "rustc 1.3.0 (9a92aaf19 2015-09-15)
297
317
binary: rustc
298
318
commit-hash: 9a92aaf19a64603b02b4130fe52958cc12488900
299
319
commit-date: 2015-09-15
300
320
host: x86_64-unknown-linux-gnu
301
- release: 1.3.0" ) . unwrap ( ) ;
321
+ release: 1.3.0" ,
322
+ )
323
+ . unwrap ( ) ;
302
324
303
325
assert_eq ! ( version. semver, Version :: parse( "1.3.0" ) . unwrap( ) ) ;
304
- assert_eq ! ( version. commit_hash, Some ( "9a92aaf19a64603b02b4130fe52958cc12488900" . into( ) ) ) ;
326
+ assert_eq ! (
327
+ version. commit_hash,
328
+ Some ( "9a92aaf19a64603b02b4130fe52958cc12488900" . into( ) )
329
+ ) ;
305
330
assert_eq ! ( version. commit_date, Some ( "2015-09-15" . into( ) ) ) ;
306
331
assert_eq ! ( version. channel, Channel :: Stable ) ;
307
332
assert_eq ! ( version. host, "x86_64-unknown-linux-gnu" ) ;
308
- assert_eq ! ( version. short_version_string, "rustc 1.3.0 (9a92aaf19 2015-09-15)" ) ;
333
+ assert_eq ! (
334
+ version. short_version_string,
335
+ "rustc 1.3.0 (9a92aaf19 2015-09-15)"
336
+ ) ;
309
337
}
310
338
311
339
#[ test]
312
340
fn parse_1_16_0_nightly ( ) {
313
341
let version = version_meta_for (
314
- "rustc 1.16.0-nightly (5d994d8b7 2017-01-05)
342
+ "rustc 1.16.0-nightly (5d994d8b7 2017-01-05)
315
343
binary: rustc
316
344
commit-hash: 5d994d8b7e482e87467d4a521911477bd8284ce3
317
345
commit-date: 2017-01-05
318
346
host: x86_64-unknown-linux-gnu
319
347
release: 1.16.0-nightly
320
- LLVM version: 3.9" ) . unwrap ( ) ;
348
+ LLVM version: 3.9" ,
349
+ )
350
+ . unwrap ( ) ;
321
351
322
352
assert_eq ! ( version. semver, Version :: parse( "1.16.0-nightly" ) . unwrap( ) ) ;
323
- assert_eq ! ( version. commit_hash, Some ( "5d994d8b7e482e87467d4a521911477bd8284ce3" . into( ) ) ) ;
353
+ assert_eq ! (
354
+ version. commit_hash,
355
+ Some ( "5d994d8b7e482e87467d4a521911477bd8284ce3" . into( ) )
356
+ ) ;
324
357
assert_eq ! ( version. commit_date, Some ( "2017-01-05" . into( ) ) ) ;
325
358
assert_eq ! ( version. channel, Channel :: Nightly ) ;
326
359
assert_eq ! ( version. host, "x86_64-unknown-linux-gnu" ) ;
327
- assert_eq ! ( version. short_version_string, "rustc 1.16.0-nightly (5d994d8b7 2017-01-05)" ) ;
360
+ assert_eq ! (
361
+ version. short_version_string,
362
+ "rustc 1.16.0-nightly (5d994d8b7 2017-01-05)"
363
+ ) ;
328
364
}
329
365
330
366
/*
0 commit comments