6d1be3eb74
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.
45 lines
1.2 KiB
Bash
Executable File
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}
|