From 148a220e38f0b2ba4ec8014d0c1e83ca6d52d47e Mon Sep 17 00:00:00 2001 From: Martin Nordholts Date: Fri, 4 Jul 2025 13:10:34 +0200 Subject: [PATCH] remote-test-client: Exit code `128 + ` instead of `3` If the remote process is terminated by a signal, make `remote-test-client` exit with the code `128 + ` 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 --- src/tools/remote-test-client/src/main.rs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/tools/remote-test-client/src/main.rs b/src/tools/remote-test-client/src/main.rs index bda08423487b5..b9741431b5034 100644 --- a/src/tools/remote-test-client/src/main.rs +++ b/src/tools/remote-test-client/src/main.rs @@ -335,7 +335,9 @@ fn run(support_lib_count: usize, exe: String, all_args: Vec) { std::process::exit(code); } else { println!("died due to signal {}", code); - std::process::exit(3); + // Behave like bash and other tools and exit with 128 + the signal + // number. That way we can avoid special case code in other places. + std::process::exit(128 + code); } }