diff --git a/Sanity/named/Run-internal-BIND-test-suite/main.fmf b/Sanity/named/Run-internal-BIND-test-suite/main.fmf index 0e259fa..0e60225 100644 --- a/Sanity/named/Run-internal-BIND-test-suite/main.fmf +++ b/Sanity/named/Run-internal-BIND-test-suite/main.fmf @@ -31,6 +31,7 @@ recommend: - gcc-c++ - python3-dns - python3-pytest + - opensc adjust+: - enabled: false when: distro == rhel diff --git a/Sanity/named/Run-internal-BIND-test-suite/runtest.sh b/Sanity/named/Run-internal-BIND-test-suite/runtest.sh index fc784bc..146c0aa 100755 --- a/Sanity/named/Run-internal-BIND-test-suite/runtest.sh +++ b/Sanity/named/Run-internal-BIND-test-suite/runtest.sh @@ -44,6 +44,8 @@ USER="user$RANDOM" # May cause more failures. : ${MAXCORES:=8} : ${WITHOUT:=--without DOC --without EXPORT_LIBS} +# Override default crypto-policy +: ${CRYPTO_POLICY:=} rlJournalStart rlPhaseStartSetup @@ -107,6 +109,9 @@ rlJournalStart rlRun "dnf config-manager --set-enabled $REPO" done fi + if rlIsRHEL 9; then + CRYPTO_POLICY=DEFAULT:SHA1 + fi # topdir if rlIsRHEL 3 || rlIsRHEL 4 || rlIsRHEL 5; then @@ -165,6 +170,16 @@ rlJournalStart rlRun "rpm -q perl-IO-Socket-INET6 || yum install -y 'perl(IO::Socket::INET6)' --enablerepo=\*" 0-255 # stop bind if it is running service named stop + + if [ -n "$CRYPTO_POLICY" ]; then + rlRun "BACKUP_CRYPTO_POLICY=$(update-crypto-policies --show)" 0 "Store original crypto policy" + rlRun "update-crypto-policies --set $CRYPTO_POLICY" 0 "Change crypto policy" + fi + + SOFTHSM2_MODULE="$(rpm -E '%{_libdir}/pkcs11/libsofthsm2.so')" + if [ -x "$SOFTHSM2_MODULE" ]; then + export SOFTHSM2_MODULE + fi rlPhaseEnd rlPhaseStartTest @@ -250,7 +265,8 @@ rlJournalStart # Try to fix tssgsig failures on some machines, do not use system kerberos configuration export KRB5_CONFIG=/dev/null - chmod a+rw -R /root #running as a USER + chmod a+x "$HOME" #running as a USER + chmod a+rX -R $(rpm -E %_builddir) RHEL9HACK="sudo -u $USER" set -o pipefail rlRun "${RHEL9HACK} make ${MAKE_TEST:-test -j$CORES} |& tee $TMPDIR/test.txt" 0-255 "Perform the test, --init-task=/distribution/install/rhel-buildroot is needed" @@ -262,6 +278,13 @@ rlJournalStart if [ -f bin/tests/system/testsummary.sh ]; then FAILED_TESTS=`grep '^R:[a-z0-9_-][a-z0-9_-]*:FAIL' $TMPDIR/test.txt | cut -d':' -f2 | sort | xargs echo` PASSED_TESTS=`grep '^R:[a-z0-9_-][a-z0-9_-]*:PASS' $TMPDIR/test.txt | cut -d':' -f2 | sort | xargs echo` + + # 9.18.29+ uses pytest to run some tests and generates failed output to different place + pushd bin/tests/system + for TMPDIR in *_tmp_*/; do + FAILED_TESTS+=" $TMPDIR" + done + popd if [ -n "$FAILED_TESTS" ]; then rlLog "Failed tests: $FAILED_TESTS" rlRun "tar czf $TMPDIR/failed-artifacts.tar.gz -C bin/tests/system $FAILED_TESTS" 0 "Archiving failed artifacts in tests" @@ -321,6 +344,9 @@ rlJournalStart if [ -r "$TMPDIR/failed-artifacts.tar.gz" ]; then rlFileSubmit "$TMPDIR/failed-artifacts.tar.gz" failed-artifacts.tar.gz fi + if [ -n "$CRYPTO_POLICY" ]; then + rlRun "update-crypto-policies --set $BACKUP_CRYPTO_POLICY" 0 "Restore original crypto policy" + fi rlRun "popd" rlServiceRestore "rngd" rlRun "rm -r $TMPDIR" 0 "Removing tmp directory"