diff --git a/gating.yaml b/gating.yaml new file mode 100644 index 0000000..648918d --- /dev/null +++ b/gating.yaml @@ -0,0 +1,6 @@ +--- !Policy +product_versions: + - rhel-9 +decision_context: osci_compose_gate +rules: + - !PassingTestCaseRule {test_case_name: osci.brew-build.tier0.functional} diff --git a/tests/runtest.sh b/tests/runtest.sh new file mode 100755 index 0000000..8b4dfac --- /dev/null +++ b/tests/runtest.sh @@ -0,0 +1,85 @@ +#!/bin/bash + +# get tpm simulator code +IBMTPM_VERSION=1661 +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 +# fixup for openssl 3 +sed -i -e "s|OPENSSL_VERSION_NUMBER >= 0x10200000L|OPENSSL_VERSION_NUMBER > 0x30000000L|" TpmToOsslMath.h +sed -i -e "s|CCFLAGS = -Wall|CCFLAGS = -Wall -Wno-error=deprecated-declarations|" makefile +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=5.0 +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 + +exit $success diff --git a/tests/tests.yml b/tests/tests.yml new file mode 100644 index 0000000..bef9263 --- /dev/null +++ b/tests/tests.yml @@ -0,0 +1,28 @@ +- hosts: localhost + roles: + - role: standard-test-basic + tags: + - classic + required_packages: + - gcc + - make + - automake + - wget + - openssl + - openssl-devel + - sed + - tpm2-tss + - tpm2-tss-devel + - tpm2-tools + - tpm2-abrmd + - tpm2-abrmd-selinux + - python3 + - git + - vim-common + - perl-Digest-SHA + - dbus-daemon + tests: + - intel-tpm2: + dir: . + run: dbus-run-session ./runtest.sh + timeout: 60m