hack/bats: fix root/rootless logic

The ROOT{,LESS}_ONLY logic is confusing and unmaintainable.
Change it to an easier-to-read positive check.

Signed-off-by: Ed Santiago <santiago@redhat.com>
This commit is contained in:
Ed Santiago 2023-01-04 13:40:41 -07:00
parent e28184e0fe
commit 1a2e54ce65
1 changed files with 6 additions and 6 deletions

View File

@ -63,8 +63,8 @@ chcon -t container_runtime_exec_t $PODMAN
TESTS=test/system TESTS=test/system
REMOTE= REMOTE=
ROOT_ONLY= TEST_ROOT=1
ROOTLESS_ONLY= TEST_ROOTLESS=1
declare -a bats_opts=() declare -a bats_opts=()
@ -74,8 +74,8 @@ for i;do
value=`expr "$i" : '[^=]*=\(.*\)'` value=`expr "$i" : '[^=]*=\(.*\)'`
case "$i" in case "$i" in
-h|--help) echo "$usage"; exit 0;; -h|--help) echo "$usage"; exit 0;;
--root) ROOT_ONLY=1 ;; --root) TEST_ROOTLESS= ;;
--rootless) ROOTLESS_ONLY=1 ;; --rootless) TEST_ROOT= ;;
--remote) REMOTE=remote; echo "--remote is TBI"; exit 1;; --remote) REMOTE=remote; echo "--remote is TBI"; exit 1;;
--ts|-T) bats_opts+=("-T") ;; --ts|-T) bats_opts+=("-T") ;;
*/*.bats) TESTS=$i ;; */*.bats) TESTS=$i ;;
@ -106,7 +106,7 @@ fi
export PODMAN_ROOTLESS_USER=$(id -un) export PODMAN_ROOTLESS_USER=$(id -un)
# Root # Root
if [ -z "$ROOTLESS_ONLY" ]; then if [[ "$TEST_ROOT" ]]; then
echo "# bats ${bats_filter[*]} $TESTS" echo "# bats ${bats_filter[*]} $TESTS"
sudo --preserve-env=PODMAN \ sudo --preserve-env=PODMAN \
--preserve-env=QUADLET \ --preserve-env=QUADLET \
@ -119,7 +119,7 @@ if [ -z "$ROOTLESS_ONLY" ]; then
fi fi
# Rootless. (Only if we're not already root) # Rootless. (Only if we're not already root)
if [[ -z "$ROOT_ONLY" && "$(id -u)" != 0 ]]; then if [[ "$TEST_ROOTLESS" && "$(id -u)" != 0 ]]; then
echo "--------------------------------------------------" echo "--------------------------------------------------"
echo "\$ bats ${bats_filter[*]} $TESTS" echo "\$ bats ${bats_filter[*]} $TESTS"
bats "${bats_opts[@]}" "${bats_filter[@]}" $TESTS bats "${bats_opts[@]}" "${bats_filter[@]}" $TESTS