#!/bin/bash
set -e

# RU: Некоторые тесты пишут во временные файлы/каталоги.
# EN: Some tests write temporary files/directories.
DIR=$(mktemp -d)
trap 'rm -rf "$DIR"' EXIT

pushd "$DIR" >/dev/null
cp -a /usr/libexec/perl-XML-SAX/* ./

# RU: Нерутовый пользователь не может корректно работать с системным ParserDetails.ini.
# EN: Non-root user cannot reliably work with the system ParserDetails.ini.
if [ "$(id -u)" -ne 0 ]; then
  rm -f t/01known.t t/20factory.t t/21saxini.t
  exec prove -I . -j "$(getconf _NPROCESSORS_ONLN)"
else
  cp -p "/usr/lib/perl5/5.42/vendor_perl/XML/SAX/ParserDetails.ini" "/usr/lib/perl5/5.42/vendor_perl/XML/SAX/ParserDetails.ini.backup"
  prove -I . -j "$(getconf _NPROCESSORS_ONLN)"
  mv "/usr/lib/perl5/5.42/vendor_perl/XML/SAX/ParserDetails.ini.backup" "/usr/lib/perl5/5.42/vendor_perl/XML/SAX/ParserDetails.ini"
fi
