#!/usr/bin/env bash # SPDX-License-Identifier: LGPL-2.1-or-later set -e TEST_DESCRIPTION="cryptenroll/cryptsetup with TPM2 devices" IMAGE_NAME="tpm2" TEST_NO_NSPAWN=1 TEST_REQUIRE_INSTALL_TESTS=0 # shellcheck source=test/test-functions . "${TEST_BASE_DIR:?}/test-functions" command -v swtpm >/dev/null 2>&1 || exit 0 command -v tpm2_pcrextend >/dev/null 2>&1 || exit 0 test_append_files() { ( local workspace="${1:?}" instmods tpm tpm_tis tpm_ibmvtpm install_dmevent generate_module_dependencies inst_binary tpm2_pcrextend ) } machine="$(uname -m)" tpmdevice="tpm-tis" if [ "$machine" = "ppc64le" ]; then # tpm-spapr support was introduced in qemu 5.0.0. Skip test for old qemu versions. qemu_min_version "5.0.0" || exit 0 tpmdevice="tpm-spapr" fi tpmstate=$(mktemp -d) swtpm socket --tpm2 --tpmstate dir="$tpmstate" --ctrl type=unixio,path="$tpmstate/sock" & trap 'kill %%; rm -rf $tpmstate' SIGINT EXIT QEMU_OPTIONS="-chardev socket,id=chrtpm,path=$tpmstate/sock -tpmdev emulator,id=tpm0,chardev=chrtpm -device $tpmdevice,tpmdev=tpm0" do_test "$@"