mirror of
https://github.com/rust-lang/rust.git
synced 2026-05-28 20:16:58 +03:00
Make remote-test-client work as cargo runner again
Since cargo appends executable/args, the support_lib count parameter has to come first.
This commit is contained in:
@@ -1762,7 +1762,7 @@ fn run(self, builder: &Builder<'_>) {
|
||||
} else if builder.remote_tested(target) {
|
||||
cargo.env(
|
||||
format!("CARGO_TARGET_{}_RUNNER", envify(&target)),
|
||||
format!("{} run", builder.tool_exe(Tool::RemoteTestClient).display()),
|
||||
format!("{} run 0", builder.tool_exe(Tool::RemoteTestClient).display()),
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
@@ -1608,8 +1608,7 @@ fn exec_compiled_test(&self) -> ProcRes {
|
||||
let mut test_client =
|
||||
Command::new(self.config.remote_test_client.as_ref().unwrap());
|
||||
test_client
|
||||
.args(&["run", &prog])
|
||||
.arg(support_libs.len().to_string())
|
||||
.args(&["run", &support_libs.len().to_string(), &prog])
|
||||
.args(support_libs)
|
||||
.args(args)
|
||||
.envs(env.clone());
|
||||
|
||||
@@ -45,8 +45,10 @@ fn main() {
|
||||
),
|
||||
"push" => push(Path::new(&args.next().unwrap())),
|
||||
"run" => run(
|
||||
args.next().unwrap(),
|
||||
args.next().and_then(|count| count.parse().ok()).unwrap(),
|
||||
// the last required parameter must remain the executable
|
||||
// path so that the client works as a cargo runner
|
||||
args.next().unwrap(),
|
||||
args.collect(),
|
||||
),
|
||||
"help" | "-h" | "--help" => help(),
|
||||
@@ -201,7 +203,7 @@ fn push(path: &Path) {
|
||||
println!("done pushing {:?}", path);
|
||||
}
|
||||
|
||||
fn run(exe: String, support_lib_count: usize, all_args: Vec<String>) {
|
||||
fn run(support_lib_count: usize, exe: String, all_args: Vec<String>) {
|
||||
let device_address = env::var(REMOTE_ADDR_ENV).unwrap_or(DEFAULT_ADDR.to_string());
|
||||
let client = t!(TcpStream::connect(device_address));
|
||||
let mut client = BufWriter::new(client);
|
||||
@@ -306,7 +308,7 @@ fn help() {
|
||||
Sub-commands:
|
||||
spawn-emulator <target> <server> <tmpdir> [rootfs] See below
|
||||
push <path> Copy <path> to emulator
|
||||
run <file> <support_lib_count> [support_libs...] [args...]
|
||||
run <support_lib_count> <file> [support_libs...] [args...]
|
||||
Run program on emulator
|
||||
help Display help message
|
||||
|
||||
|
||||
Reference in New Issue
Block a user