@@ -171,6 +171,7 @@ runner = "x86_64-runner"
171
171
Some ( [ "cargo" . to_string( ) ] . into_iter( ) . collect( ) ) ,
172
172
"setting list value"
173
173
) ;
174
+ assert_eq ! ( config. jobs, Some ( 1 ) ) ;
174
175
assert_eq ! (
175
176
config. llvm_build_config,
176
177
[ ( "foo" . to_string( ) , "bar" . to_string( ) ) ] . into_iter( ) . collect( ) ,
@@ -352,3 +353,61 @@ fn parse_rust_std_features_empty() {
352
353
fn parse_rust_std_features_invalid ( ) {
353
354
parse ( "rust.std-features = \" backtrace\" " ) ;
354
355
}
356
+
357
+ #[ test]
358
+ fn parse_jobs ( ) {
359
+ assert_eq ! ( parse( "build.jobs = 1" ) . jobs, Some ( 1 ) ) ;
360
+ }
361
+
362
+ #[ test]
363
+ fn jobs_precedence ( ) {
364
+ // `--jobs` should take precedence over using `--set build.jobs`.
365
+
366
+ let config = Config :: parse_inner (
367
+ Flags :: parse ( & [
368
+ "check" . to_owned ( ) ,
369
+ "--config=/does/not/exist" . to_owned ( ) ,
370
+ "--jobs=67890" . to_owned ( ) ,
371
+ "--set=build.jobs=12345" . to_owned ( ) ,
372
+ ] ) ,
373
+ |& _| toml:: from_str ( "" ) ,
374
+ ) ;
375
+ assert_eq ! ( config. jobs, Some ( 67890 ) ) ;
376
+
377
+ // `--set build.jobs` should take precedence over `config.toml`.
378
+ let config = Config :: parse_inner (
379
+ Flags :: parse ( & [
380
+ "check" . to_owned ( ) ,
381
+ "--config=/does/not/exist" . to_owned ( ) ,
382
+ "--set=build.jobs=12345" . to_owned ( ) ,
383
+ ] ) ,
384
+ |& _| {
385
+ toml:: from_str (
386
+ r#"
387
+ [build]
388
+ jobs = 67890
389
+ "# ,
390
+ )
391
+ } ,
392
+ ) ;
393
+ assert_eq ! ( config. jobs, Some ( 67890 ) ) ;
394
+
395
+ // `--jobs` > `--set build.jobs` > `config.toml`
396
+ let config = Config :: parse_inner (
397
+ Flags :: parse ( & [
398
+ "check" . to_owned ( ) ,
399
+ "--jobs=123" . to_owned ( ) ,
400
+ "--config=/does/not/exist" . to_owned ( ) ,
401
+ "--set=build.jobs=456" . to_owned ( ) ,
402
+ ] ) ,
403
+ |& _| {
404
+ toml:: from_str (
405
+ r#"
406
+ [build]
407
+ jobs = 789
408
+ "# ,
409
+ )
410
+ } ,
411
+ ) ;
412
+ assert_eq ! ( config. jobs, Some ( 123 ) ) ;
413
+ }
0 commit comments