That brings back Firefox coverage, and also avoids OOM errors with Chromium. This was already applied to our other projects.
50 lines
1.4 KiB
Bash
50 lines
1.4 KiB
Bash
set -eux
|
|
|
|
cd "${SOURCE}"
|
|
|
|
# tests need cockpit's bots/ libraries and test infrastructure
|
|
git init
|
|
rm -f bots # common local case: existing bots symlink
|
|
make bots test/common
|
|
|
|
# support running from clean git tree
|
|
if [ ! -d node_modules/chrome-remote-interface ]; then
|
|
# copy package.json temporarily otherwise npm might try to install the dependencies from it
|
|
rm -f package-lock.json # otherwise the command below installs *everything*, argh
|
|
mv package.json .package.json
|
|
# only install a subset to save time/space
|
|
npm install chrome-remote-interface
|
|
mv .package.json package.json
|
|
fi
|
|
|
|
# disable detection of affected tests; testing takes too long as there is no parallelization
|
|
mv .git dot-git
|
|
|
|
. /etc/os-release
|
|
export TEST_OS="${ID}-${VERSION_ID/./-}"
|
|
|
|
if [ "${TEST_OS#centos-}" != "$TEST_OS" ]; then
|
|
TEST_OS="${TEST_OS}-stream"
|
|
fi
|
|
|
|
# Chromium sometimes gets OOM killed on testing farm
|
|
export TEST_BROWSER=firefox
|
|
|
|
EXCLUDES=""
|
|
|
|
# make it easy to check in logs
|
|
echo "TEST_ALLOW_JOURNAL_MESSAGES: ${TEST_ALLOW_JOURNAL_MESSAGES:-}"
|
|
echo "TEST_AUDIT_NO_SELINUX: ${TEST_AUDIT_NO_SELINUX:-}"
|
|
|
|
GATEWAY="$(python3 -c 'import socket; print(socket.gethostbyname("_gateway"))')"
|
|
RC=0
|
|
./test/common/run-tests \
|
|
--nondestructive \
|
|
--machine "${GATEWAY}":22 \
|
|
--browser "${GATEWAY}":9090 \
|
|
$EXCLUDES \
|
|
|| RC=$?
|
|
|
|
echo $RC > "$LOGS/exitcode"
|
|
cp --verbose Test* "$LOGS" || true
|
|
exit $RC
|