Rust for Linux List
 help / color / mirror / Atom feed
* [PATCH] rust: rust_is_available: support testing with `bash` as `/bin/sh`
@ 2026-07-19 13:07 Miguel Ojeda
  0 siblings, 0 replies; only message in thread
From: Miguel Ojeda @ 2026-07-19 13:07 UTC (permalink / raw)
  To: Nathan Chancellor, Nicolas Schier, Miguel Ojeda
  Cc: linux-kbuild, Boqun Feng, Gary Guo, Björn Roy Baron,
	Benno Lossin, Andreas Hindborg, Alice Ryhl, Trevor Gross,
	Danilo Krummrich, Daniel Almeida, Tamir Duberstein,
	Alexandre Courbot, Onur Özkan, rust-for-linux

`command -v` behaves differently on `dash` vs. `bash` when faced with
a file without the execute bit.

Thus, for the non-executable `rustc` and `bindgen` tests, support both
possible outputs that the script currently gives.

This makes the test script clean on distributions like Fedora.

Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
---
Independently, we could add a custom check for the non-exec case in the
actual shell script, but back then it was decided with Kbuild to avoid
overcomplicating it for rare cases (which anyway give an error).

 scripts/rust_is_available_test.py | 14 ++++++++++++--
 1 file changed, 12 insertions(+), 2 deletions(-)

diff --git a/scripts/rust_is_available_test.py b/scripts/rust_is_available_test.py
index d6d54b7ea42a..752c59d5f55f 100755
--- a/scripts/rust_is_available_test.py
+++ b/scripts/rust_is_available_test.py
@@ -177,7 +177,12 @@ else:

     def test_rustc_nonexecutable(self):
         result = self.run_script(self.Expected.FAILURE, { "RUSTC": self.nonexecutable })
-        self.assertIn(f"Running '{self.nonexecutable}' to check the Rust compiler version failed with", result.stderr)
+        self.assertTrue(
+            # `dash`.
+            f"Running '{self.nonexecutable}' to check the Rust compiler version failed with" in result.stderr or
+            # `bash`.
+            f"Rust compiler '{self.nonexecutable}' could not be found." in result.stderr
+        )

     def test_rustc_unexpected_binary(self):
         result = self.run_script(self.Expected.FAILURE, { "RUSTC": self.unexpected_binary })
@@ -205,7 +210,12 @@ else:

     def test_bindgen_nonexecutable(self):
         result = self.run_script(self.Expected.FAILURE, { "BINDGEN": self.nonexecutable })
-        self.assertIn(f"Running '{self.nonexecutable}' to check the Rust bindings generator version failed with", result.stderr)
+        self.assertTrue(
+            # `dash`.
+            f"Running '{self.nonexecutable}' to check the Rust bindings generator version failed with" in result.stderr or
+            # `bash`.
+            f"Rust bindings generator '{self.nonexecutable}' could not be found." in result.stderr
+        )

     def test_bindgen_unexpected_binary(self):
         result = self.run_script(self.Expected.FAILURE, { "BINDGEN": self.unexpected_binary })

base-commit: 880c43b185ca52239e75bc546cc4f4d9154d0fed
--
2.55.0

^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2026-07-19 13:07 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-07-19 13:07 [PATCH] rust: rust_is_available: support testing with `bash` as `/bin/sh` Miguel Ojeda

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox