Skip to content

Commit bc81470

Browse files
Merge pull request #25956 from ricardobranco777/hack_bats_multiple
hack/bats: Fix to allow multiple tests
2 parents c55353f + bfd5de3 commit bc81470

File tree

1 file changed

+15
-9
lines changed

1 file changed

+15
-9
lines changed

hack/bats

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
###############################################################################
77
# BEGIN usage message
88

9-
usage="Usage: $0 [--root] [--rootless] [FILENAME-PATTERN[:TEST-PATTERN]]
9+
usage="Usage: $0 [--root] [--rootless] [FILENAME-PATTERN[:TEST-PATTERN]]...
1010
1111
$0 is a wrapper for invoking podman system tests.
1212
@@ -63,7 +63,7 @@ export PODMAN=${PODMAN:-$(pwd)/bin/podman}
6363
export QUADLET=${QUADLET:-$(pwd)/bin/quadlet}
6464

6565
# Directory in which
66-
TESTS=test/system
66+
TESTS_DIR=test/system
6767

6868
REMOTE=
6969
TEST_ROOT=1
@@ -73,6 +73,8 @@ declare -a bats_opts=()
7373

7474
declare -a bats_filter=()
7575

76+
declare -a TESTS
77+
7678
for i;do
7779
value=`expr "$i" : '[^=]*=\(.*\)'`
7880
case "$i" in
@@ -85,20 +87,24 @@ for i;do
8587
if [[ "$value" = "ci:parallel" ]]; then
8688
bats_opts+=("--jobs" $(nproc))
8789
fi;;
88-
*/*.bats) TESTS=$i ;;
90+
*/*.bats) TESTS+=("$i") ;;
8991
*)
9092
if [[ $i =~ : ]]; then
9193
tname=${i%:*} # network:localhost -> network
9294
filt=${i#*:} # network:localhost -> localhost
93-
TESTS=$(echo $TESTS/*$tname*.bats)
95+
TESTS+=($(echo $TESTS_DIR/*$tname*.bats))
9496
bats_filter=("--filter" "$filt")
9597
else
96-
TESTS=$(echo $TESTS/*$i*.bats)
98+
TESTS+=($(echo $TESTS_DIR/*$i*.bats))
9799
fi
98100
;;
99101
esac
100102
done
101103

104+
if [ ${#TESTS[@]} -eq 0 ] ; then
105+
TESTS=("$TESTS_DIR")
106+
fi
107+
102108
# With --remote, use correct binary and make sure daem--I mean server--is live
103109
if [[ "$REMOTE" ]]; then
104110
if ! [[ $PODMAN =~ -remote ]]; then
@@ -131,21 +137,21 @@ export PODMAN_BATS_LEAK_CHECK=1
131137

132138
# Root
133139
if [[ "$TEST_ROOT" ]]; then
134-
echo "# bats ${bats_opts[*]} ${bats_filter[*]} $TESTS"
140+
echo "# bats ${bats_opts[*]} ${bats_filter[*]} ${TESTS[*]}"
135141
sudo --preserve-env=PODMAN \
136142
--preserve-env=QUADLET \
137143
--preserve-env=PODMAN_TEST_DEBUG \
138144
--preserve-env=CONTAINERS_HELPER_BINARY_DIR \
139145
--preserve-env=PODMAN_ROOTLESS_USER \
140-
bats "${bats_opts[@]}" "${bats_filter[@]}" $TESTS
146+
bats "${bats_opts[@]}" "${bats_filter[@]}" "${TESTS[@]}"
141147
rc=$?
142148
fi
143149

144150
# Rootless. (Only if we're not already root)
145151
if [[ "$TEST_ROOTLESS" && "$(id -u)" != 0 ]]; then
146152
echo "--------------------------------------------------"
147-
echo "\$ bats ${bats_opts[*]} ${bats_filter[*]} $TESTS"
148-
bats "${bats_opts[@]}" "${bats_filter[@]}" $TESTS
153+
echo "\$ bats ${bats_opts[*]} ${bats_filter[*]} ${TESTS[@]}"
154+
bats "${bats_opts[@]}" "${bats_filter[@]}" "${TESTS[@]}"
149155
rc=$((rc | $?))
150156
fi
151157

0 commit comments

Comments
 (0)