1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2024-12-29 04:50:03 +01:00

static_tests/rust: Address shellcheck lints

The pure POSIX way to do `for x in $(find ...)` right involves a
tempfile, thus limiting to bash.
This commit is contained in:
chrysn 2024-10-03 11:45:56 +02:00
parent 69a89b80ca
commit d0299deb33

View File

@ -1,21 +1,17 @@
#!/bin/sh
#!/bin/bash
set -eu
FAILURES=""
# This is a Make based environment, therefore we don't have funny names to take
# care of, and anyone who can cause commands to be run by injecting files can
# just as well modify the scripts being run. (Otherwise we'd need to go through
# a less readable print0 / read).
for CARGOTOML in `find -name Cargo.toml`
while IFS= read -r -d '' CARGOTOML
do
if cargo fmt --quiet --check --manifest-path "${CARGOTOML}"; then
continue
else
FAILURES="${FAILURES} ${CARGOTOML%Cargo.toml}"
fi
done
done < <(find . -name Cargo.toml -print0)
if [ x"" != x"${FAILURES}" ]; then
echo "Some Rust files are following rustfmt, in particular in:"
@ -23,7 +19,7 @@ if [ x"" != x"${FAILURES}" ]; then
echo "You can format the code locally using:"
echo
echo "find -name Cargo.toml -exec cargo fmt --manifest-path '{}' ';'"
if [ ! -z "${GITHUB_RUN_ID:-}" ]; then
if [ -n "${GITHUB_RUN_ID:-}" ]; then
echo
echo "The author of this test regrets not knowing how to provide an easy way to just click a button here that provides the right fixup commits."
fi