tests:tpm2dtests: Modify tests with SWTPM and relax the condition.

* configure.ac (SWTPM_IOCTL): Remove.
(TEST_LIBTSS): Fix the condition.
* tests/tpm2dtests/Makefile.am (TESTS_ENVIRONMENT): Remove
SWTPM_IOCTL.
* tests/tpm2dtests/start_sw_tpm.sh: Add --flags to invoke SWTPM,
not requiring SWTPM_IOCTL and TSSSTARTUP any more.

--

GnuPG-bug-id: 6052
Signed-off-by: NIIBE Yutaka <gniibe@fsij.org>
This commit is contained in:
NIIBE Yutaka 2023-10-05 10:21:35 +09:00
parent 98dd6f7af6
commit 227b3b14f4
No known key found for this signature in database
GPG Key ID: 640114AF89DE6054
3 changed files with 29 additions and 32 deletions

View File

@ -1616,9 +1616,8 @@ if test "$build_tpm2d" = "yes"; then
AC_DEFINE(HAVE_LIBTSS, 1, [Defined if we have TPM2 support library])
# look for a TPM emulator for testing
AC_PATH_PROG(TPMSERVER, tpm_server)
AC_PATH_PROG(SWTPM, swtpm)
AC_PATH_PROG(SWTPM_IOCTL, swtpm_ioctl)
AC_PATH_PROG(TSSSTARTUP, tssstartup)
AC_PATH_PROG(SWTPM, swtpm)
fi
fi
if test "$have_libtss" = no; then
@ -1627,7 +1626,7 @@ fi
AC_SUBST(LIBTSS_LIBS)
AC_SUBST(LIBTSS_CFLAGS)
AM_CONDITIONAL(HAVE_LIBTSS, test "$have_libtss" != no)
AM_CONDITIONAL(TEST_LIBTSS, test -n "$TPMSERVER" -o -n "$SWTPM" -a -n "$TSSSTARTUP" -a -n "$SWTPM_IOCTL")
AM_CONDITIONAL(TEST_LIBTSS, test -n "$SWTPM" -o -n "$TPMSERVER" -a -n "$TSSSTARTUP")
AC_SUBST(HAVE_LIBTSS)
#

View File

@ -36,7 +36,6 @@ TESTS_ENVIRONMENT = LC_ALL=C \
objdir="$(abs_top_builddir)" \
TPMSERVER="$(TPMSERVER)" TSSSTARTUP="$(TSSSTARTUP)" \
SWTPM="$(SWTPM)" \
SWTPM_IOCTL="$(SWTPM_IOCTL)" \
GNUPG_BUILD_ROOT="$(abs_top_builddir)" \
GNUPG_IN_TEST_SUITE=fact \
GPGSCM_PATH="$(abs_top_srcdir)/tests/gpgscm"

View File

@ -3,36 +3,35 @@
# remove any prior TPM contents
rm -f NVChip h*.bin *.permall
if [ -x "${SWTPM}" ]; then
${SWTPM} socket --tpm2 --daemon \
--pid file=swtpm.pid \
--server type=tcp,port=2321 \
--ctrl type=tcp,port=2322 --tpmstate dir=`pwd`
pid=$(cat swtpm.pid)
${SWTPM} socket --tpm2 --daemon \
--pid file=swtpm.pid \
--server type=tcp,port=2321 \
--ctrl type=tcp,port=2322 \
--flags not-need-init,startup-clear \
--tpmstate dir=`pwd`
cat swtpm.pid
else
${TPMSERVER} > /dev/null 2>&1 &
pid=$!
fi
##
# This powers on the tpm and starts it
# then we derive the RSA version of the storage seed and
# store it permanently at handle 81000001 and flush the transient
##
a=0; while [ $a -lt 10 ]; do
if [ -x "${SWTPM_IOCTL}" ]; then
${SWTPM_IOCTL} --tcp 127.0.0.1:2322 -i > /dev/null 2>&1
else
tsspowerup > /dev/null 2>&1
##
# This powers on the tpm and starts it
# then we derive the RSA version of the storage seed and
# store it permanently at handle 81000001 and flush the transient
##
a=0
while [ $a -lt 10 ]; do
tsspowerup > /dev/null 2>&1
if [ $? -eq 0 ]; then
break;
fi
sleep 1
a=$[$a+1]
done
if [ $a -eq 10 ]; then
echo "Waited 10s for tpm_server to come up; exiting"
exit 1
fi
if [ $? -eq 0 ]; then
break;
fi
sleep 1
a=$[$a+1]
done
if [ $a -eq 10 ]; then
echo "Waited 10s for tpm_server to come up; exiting"
exit 1
fi
tssstartup || exit 1
echo -n $pid
${TSSSTARTUP} || exit 1
echo -n $pid
fi