Skip to content

Commit 148a220

Browse files
committed
remote-test-client: Exit code 128 + <signal-number> instead of 3
If the remote process is terminated by a signal, make `remote-test-client` exit with the code `128 + <signal-number>` instead of always `3`. This follows common practice among tools such as bash [^1]: > When a command terminates on a fatal signal whose number is N, Bash uses the > value 128+N as the exit status. It also allows us to differentiate between `run-pass` and `run-crash` ui tests without special case code in compiletest for that when `remote-test-client` is used. [^1]: https://www.gnu.org/software/bash/manual/html_node/Exit-Status.html
1 parent 0c4fa26 commit 148a220

File tree

1 file changed

+3
-1
lines changed
  • src/tools/remote-test-client/src

1 file changed

+3
-1
lines changed

src/tools/remote-test-client/src/main.rs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -335,7 +335,9 @@ fn run(support_lib_count: usize, exe: String, all_args: Vec<String>) {
335335
std::process::exit(code);
336336
} else {
337337
println!("died due to signal {}", code);
338-
std::process::exit(3);
338+
// Behave like bash and other tools and exit with 128 + the signal
339+
// number. That way we can avoid special case code in other places.
340+
std::process::exit(128 + code);
339341
}
340342
}
341343

0 commit comments

Comments
 (0)