cockpit/tests/verify.sh
Martin Pitt 6d1be3eb74 test: Run browser and tests directly on the host
Dynamically set $TEST_OS from /etc/os-release, and install chromium
directly on Fedora and from EPEL on RHEL. With these we can keep the
test in sync between RHEL and Fedora.

Also drop the obsolete resetting of system changes, that was fixed in
cockpit's tests.
2020-04-28 13:59:04 +02:00

45 lines
1.2 KiB
Bash
Executable File

#!/bin/sh
set -eux
# from standard-test-source
SOURCE="$(pwd)/source"
LOGS="$(pwd)/logs"
TESTS="$(pwd)/tests"
mkdir -p "$LOGS"
chmod a+w "$LOGS"
# install browser; on RHEL, use chromium from epel
if ! rpm -q chromium-headless; then
if grep -q 'ID=rhel' /etc/os-release; then
dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
dnf config-manager --enable epel
fi
dnf install -y chromium-headless
fi
# create user account for logging in
if ! id admin 2>/dev/null; then
useradd -c Administrator -G wheel admin
echo admin:foobar | chpasswd
fi
# create user account for running the test
if ! id runtest 2>/dev/null; then
useradd -c 'Test runner' runtest
fi
chown -R runtest "$SOURCE"
# disable core dumps, we rather investigate them upstream where test VMs are accessible
echo core > /proc/sys/kernel/core_pattern
# make sure that we can access cockpit through the firewall
systemctl start firewalld
firewall-cmd --add-service=cockpit --permanent
firewall-cmd --add-service=cockpit
# Run tests as unprivileged user
su - -c "env SOURCE=$SOURCE LOGS=$LOGS $TESTS/run-test.sh" runtest
RC=$(cat $LOGS/exitcode)
exit ${RC:-1}