gnupg2 tpm2d tests do not work
Closed, ResolvedPublic

Assigned To
Authored By
Jakuje
Jul 4 2022, 10:39 AM
Subscribers

Description

At this moment, we do not build gnupg2 with tpm2 support and without tpm2d mostly because I was not able to make the tests in the tpm2dtests directory working. I already noticed that the release tarball is missing the setup.scm file, but even if I add it to the place, the tests keep failing with errors like this:

LC_ALL=C EXEEXT= PATH="../gpgscm:/builddir/.local/bin:/builddir/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/sbin" abs_top_srcdir="/builddir/build/BUILD/gnupg-2.3.6" objdir="/builddir/build/BUILD/gnupg-2.3.6" TPMSERVER="" SWTPM="/bin/swtpm" SWTPM_IOCTL="" GNUPG_BUILD_ROOT="/builddir/build/BUILD/gnupg-2.3.6/tests" GPGSCM_PATH="/builddir/build/BUILD/gnupg-2.3.6/tests/gpgscm" /builddir/build/BUILD/gnupg-2.3.6/tests/gpgscm/gpgscm \
  /builddir/build/BUILD/gnupg-2.3.6/tests/tpm2dtests/run-tests.scm  
gpgscm: error running '/builddir/build/BUILD/gnupg-2.3.6/tests/tools/gpgconf': probably not installed
(wait-process "/builddir/build/BUILD/gnupg-2.3.6/tests/tools/gpgconf" 49511 #t): Configuration error

(note the path tests/tools/gpgconf to the gpgconf, which does not exist)

Details

External Link
https://bugzilla.redhat.com/show_bug.cgi?id=2089075
Version
master, 2.3.6

Event Timeline

• werner claimed this task.
• werner triaged this task as Normal priority.

The provided change does not look like fixing the problem for me. The path to gpgconf is still wrong and I am getting the same error both with master and with the patched tarballs:

make[2]: Entering directory '/home/jjelen/devel/gnupg/tests/tpm2dtests'
LC_ALL=C EXEEXT= PATH="../gpgscm:/home/jjelen/.local/bin:/home/jjelen/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin" abs_top_srcdir="/home/jjelen/devel/gnupg" objdir="/home/jjelen/devel/gnupg" TPMSERVER="" SWTPM="/bin/swtpm" SWTPM_IOCTL="/bin/swtpm_ioctl" GNUPG_BUILD_ROOT="/home/jjelen/devel/gnupg/tests" GPGSCM_PATH="/home/jjelen/devel/gnupg/tests/gpgscm" /home/jjelen/devel/gnupg/tests/gpgscm/gpgscm \
  /home/jjelen/devel/gnupg/tests/tpm2dtests/run-tests.scm  
gpgscm: error running '/home/jjelen/devel/gnupg/tests/tools/gpgconf': probably not installed
(wait-process "/home/jjelen/devel/gnupg/tests/tools/gpgconf" 2693795 #t): Configuration error

This still did not seem to help me in making the tests working on Fedora with git master. I am still getting wrong paths to the gpgconf

gpgscm: error running '/root/gnupg/tests/tools/gpgconf': probably not installed

There is a full reproducer and more complete log in https://bugzilla.redhat.com/show_bug.cgi?id=2089075#c11

I pushed rG321f9c0a3f28: tests:tpm2dtests: Fix tests with TPM2D. and rG98dd6f7af6aa: tests:tpm2dtests: Fix tests with SWTPM. (and other small changes).
Now, it works with two cases:

  • tpm_server
  • swtpm, swtpm_ioctl, and tssstartup

I think that it is the original tpm2dtests was intended.

IIUC, the Fedora build doesn't use swtpm_ioctl and tssstartup. Let me investigate this case. I need to learn around swtpm things.

• gniibe changed the task status from Open to Testing.Oct 5 2023, 3:28 AM

OK. I pushed: rG227b3b14f4be: tests:tpm2dtests: Modify tests with SWTPM and relax the condition.
... which doesn't require swtpm_ioctl and tssstartup any more.

I'll backport the changes to 2.4.

No test environment in our QA dept.