#!/bin/bash

LOGFILE="$AUTOPKGTEST_TMP/test.log"

# added 'breaks-testbed' restriction because it modifies global config files
sed -i 's/^\(restricted-network .*\)/#\1/' /etc/firejail/firejail.config
sed -i 's/^\(cgroup .*\)/#\1/' /etc/firejail/firejail.config

# copy tests to temporary directory, as current one might be read-only
cp -a test "$AUTOPKGTEST_TMP"
cd "$AUTOPKGTEST_TMP/test"

# user setup
[ -z "$AUTOPKGTEST_NORMAL_USER" ] && AUTOPKGTEST_NORMAL_USER="nobody"
GROUP=$(id -g $AUTOPKGTEST_NORMAL_USER)
chown -R $AUTOPKGTEST_NORMAL_USER:$GROUP "$AUTOPKGTEST_TMP"
echo $AUTOPKGTEST_NORMAL_USER > /etc/firejail/firejail.users

# workaround for https://github.com/netblue30/firejail/issues/3113
rm -f /etc/firejail/ffmpegthumbnailer.profile

# run tests
for dir in arguments environment fcopy fs profiles sysutils utils;
do
	pushd $dir
	runuser -u $AUTOPKGTEST_NORMAL_USER -- bash -x ./$dir.sh | tee -a "$LOGFILE"
	popd
done

echo "======================================"
grep "TESTING" "$LOGFILE"
echo "======================================"

[ $(grep -a -c "TESTING ERROR" "$LOGFILE") -gt 0 ] && exit 1

exit 0
