1#! /bin/sh 2# 3# Copyright (c) International Business Machines Corp., 2005 4# 5# This program is free software; you can redistribute it and#or modify 6# it under the terms of the GNU General Public License as published by 7# the Free Software Foundation; either version 2 of the License, or 8# (at your option) any later version. 9# 10# This program is distributed in the hope that it will be useful, but 11# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 12# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 13# for more details. 14# 15# You should have received a copy of the GNU General Public License 16# along with this program; if not, write to the Free Software 17# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 18# 19 20setup() 21{ 22 RC=0 # Return code from commands. 23 24 if [ -z "$LTPTMP" ] && [ -z "$TMPBASE" ] 25 then 26 LTPTMP="/tmp" 27 else 28 LTPTMP="$TMPBASE" 29 fi 30 31 export TPM_TMPFILE="$LTPTMP/tst_tpm.err" 32 rm -f $TPM_TMPFILE 2>&1 33 34 # Set known password values 35 if [ -z "$OWN_PWD" ] 36 then 37 export OWN_PWD="OWN PWD" 38 fi 39 if [ -z "$SRK_PWD" ] 40 then 41 export SRK_PWD="SRK PWD" 42 fi 43 if [ -z "$P11_SO_PWD" ] 44 then 45 export P11_SO_PWD="P11 SO PWD" 46 fi 47 if [ -z "$P11_USER_PWD" ] 48 then 49 export P11_USER_PWD="P11 USER PWD" 50 fi 51 52 tst_resm TINFO "INIT: Inititalizing tests." 53 54 which tpmtoken_init 1>$TPM_TMPFILE 2>&1 || RC=$? 55 if [ $RC -ne 0 ] 56 then 57 tst_brk TBROK $TPM_TMPFILE NULL \ 58 "Setup: tpmtoken_init command does not exist. Reason:" 59 return $RC 60 fi 61 62 tpmtoken_init_tests_exp00.sh 1>$TPM_TMPFILE 2>&1 || RC=$? 63 if [ $RC -ne 0 ] 64 then 65 tst_brk TBROK $TPM_TMPFILE NULL \ 66 "Setup: cannot set SRK password. Reason:" 67 return $RC 68 fi 69 70 return $RC 71} 72 73test01() 74{ 75 RC=0 # Return value from commands 76 export TCID=tpmtoken_init01 # Test ID 77 export TST_COUNT=1 # Test number 78 79 tpmtoken_init_tests_exp01.sh 1>$TPM_TMPFILE 2>&1 || RC=$? 80 if [ $RC -eq 0 ] 81 then 82 tst_resm TPASS "'tpmtoken_init' passed." 83 RC=0 84 else 85 tst_res TFAIL $TPM_TMPFILE "'tpmtoken_init' failed." 86 RC=1 87 fi 88 return $RC 89} 90 91test02() 92{ 93 RC=0 # Return value from commands 94 export TCID=tpmtoken_init02 # Test ID 95 export TST_COUNT=2 # Test number 96 97 tpmtoken_init_tests_exp02.sh 1>$TPM_TMPFILE 2>&1 || RC=$? 98 if [ $RC -eq 0 ] 99 then 100 tst_resm TPASS "'tpmtoken_init' passed." 101 RC=0 102 else 103 tst_res TFAIL $TPM_TMPFILE "'tpmtoken_init' failed." 104 RC=1 105 fi 106 return $RC 107} 108 109test03() 110{ 111 RC=0 # Return value from commands 112 export TCID=tpmtoken_init03 # Test ID 113 export TST_COUNT=3 # Test number 114 115 tpmtoken_init_tests_exp03.sh 1>$TPM_TMPFILE 2>&1 || RC=$? 116 if [ $RC -eq 0 ] 117 then 118 tst_resm TPASS "'tpmtoken_init -y' passed." 119 RC=0 120 else 121 tst_res TFAIL $TPM_TMPFILE "'tpmtoken_init -y' failed." 122 RC=1 123 fi 124 return $RC 125} 126 127cleanup() 128{ 129 rm -f $TPM_TMPFILE 2>&1 130} 131 132# Function: main 133# 134# Description: - Execute all tests, report results. 135# 136# Exit: - zero on success 137# - non-zero on failure. 138 139TFAILCNT=0 # Set TFAILCNT to 0, increment on failure. 140RC=0 # Return code from tests. 141 142export TCID=tpmtoken_init # Test ID 143export TST_TOTAL=3 # Total numner of tests in this file. 144export TST_COUNT=0 # Initialize identifier 145 146if [ -n "$TPM_NOPKCS11" ] 147then 148 tst_resm TINFO "'tpmtoken_init' skipped." 149 exit $TFAILCNT 150fi 151 152setup || exit $RC # Exit if initializing testcases fails. 153 154test01 || TFAILCNT=$(($TFAILCNT+1)) 155test02 || TFAILCNT=$(($TFAILCNT+1)) 156test03 || TFAILCNT=$(($TFAILCNT+1)) 157 158cleanup 159 160exit $TFAILCNT 161