annobin/utils/run_all_tests.sh
Václav Kadlčík 897a471aa6 Fix the wrapper
2023-11-16 16:02:27 +01:00

87 lines
2.2 KiB
Bash
Executable file

#!/usr/bin/env bash
usage () {
echo "Usage: $PROGRAM_NAME [-h] [-l|-r] [fedora-version ...]"
echo ' -h ... This short help'
echo ' -l ... Run in local virtual machines (this is the default)'
echo ' -r ... Run remotely in the testing-farm'
echo ' fedora-version ... fedora release number or "rawhide". If not given'
echo ' then all active releases and Rawhide will be used.'
echo 'Note: Only the x86_64 architecture will be used.'
}
PROGRAM_NAME=${0##*/}
LOCAL=true
FEDORAS=''
while getopts ':hlr' OPTION; do
case "$OPTION" in
'?')
echo "ERROR: Invalid option: -$OPTARG" >&2
usage
exit 1
;;
h)
usage
exit 0
;;
l)
LOCAL=true
;;
r)
LOCAL=false
;;
-)
break
;;
esac
done
shift $(( $OPTIND - 1 ))
FEDORAS="$@"
for i in $FEDORAS; do
if [[ "$i" =~ ^[1-9][0-9]*$ ]] || [[ "$i" = rawhide ]]; then
: # looks good
else
echo "ERROR: '$i' doesn't look like a Fedora version" >&2
usage
exit 1
fi
done
set -o errexit
set -o pipefail
if [[ -z "$FEDORAS" ]]; then
FEDORAS=$(fedpkg releases-info -f | tr ' ' \\012 | sed -e 's|^f||' | sort -rV | tr \\012 ' ' | tr -d '[:cntrl:]')
FEDORAS="rawhide $FEDORAS"
fi
for i in $FEDORAS; do
if [[ "$i" = rawhide ]]; then
CONTEXT_DISTRO=fedora-rawhide
LOCAL_PROVISION_DISTRO=fedora-rawhide
REMOTE_PROVISION_DISTRO=Fedora-Rawhide-Nightly
else
CONTEXT_DISTRO=fedora-$i
LOCAL_PROVISION_DISTRO=fedora-$i
REMOTE_PROVISION_DISTRO=Fedora-${i}-Updated
fi
if $LOCAL; then
CMD="tmt -c distro=$CONTEXT_DISTRO -c arch=x86_64 run -arv provision -h virtual -i $LOCAL_PROVISION_DISTRO -m 4096 -a x86_64 plans -n all_tests"
else
CMD="testing-farm request --arch=x86_64 --compose=$REMOTE_PROVISION_DISTRO -c distro=$CONTEXT_DISTRO -c arch=x86_64 --plan=all_tests"
fi
DECORATION=$(echo "$CMD" | sed 's|.|#|g')
echo
echo "##${DECORATION}##"
echo "# $CMD #"
echo "##${DECORATION}##"
echo
$CMD || true
done