From 647f7fb7f1c3209810a37cb52c834026960e829b Mon Sep 17 00:00:00 2001 From: Colin Walters Date: Tue, 22 Nov 2022 10:26:44 -0500 Subject: [PATCH] tests: Require OSTREE_TEST_SUDO to be set to use `sudo` IMO, tools invoking `sudo` automatically is a huge anti-pattern. Require this to be opt-in. In practice also...these tests really want to be *integration* and not unit tests because involving `sudo` alongside uninstalled binaries just creates a giant mess. Closes: https://github.com/ostreedev/ostree/issues/2761 --- tests/libtest.sh | 6 ++++++ tests/test-basic-bare-split-xattrs.sh | 2 ++ tests/test-repo-finder-mount-integration.sh | 1 + 3 files changed, 9 insertions(+) diff --git a/tests/libtest.sh b/tests/libtest.sh index af000363..264094b1 100755 --- a/tests/libtest.sh +++ b/tests/libtest.sh @@ -614,6 +614,12 @@ skip_without_user_xattrs () { fi } +skip_without_sudo () { + if test -z "${OSTREE_TEST_SUDO:-}"; then + skip "this test needs sudo, skipping without OSTREE_TEST_SUDO being set" + fi +} + # Usage: if ! skip_one_without_whiteouts_devices; then ... more tests ...; fi skip_one_without_whiteouts_devices() { if ! can_create_whiteout_devices; then diff --git a/tests/test-basic-bare-split-xattrs.sh b/tests/test-basic-bare-split-xattrs.sh index bf828eb7..b30e9d6d 100755 --- a/tests/test-basic-bare-split-xattrs.sh +++ b/tests/test-basic-bare-split-xattrs.sh @@ -9,7 +9,9 @@ set -euo pipefail mode="bare-split-xattrs" OSTREE="${CMD_PREFIX} ostree --repo=${test_tmpdir}/repo" +skip_without_sudo SUDO="sudo --non-interactive" + PRIVILEGED="false" if [ $(id -u) -eq 0 ]; then PRIVILEGED="true" diff --git a/tests/test-repo-finder-mount-integration.sh b/tests/test-repo-finder-mount-integration.sh index e7a0f86a..b1a8d422 100755 --- a/tests/test-repo-finder-mount-integration.sh +++ b/tests/test-repo-finder-mount-integration.sh @@ -24,6 +24,7 @@ set -euo pipefail . $(dirname $0)/libtest.sh +skip_without_sudo SUDO="sudo --non-interactive" # Skip the test if a well-known USB stick is not available.