File tree Expand file tree Collapse file tree 1 file changed +41
-1
lines changed Expand file tree Collapse file tree 1 file changed +41
-1
lines changed Original file line number Diff line number Diff line change @@ -12,7 +12,7 @@ const EXE_CONTENT: &str = r#"
12
12
use std::env;
13
13
14
14
fn main() {
15
- let var = env::var("CARGO_MAKEFLAGS").unwrap( );
15
+ let var = env::var("CARGO_MAKEFLAGS").expect("no jobserver from env" );
16
16
let arg = var.split(' ')
17
17
.find(|p| p.starts_with("--jobserver"))
18
18
.unwrap();
@@ -105,6 +105,46 @@ all:
105
105
p. process ( make) . env ( "CARGO" , cargo_exe ( ) ) . arg ( "-j2" ) . run ( ) ;
106
106
}
107
107
108
+ #[ cargo_test]
109
+ fn cargo_run_inherits_jobserver ( ) {
110
+ let make = make_exe ( ) ;
111
+ if Command :: new ( make) . arg ( "--version" ) . output ( ) . is_err ( ) {
112
+ return ;
113
+ }
114
+
115
+ let name = "cargo-jobserver-check" ;
116
+ let p = project ( )
117
+ . file (
118
+ "Cargo.toml" ,
119
+ & format ! (
120
+ r#"
121
+ [package]
122
+ name = "{name}"
123
+ version = "0.0.1"
124
+ "#
125
+ ) ,
126
+ )
127
+ . file ( "src/main.rs" , EXE_CONTENT )
128
+ . file (
129
+ "Makefile" ,
130
+ "\
131
+ all:
132
+ \t +$(CARGO) run
133
+ " ,
134
+ )
135
+ . build ( ) ;
136
+
137
+ p. process ( make) . env ( "CARGO" , cargo_exe ( ) ) . arg ( "-j2" )
138
+ . with_status ( 2 )
139
+ . with_stderr_contains ( "[..]no jobserver from env[..]" )
140
+ . run ( ) ;
141
+
142
+ p. cargo ( "run -j2" )
143
+ . with_status ( 101 )
144
+ . with_stderr_contains ( "[..]no jobserver from env[..]" )
145
+ . run ( ) ;
146
+ }
147
+
108
148
#[ cargo_test]
109
149
fn makes_jobserver_used ( ) {
110
150
let make = make_exe ( ) ;
You can’t perform that action at this time.
0 commit comments