#!/usr/bin/bash
set -e
# The tests write to temporary database which is placed in $DIR/t/testdb
DIR=$(mktemp -d)
pushd "$DIR"
cp -a /usr/libexec/perl-DBD-MySQL/* ./
. $DIR/$(basename /builddir/build/SOURCES/test-env.sh)
unset EXTENDED_TESTING
perl -i -pe "s{_TEST_SOCKET_}{$DBD_MYSQL_TESTSOCKET}" $DIR/t/mysql.mtest

# Test setup and tests have to be executed by non-root user
if [ `id -u` -ne 0 ]; then
    prove -I . -j "$(getconf _NPROCESSORS_ONLN)"
else
    getent group $DBD_MYSQL_TESTUSER >/dev/null || \
        groupadd -r $DBD_MYSQL_TESTUSER
    getent passwd $DBD_MYSQL_TESTUSER >/dev/null || \
        useradd -g $DBD_MYSQL_TESTUSER $DBD_MYSQL_TESTUSER
    chown -hR $DBD_MYSQL_TESTUSER:$DBD_MYSQL_TESTUSER $DIR
    su $DBD_MYSQL_TESTUSER -c "prove -I . -j \"$(getconf _NPROCESSORS_ONLN)\""
    chown -hR root:root $DIR
    getent passwd $DBD_MYSQL_TESTUSER &>/dev/null && userdel -r $DBD_MYSQL_TESTUSER
    getent group $DBD_MYSQL_TESTUSER &>/dev/null && groupdel $DBD_MYSQL_TESTUSER
fi

popd
rm -rf "$DIR"
