cockpit/tests/run-test.sh
DistroBaker beed278452 Merged update from upstream sources
This is an automated DistroBaker update from upstream sources.
If you do not know what this is about or would like to opt out,
contact the OSCI team.

Source: https://src.fedoraproject.org/rpms/cockpit.git#ee1b4b8891b64239ab6e195be356fbb4e7b0004c
2021-03-01 10:03:08 +00:00

112 lines
2.8 KiB
Bash
Executable File

#!/bin/sh
set -eux
cd "$SOURCE"
. /etc/os-release
test_optional=
test_basic=
if ls ../cockpit-appstream* 1> /dev/null 2>&1; then
test_optional=1
else
test_basic=1
fi
if [ "$ID" = "fedora" ]; then
test_basic=1
test_optional=1
fi
# tests need cockpit's bots/ libraries
git clone --depth=1 https://github.com/cockpit-project/bots
export TEST_OS="${ID}-${VERSION_ID/./-}"
# HACK: upstream does not yet know about rawhide
if [ "$TEST_OS" = "fedora-34" ]; then
export TEST_OS=fedora-33
fi
# HACK: CI hits this selinux denial. Unrelated to our tests.
export TEST_ALLOW_JOURNAL_MESSAGES=".*Permission denied:.*/var/cache/app-info/xmls.*"
# select tests
TESTS=""
EXCLUDES=""
RC=0
if [ -n "$test_optional" ]; then
# pre-download cirros image for Machines tests
bots/image-download cirros
# triggers SELinux violation
# See journal: SELinux is preventing /usr/libexec/qemu-kvm from open access on the file /var/lib/cockpittest/nfs_pool/nfs-volume-0.
EXCLUDES="$EXCLUDES TestMachinesDisks.testAddDiskNFS"
# not investigated yet
EXCLUDES="$EXCLUDES
TestAutoUpdates.testPrivilegeChange"
# TestUpdates: we can't run rebooting tests
TESTS="$TESTS
TestAutoUpdates
TestStorage
TestUpdates.testBasic
TestUpdates.testSecurityOnly"
# Fedora gating tests are running on infra without /dev/kvm; Machines tests are too darn slow there
if [ "$ID" = "fedora" ]; then
TESTS="$TESTS TestMachinesCreate.testCreateImportDisk"
else
TESTS="$TESTS TestMachines"
fi
fi
if [ -n "$test_basic" ]; then
# still too unstable
EXCLUDES="$EXCLUDES TestFirewall.testNetworkingPage"
# TODO: fix for CI environment
EXCLUDES="$EXCLUDES TestLogin.testTally"
EXCLUDES="$EXCLUDES TestAccounts.testBasic"
# PCI devices list is not predictable
EXCLUDES="$EXCLUDES TestSystemInfo.testHardwareInfo"
# Known issue #1008
EXCLUDES="$EXCLUDES TestTuned.testBasic"
TESTS="$TESTS
TestAccounts
TestBonding
TestBridge
TestFirewall
TestKdump
TestLogin
TestNetworking
TestServices
TestSOS
TestSystemInfo
TestTeam
TestTerminal
TestTuned
"
fi
exclude_options=""
for t in $EXCLUDES; do
exclude_options="$exclude_options --exclude $t"
done
# execute run-tests
test/common/run-tests --test-dir test/verify --nondestructive $exclude_options \
--machine localhost:22 --browser localhost:9090 $TESTS || RC=$?
# check-shell-menu is not @nondestructive yet, keep it last
if [ -n "$test_basic" ]; then
test/verify/check-shell-menu --machine localhost:22 --browser localhost:9090 || RC=$?
fi
echo $RC > "$LOGS/exitcode"
cp --verbose Test* "$LOGS" || true
# deliver test result via exitcode file
exit 0