From: Stefan Berger <stefanb@linux.ibm.com>
To: linux-integrity@vger.kernel.org
Cc: zohar@linux.ibm.com, Stefan Berger <stefanb@linux.ibm.com>
Subject: [ima-evm-utils PATCH v3 02/14] tests: Address issues raised by shellcheck SC2181
Date: Fri, 1 Dec 2023 08:31:24 -0500 [thread overview]
Message-ID: <20231201133136.2124147-3-stefanb@linux.ibm.com> (raw)
In-Reply-To: <20231201133136.2124147-1-stefanb@linux.ibm.com>
Address issues raised by shellcheck SC2181:
"Check exit code directly with e.g. if mycmd;, not indirectly with $?."
The general replacement patterns to fix this issue are:
Old:
<cmd>
if [ $? -eq 0 ]; then ...
New:
if <cmd>; then ...
Old:
<cmd>
if [ $? -ne 0 ]; then ...
New:
if ! <cmd>; then ...
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
---
tests/Makefile.am | 2 +-
tests/boot_aggregate.test | 22 ++++++++--------------
tests/functions.sh | 3 +--
tests/ima_hash.test | 4 ++--
tests/sign_verify.test | 3 +--
tests/softhsm_setup | 32 ++++++++++++--------------------
6 files changed, 25 insertions(+), 41 deletions(-)
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 6bf7eef..86796c3 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -26,7 +26,7 @@ clean-local:
distclean: distclean-keys
shellcheck:
- shellcheck -i SC2086 \
+ shellcheck -i SC2086,SC2181 \
functions.sh gen-keys.sh install-fsverity.sh \
install-mount-idmapped.sh install-openssl3.sh \
install-swtpm.sh install-tss.sh softhsm_setup \
diff --git a/tests/boot_aggregate.test b/tests/boot_aggregate.test
index ccc45f9..04aef9b 100755
--- a/tests/boot_aggregate.test
+++ b/tests/boot_aggregate.test
@@ -47,8 +47,7 @@ swtpm_start() {
fi
if [ -n "${swtpm}" ]; then
- pgrep swtpm
- if [ $? -eq 0 ]; then
+ if pgrep swtpm; then
echo "INFO: Software TPM (swtpm) already running"
return 114
else
@@ -60,8 +59,7 @@ swtpm_start() {
elif [ -n "${tpm_server}" ]; then
# tpm_server uses the Microsoft simulator encapsulated packet format
export TPM_SERVER_TYPE="mssim"
- pgrep tpm_server
- if [ $? -eq 0 ]; then
+ if pgrep tpm_server; then
echo "INFO: Software TPM (tpm_server) already running"
return 114
else
@@ -81,16 +79,13 @@ swtpm_init() {
fi
echo "INFO: Sending software TPM startup"
- "${TSSDIR}/tssstartup"
- if [ $? -ne 0 ]; then
+ if ! "${TSSDIR}/tssstartup"; then
echo "INFO: Retry sending software TPM startup"
sleep 1
- "${TSSDIR}/tssstartup"
- fi
-
- if [ $? -ne 0 ]; then
- echo "INFO: Software TPM startup failed"
- return "$SKIP"
+ if ! "${TSSDIR}/tssstartup"; then
+ echo "INFO: Software TPM startup failed"
+ return "$SKIP"
+ fi
fi
echo "INFO: Walking ${BINARY_BIOS_MEASUREMENTS} initializing the software TPM"
@@ -129,8 +124,7 @@ check() {
local options=$1
echo "INFO: Calculating the boot_aggregate (PCRs 0 - 9) for multiple banks"
- bootaggr=$(evmctl ima_boot_aggregate "${options}")
- if [ $? -ne 0 ]; then
+ if ! bootaggr=$(evmctl ima_boot_aggregate "${options}"); then
echo "${CYAN}SKIP: evmctl ima_boot_aggregate: $bootaggr${NORM}"
exit "$SKIP"
fi
diff --git a/tests/functions.sh b/tests/functions.sh
index 2105f21..9670b3a 100755
--- a/tests/functions.sh
+++ b/tests/functions.sh
@@ -368,8 +368,7 @@ _softhsm_setup() {
mkdir -p "${SOFTHSM_SETUP_CONFIGDIR}"
- msg=$(./softhsm_setup setup 2>&1)
- if [ $? -eq 0 ]; then
+ if msg=$(./softhsm_setup setup 2>&1); then
echo "softhsm_setup setup succeeded: $msg"
PKCS11_KEYURI=$(echo "$msg" | sed -n 's|^keyuri: \(.*\)|\1|p')
diff --git a/tests/ima_hash.test b/tests/ima_hash.test
index e88fd59..9a8d7b6 100755
--- a/tests/ima_hash.test
+++ b/tests/ima_hash.test
@@ -33,8 +33,8 @@ check() {
# unless it's negative test, then pass to evmctl
cmd="openssl dgst $OPENSSL_ENGINE -$alg $file"
echo - "$cmd"
- hash=$(set -o pipefail; $cmd 2>/dev/null | cut -d' ' -f2)
- if [ $? -ne 0 ] && _test_expected_to_pass; then
+ if ! hash=$(set -o pipefail; $cmd 2>/dev/null | cut -d' ' -f2) \
+ && _test_expected_to_pass; then
echo "${CYAN}$alg test is skipped$NORM"
rm "$file"
return "$SKIP"
diff --git a/tests/sign_verify.test b/tests/sign_verify.test
index 5cc0393..1b6cf2a 100755
--- a/tests/sign_verify.test
+++ b/tests/sign_verify.test
@@ -185,8 +185,7 @@ check_sign() {
# Insert keyid from cert into PREFIX in-place of marker `:K:'
if [[ $PREFIX =~ :K: ]]; then
- keyid=$(_keyid_from_cert "$key")
- if [ $? -ne 0 ]; then
+ if ! keyid=$(_keyid_from_cert "$key"); then
color_red
echo "Unable to determine keyid for $key"
color_restore
diff --git a/tests/softhsm_setup b/tests/softhsm_setup
index 10e4013..95bf0b1 100755
--- a/tests/softhsm_setup
+++ b/tests/softhsm_setup
@@ -30,8 +30,7 @@ UNAME_S="$(uname -s)"
case "${UNAME_S}" in
Darwin)
- msg=$(sudo -v -n)
- if [ $? -ne 0 ]; then
+ if ! msg=$(sudo -v -n); then
echo "Need password-less sudo rights on OS X to change /etc/gnutls/pkcs11.conf"
exit 1
fi
@@ -113,18 +112,16 @@ slots.removable = false
_EOF_
fi
- msg=$(p11tool --list-tokens 2>&1 | grep "token=${NAME}" | tail -n1)
- if [ $? -ne 0 ]; then
+ if ! msg=$(p11tool --list-tokens 2>&1 | grep "token=${NAME}" | tail -n1); then
echo "Could not list existing tokens"
echo "$msg"
fi
tokenuri=$(echo "$msg" | sed -n 's/.*URL: \([[:print:]*]\)/\1/p')
if [ -z "$tokenuri" ]; then
- msg=$(softhsm2-util \
+ if ! msg=$(softhsm2-util \
--init-token --pin "${PIN}" --so-pin "${SO_PIN}" \
- --free --label "${NAME}" 2>&1)
- if [ $? -ne 0 ]; then
+ --free --label "${NAME}" 2>&1); then
echo "Could not initialize token"
echo "$msg"
return 2
@@ -143,9 +140,8 @@ _EOF_
fi
fi
- msg=$(p11tool --list-tokens 2>&1 | \
- grep "token=${NAME}" | tail -n1)
- if [ $? -ne 0 ]; then
+ if ! msg=$(p11tool --list-tokens 2>&1 | \
+ grep "token=${NAME}" | tail -n1); then
echo "Could not list existing tokens"
echo "$msg"
fi
@@ -156,15 +152,13 @@ _EOF_
fi
# more recent versions of p11tool have --generate-privkey ...
- msg=$(GNUTLS_PIN=$PIN p11tool \
+ if ! msg=$(GNUTLS_PIN=$PIN p11tool \
--generate-privkey=rsa --bits 2048 --label mykey --login \
- "${tokenuri}" 2>&1)
- if [ $? -ne 0 ]; then
+ "${tokenuri}" 2>&1); then
# ... older versions have --generate-rsa
- msg=$(GNUTLS_PIN=$PIN p11tool \
+ if ! msg=$(GNUTLS_PIN=$PIN p11tool \
--generate-rsa --bits 2048 --label mykey --login \
- "${tokenuri}" 2>&1)
- if [ $? -ne 0 ]; then
+ "${tokenuri}" 2>&1); then
echo "Could not create RSA key!"
echo "$msg"
return 5
@@ -184,8 +178,7 @@ _EOF_
_getkeyuri_softhsm() {
local msg tokenuri keyuri
- msg=$(p11tool --list-tokens 2>&1 | grep "token=${NAME}")
- if [ $? -ne 0 ]; then
+ if ! msg=$(p11tool --list-tokens 2>&1 | grep "token=${NAME}"); then
echo "Could not list existing tokens"
echo "$msg"
return 5
@@ -196,8 +189,7 @@ _getkeyuri_softhsm() {
echo "$msg"
return 6
fi
- msg=$(p11tool --list-all "${tokenuri}" 2>&1)
- if [ $? -ne 0 ]; then
+ if ! msg=$(p11tool --list-all "${tokenuri}" 2>&1); then
echo "Could not list object under token $tokenuri"
echo "$msg"
softhsm2-util --show-slots
--
2.43.0
next prev parent reply other threads:[~2023-12-01 13:31 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-12-01 13:31 [ima-evm-utils PATCH v3 00/14] Enable shellcheck and fix some issues Stefan Berger
2023-12-01 13:31 ` [ima-evm-utils PATCH v3 01/14] tests: Address issues raised by shellcheck SC2086 & enable shellcheck Stefan Berger
2023-12-01 13:31 ` Stefan Berger [this message]
2023-12-01 13:31 ` [ima-evm-utils PATCH v3 03/14] tests: Address issues raised by shellcheck SC2046 Stefan Berger
2023-12-01 13:31 ` [ima-evm-utils PATCH v3 04/14] tests: Address issues raised by shellcheck SC2320 Stefan Berger
2023-12-01 13:31 ` [ima-evm-utils PATCH v3 05/14] tests: Address issues raised by shellcheck SC2317 Stefan Berger
2023-12-01 13:31 ` [ima-evm-utils PATCH v3 06/14] tests: Address issues raised by shellcheck SC2034 Stefan Berger
2023-12-01 13:31 ` [ima-evm-utils PATCH v3 07/14] tests: Address issues raised by shellcheck SC2164 Stefan Berger
2023-12-01 13:31 ` [ima-evm-utils PATCH v3 08/14] tests: Address issues raised by shellcheck SC2166 Stefan Berger
2023-12-01 13:31 ` [ima-evm-utils PATCH v3 09/14] tests: Address issues raised by shellcheck SC2294 Stefan Berger
2023-12-01 13:31 ` [ima-evm-utils PATCH v3 10/14] tests: Address issues raised by shellcheck SC2206 Stefan Berger
2023-12-01 13:31 ` [ima-evm-utils PATCH v3 11/14] tests: Address issues raised by shellcheck SC2196 Stefan Berger
2023-12-01 13:31 ` [ima-evm-utils PATCH v3 12/14] tests: Address issues raised by shellcheck SC2043 Stefan Berger
2023-12-01 13:31 ` [ima-evm-utils PATCH v3 13/14] tests: Address issues raised by shellcheck SC2295 Stefan Berger
2023-12-01 13:31 ` [ima-evm-utils PATCH v3 14/14] tests: Address issues raised by shellcheck SC2003 Stefan Berger
2023-12-06 19:33 ` [ima-evm-utils PATCH v3 00/14] Enable shellcheck and fix some issues Mimi Zohar
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20231201133136.2124147-3-stefanb@linux.ibm.com \
--to=stefanb@linux.ibm.com \
--cc=linux-integrity@vger.kernel.org \
--cc=zohar@linux.ibm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox