From f27ce819ebd664e81cee54b74b9580da475af0dd Mon Sep 17 00:00:00 2001 From: Adam Samalik Date: Mon, 10 Jul 2023 13:09:31 +0200 Subject: [PATCH] re-import sources as agreed with the maintainer --- .gitignore | 2 ++ tests/runtest.sh | 85 ++++++++++++++++++++++++++++++++++++++++++++++++ tests/tests.yml | 27 +++++++++++++++ 3 files changed, 114 insertions(+) create mode 100755 tests/runtest.sh create mode 100644 tests/tests.yml diff --git a/.gitignore b/.gitignore index 65ccee6..7f8fa5c 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,3 @@ +/tpm2-tools-3.1.1.tar.gz +/tpm2-tools-3.2.1.tar.gz /tpm2-tools-4.1.1.tar.gz diff --git a/tests/runtest.sh b/tests/runtest.sh new file mode 100755 index 0000000..6403914 --- /dev/null +++ b/tests/runtest.sh @@ -0,0 +1,85 @@ +#!/bin/bash + +# get tpm simulator code +IBMTPM_VERSION=1332 +wget --no-check-certificate https://downloads.sourceforge.net/project/ibmswtpm2/ibmtpm$IBMTPM_VERSION.tar.gz + +res="$?" + +if [[ "$res" -ne 0 ]]; then + echo "wget failed" + exit 1 +fi + +# unpackage and build the source +mkdir ibmtpm +pushd ibmtpm +tar xf ../ibmtpm$IBMTPM_VERSION.tar.gz +pushd src +make + +res="$?" + +if [[ "$res" -ne 0 ]]; then + echo "make of ibmtpm failed" + popd + popd + rm -rf ibmtpm ibmtpm$IBMTPM_VERSION.tar.gz + exit 1 +fi +popd +popd + +# get tpm2-tools tests +TPM2_TOOLS_VERSION=4.1.1 +git clone https://github.com/01org/tpm2-tools.git +pushd tpm2-tools +git checkout -b test $TPM2_TOOLS_VERSION +pushd test/integration +sed -i -e 's/python/python3/g' helpers.sh +pushd tests +sed -i -e 's/python/python3/g' *.sh +# some tests aren't executable currently. Needs to be fixed upstream. +chmod +x *.sh +popd +popd +popd + +TPM2_ABRMD=tpm2-abrmd +TPM2_SIM=tpm_server +TPM2_TOOLS_TEST_FIXTURES=`pwd`/tpm2-tools/test/integration/fixtures +PATH=`pwd`/ibmtpm/src/:.:$PATH +export TPM2_ABRMD TPM2_SIM TPM2_TOOLS_TEST_FIXTURES PATH + +pushd tpm2-tools/test/integration +for t in `ls tests/*.sh` +do + f=`basename $t` + test=${f%%.*} + /usr/share/automake-1.16/test-driver --test-name $test --log-file $test.log --trs-file $test.trs $t +done +all=`grep ":test-result:" *.trs | wc -l`; +pass=`grep ":test-result: PASS" *.trs | wc -l`; +fail=`grep ":test-result: FAIL" *.trs | wc -l`; +skip=`grep ":test-result: SKIP" *.trs | wc -l`; +xfail=`grep ":test-result: XFAIL" *.trs | wc -l`; +xpass=`grep ":test-result: XPASS" *.trs | wc -l`; +error=`grep ":test-result: ERROR" *.trs | wc -l`; +if [[ $(($fail + $xpass + $error)) -eq 0 ]]; then + success=0 +else + success=1 +fi; +popd + +echo PASSED: $pass +echo FAILED: $fail +echo SKIPPED: $skip +echo XFAIL: $xfail +echo XPASS: $xpass +echo ERROR: $error + +# clean up +rm -rf ibmtpm ibmtpm$IBMTPM_VERSION.tar.gz tpm2-tools + +exit $success diff --git a/tests/tests.yml b/tests/tests.yml new file mode 100644 index 0000000..afa1d83 --- /dev/null +++ b/tests/tests.yml @@ -0,0 +1,27 @@ +- hosts: localhost + roles: + - role: standard-test-basic + tags: + - classic + required_packages: + - gcc + - make + - automake + - wget + - openssl-devel + - sed + - tpm2-tss + - tpm2-tss-devel + - tpm2-tools + - tpm2-abrmd + - tpm2-abrmd-selinux + - python36 + - git + - vim-common + - perl-Digest-SHA + - dbus + tests: + - intel-tpm2: + dir: . + run: dbus-run-session ./runtest.sh + timeout: 60m