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 20 setup() 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 "$P11_SO_PWD" ] 36 then 37 export P11_SO_PWD="P11 SO PWD" 38 fi 39 if [ -z "$NEW_P11_SO_PWD" ] 40 then 41 export NEW_P11_SO_PWD="NEW P11 SO PWD" 42 fi 43 if [ -z "$P11_USER_PWD" ] 44 then 45 export P11_USER_PWD="P11 USER PWD" 46 fi 47 if [ -z "$NEW_P11_USER_PWD" ] 48 then 49 export NEW_P11_USER_PWD="NEW P11 USER PWD" 50 fi 51 52 tst_resm TINFO "INIT: Inititalizing tests." 53 54 which tpmtoken_setpasswd 1>$TPM_TMPFILE 2>&1 || RC=$? 55 if [ $RC -ne 0 ] 56 then 57 tst_brk TBROK $TPM_TMPFILE NULL \ 58 "Setup: tpmtoken_setpasswd command does not exist. Reason:" 59 return $RC 60 fi 61 62 return $RC 63 } 64 65 test01() 66 { 67 RC=0 # Return value from commands 68 export TCID=tpmtoken_setpasswd01 # Test ID 69 export TST_COUNT=1 # Test number 70 71 tpmtoken_setpasswd_tests_exp01.sh 1>$TPM_TMPFILE 2>&1 || RC=$? 72 if [ $RC -eq 0 ] 73 then 74 tst_resm TPASS "'tpmtoken_setpasswd' passed." 75 RC=0 76 else 77 tst_res TFAIL $TPM_TMPFILE "'tpmtoken_setpasswd' failed." 78 RC=1 79 fi 80 return $RC 81 } 82 83 test02() 84 { 85 RC=0 # Return value from commands 86 export TCID=tpmtoken_setpasswd02 # Test ID 87 export TST_COUNT=2 # Test number 88 89 tpmtoken_setpasswd_tests_exp02.sh 1>$TPM_TMPFILE 2>&1 || RC=$? 90 if [ $RC -eq 0 ] 91 then 92 tst_resm TPASS "'tpmtoken_setpasswd --security-officer' passed." 93 RC=0 94 else 95 tst_res TFAIL $TPM_TMPFILE "'tpmtoken_setpasswd --security-officer' failed." 96 RC=1 97 fi 98 return $RC 99 } 100 101 test03() 102 { 103 RC=0 # Return value from commands 104 export TCID=tpmtoken_setpasswd03 # Test ID 105 export TST_COUNT=3 # Test number 106 107 tpmtoken_setpasswd_tests_exp03.sh 1>$TPM_TMPFILE 2>&1 || RC=$? 108 if [ $RC -eq 0 ] 109 then 110 tst_resm TPASS "'tpmtoken_setpasswd' passed." 111 RC=0 112 else 113 tst_res TFAIL $TPM_TMPFILE "'tpmtoken_setpasswd' failed." 114 RC=1 115 fi 116 return $RC 117 } 118 119 test04() 120 { 121 RC=0 # Return value from commands 122 export TCID=tpmtoken_setpasswd04 # Test ID 123 export TST_COUNT=4 # Test number 124 125 tpmtoken_setpasswd_tests_exp04.sh 1>$TPM_TMPFILE 2>&1 || RC=$? 126 if [ $RC -eq 0 ] 127 then 128 tst_resm TPASS "'tpmtoken_setpasswd --security-officer' passed." 129 RC=0 130 else 131 tst_res TFAIL $TPM_TMPFILE "'tpmtoken_setpasswd --security-officer' failed." 132 RC=1 133 fi 134 return $RC 135 } 136 137 cleanup() 138 { 139 rm -f $TPM_TMPFILE 2>&1 140 } 141 142 # Function: main 143 # 144 # Description: - Execute all tests, report results. 145 # 146 # Exit: - zero on success 147 # - non-zero on failure. 148 149 TFAILCNT=0 # Set TFAILCNT to 0, increment on failure. 150 RC=0 # Return code from tests. 151 152 export TCID=tpmtoken_setpasswd # Test ID 153 export TST_TOTAL=4 # Total numner of tests in this file. 154 export TST_COUNT=0 # Initialize identifier 155 156 if [ -n "$TPM_NOPKCS11" ] 157 then 158 tst_resm TINFO "'tpmtoken_setpasswd' skipped." 159 exit $TFAILCNT 160 fi 161 162 setup || exit $RC # Exit if initializing testcases fails. 163 164 test01 || TFAILCNT=$(($TFAILCNT+1)) 165 test02 || TFAILCNT=$(($TFAILCNT+1)) 166 test03 || TFAILCNT=$(($TFAILCNT+1)) 167 test04 || TFAILCNT=$(($TFAILCNT+1)) 168 169 cleanup 170 171 exit $TFAILCNT 172