Blame tests/browser.sh

7025753
#!/bin/sh
7025753
set -eux
7025753
7025753
# from standard-test-source
7025753
SOURCE="$(pwd)/source"
7025753
LOGS="$(pwd)/logs"
1d5f8f1
TESTS="$(pwd)/tests"
7025753
mkdir -p "$LOGS"
7025753
chmod a+w "$LOGS"
7025753
1d5f8f1
# install browser; on RHEL, use chromium from epel
1d5f8f1
if ! rpm -q chromium-headless; then
3d9d9a5
    if grep -q 'ID=.*rhel' /etc/os-release; then
1d5f8f1
        dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
1d5f8f1
        dnf config-manager --enable epel
1d5f8f1
    fi
1d5f8f1
    dnf install -y chromium-headless
1d5f8f1
fi
1d5f8f1
7025753
# create user account for logging in
7025753
if ! id admin 2>/dev/null; then
1d5f8f1
    useradd -c Administrator -G wheel admin
7025753
    echo admin:foobar | chpasswd
7025753
fi
1d5f8f1
7025753
# avoid sudo lecture during tests
7025753
su -c 'echo foobar | sudo --stdin whoami' - admin
7025753
1d5f8f1
# create user account for running the test
1d5f8f1
if ! id runtest 2>/dev/null; then
1d5f8f1
    useradd -c 'Test runner' runtest
1d5f8f1
fi
1d5f8f1
chown -R runtest "$SOURCE"
1d5f8f1
7025753
# disable core dumps, we rather investigate them upstream where test VMs are accessible
7025753
echo core > /proc/sys/kernel/core_pattern
7025753
7025753
# pull images for system podman tests
7025753
podman pull docker.io/busybox
7025753
podman pull docker.io/alpine
7025753
podman pull docker.io/registry:2
7025753
7025753
# pull images for user podman tests; podman insists on user session
7025753
loginctl enable-linger $(id -u admin)
7025753
sudo -i -u admin bash << EOF
7025753
podman pull docker.io/busybox
7025753
podman pull docker.io/alpine
7025753
podman pull docker.io/registry:2
7025753
EOF
1d5f8f1
loginctl disable-linger $(id -u admin)
7025753
7025753
systemctl enable --now cockpit.socket io.podman.socket
7025753
1d5f8f1
# Run tests as unprivileged user
1d5f8f1
su - -c "env SOURCE=$SOURCE LOGS=$LOGS $TESTS/run-test.sh" runtest
7025753
1d5f8f1
RC=$(cat $LOGS/exitcode)
1d5f8f1
exit ${RC:-1}