1097ece1648aa33ea69bbf1873bb42945e7540703mridge#! /bin/sh
2097ece1648aa33ea69bbf1873bb42945e7540703mridge#
3097ece1648aa33ea69bbf1873bb42945e7540703mridge# Copyright (c) International Business Machines  Corp., 2005
4097ece1648aa33ea69bbf1873bb42945e7540703mridge#
5097ece1648aa33ea69bbf1873bb42945e7540703mridge# This program is free software;  you can redistribute it and#or modify
6097ece1648aa33ea69bbf1873bb42945e7540703mridge# it under the terms of the GNU General Public License as published by
7097ece1648aa33ea69bbf1873bb42945e7540703mridge# the Free Software Foundation; either version 2 of the License, or
8097ece1648aa33ea69bbf1873bb42945e7540703mridge# (at your option) any later version.
9097ece1648aa33ea69bbf1873bb42945e7540703mridge#
10097ece1648aa33ea69bbf1873bb42945e7540703mridge# This program is distributed in the hope that it will be useful, but
11097ece1648aa33ea69bbf1873bb42945e7540703mridge# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
12097ece1648aa33ea69bbf1873bb42945e7540703mridge# or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
13097ece1648aa33ea69bbf1873bb42945e7540703mridge# for more details.
14097ece1648aa33ea69bbf1873bb42945e7540703mridge#
15097ece1648aa33ea69bbf1873bb42945e7540703mridge# You should have received a copy of the GNU General Public License
16097ece1648aa33ea69bbf1873bb42945e7540703mridge# along with this program;  if not, write to the Free Software
174548c6cf9bcdd96d8303caa4130ab638b61f8a30Wanlong Gao# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
18097ece1648aa33ea69bbf1873bb42945e7540703mridge#
19097ece1648aa33ea69bbf1873bb42945e7540703mridge
20097ece1648aa33ea69bbf1873bb42945e7540703mridgesetup()
21097ece1648aa33ea69bbf1873bb42945e7540703mridge{
22097ece1648aa33ea69bbf1873bb42945e7540703mridge	RC=0				# Return code from commands.
23097ece1648aa33ea69bbf1873bb42945e7540703mridge
24097ece1648aa33ea69bbf1873bb42945e7540703mridge	if [ -z "$LTPTMP" ] && [ -z "$TMPBASE" ]
25097ece1648aa33ea69bbf1873bb42945e7540703mridge	then
26097ece1648aa33ea69bbf1873bb42945e7540703mridge		LTPTMP="/tmp"
27097ece1648aa33ea69bbf1873bb42945e7540703mridge	else
28097ece1648aa33ea69bbf1873bb42945e7540703mridge		LTPTMP="$TMPBASE"
29097ece1648aa33ea69bbf1873bb42945e7540703mridge	fi
30097ece1648aa33ea69bbf1873bb42945e7540703mridge
31097ece1648aa33ea69bbf1873bb42945e7540703mridge	export TPM_TMPFILE="$LTPTMP/tst_tpm.err"
32097ece1648aa33ea69bbf1873bb42945e7540703mridge	rm -f $TPM_TMPFILE 2>&1
33097ece1648aa33ea69bbf1873bb42945e7540703mridge
34097ece1648aa33ea69bbf1873bb42945e7540703mridge	# Set known password values
35097ece1648aa33ea69bbf1873bb42945e7540703mridge	if [ -z "$OWN_PWD" ]
36097ece1648aa33ea69bbf1873bb42945e7540703mridge	then
37097ece1648aa33ea69bbf1873bb42945e7540703mridge		export OWN_PWD="OWN PWD"
38097ece1648aa33ea69bbf1873bb42945e7540703mridge	fi
39097ece1648aa33ea69bbf1873bb42945e7540703mridge	if [ -z "$SRK_PWD" ]
40097ece1648aa33ea69bbf1873bb42945e7540703mridge	then
41097ece1648aa33ea69bbf1873bb42945e7540703mridge		export SRK_PWD="SRK PWD"
42097ece1648aa33ea69bbf1873bb42945e7540703mridge	fi
43097ece1648aa33ea69bbf1873bb42945e7540703mridge	if [ -z "$NEW_OWN_PWD" ]
44097ece1648aa33ea69bbf1873bb42945e7540703mridge	then
45097ece1648aa33ea69bbf1873bb42945e7540703mridge		export NEW_OWN_PWD="NEW OWN PWD"
46097ece1648aa33ea69bbf1873bb42945e7540703mridge	fi
47097ece1648aa33ea69bbf1873bb42945e7540703mridge	if [ -z "$NEW_SRK_PWD" ]
48097ece1648aa33ea69bbf1873bb42945e7540703mridge	then
49097ece1648aa33ea69bbf1873bb42945e7540703mridge		export NEW_SRK_PWD="NEW SRK PWD"
50097ece1648aa33ea69bbf1873bb42945e7540703mridge	fi
51097ece1648aa33ea69bbf1873bb42945e7540703mridge
52097ece1648aa33ea69bbf1873bb42945e7540703mridge	tst_resm TINFO "INIT: Inititalizing tests."
53097ece1648aa33ea69bbf1873bb42945e7540703mridge
54097ece1648aa33ea69bbf1873bb42945e7540703mridge	which tpm_changeownerauth 1>$TPM_TMPFILE 2>&1 || RC=$?
55097ece1648aa33ea69bbf1873bb42945e7540703mridge	if [ $RC -ne 0 ]
56097ece1648aa33ea69bbf1873bb42945e7540703mridge	then
57097ece1648aa33ea69bbf1873bb42945e7540703mridge		tst_brk TBROK $TPM_TMPFILE NULL \
58097ece1648aa33ea69bbf1873bb42945e7540703mridge			"Setup: tpm_changeownerauth command does not exist. Reason:"
59097ece1648aa33ea69bbf1873bb42945e7540703mridge		return $RC
60097ece1648aa33ea69bbf1873bb42945e7540703mridge	fi
61097ece1648aa33ea69bbf1873bb42945e7540703mridge
62097ece1648aa33ea69bbf1873bb42945e7540703mridge	return $RC
63097ece1648aa33ea69bbf1873bb42945e7540703mridge}
64097ece1648aa33ea69bbf1873bb42945e7540703mridge
65097ece1648aa33ea69bbf1873bb42945e7540703mridgetest01()
66097ece1648aa33ea69bbf1873bb42945e7540703mridge{
67097ece1648aa33ea69bbf1873bb42945e7540703mridge	RC=0				# Return value from commands
68097ece1648aa33ea69bbf1873bb42945e7540703mridge	export TCID=tpm_changeauth01	# Test ID
69097ece1648aa33ea69bbf1873bb42945e7540703mridge	export TST_COUNT=1		# Test number
70097ece1648aa33ea69bbf1873bb42945e7540703mridge
71097ece1648aa33ea69bbf1873bb42945e7540703mridge	tpm_changeauth_tests_exp01.sh 1>$TPM_TMPFILE 2>&1 || RC=$?
72097ece1648aa33ea69bbf1873bb42945e7540703mridge	if [ $RC -eq 0 ]
73097ece1648aa33ea69bbf1873bb42945e7540703mridge	then
74097ece1648aa33ea69bbf1873bb42945e7540703mridge		tst_resm TPASS "'tpm_changeauth -o' passed."
75097ece1648aa33ea69bbf1873bb42945e7540703mridge		RC=0
76097ece1648aa33ea69bbf1873bb42945e7540703mridge	else
77097ece1648aa33ea69bbf1873bb42945e7540703mridge		tst_res TFAIL $TPM_TMPFILE "'tpm_changeauth -o' failed."
78097ece1648aa33ea69bbf1873bb42945e7540703mridge		RC=1
79097ece1648aa33ea69bbf1873bb42945e7540703mridge	fi
80097ece1648aa33ea69bbf1873bb42945e7540703mridge	return $RC
81097ece1648aa33ea69bbf1873bb42945e7540703mridge}
82097ece1648aa33ea69bbf1873bb42945e7540703mridge
83097ece1648aa33ea69bbf1873bb42945e7540703mridgetest02()
84097ece1648aa33ea69bbf1873bb42945e7540703mridge{
85097ece1648aa33ea69bbf1873bb42945e7540703mridge	RC=0				# Return value from commands
86097ece1648aa33ea69bbf1873bb42945e7540703mridge	export TCID=tpm_changeauth02	# Test ID
87097ece1648aa33ea69bbf1873bb42945e7540703mridge	export TST_COUNT=2		# Test number
88097ece1648aa33ea69bbf1873bb42945e7540703mridge
89097ece1648aa33ea69bbf1873bb42945e7540703mridge	tpm_changeauth_tests_exp02.sh 1>$TPM_TMPFILE 2>&1 || RC=$?
90097ece1648aa33ea69bbf1873bb42945e7540703mridge	if [ $RC -eq 0 ]
91097ece1648aa33ea69bbf1873bb42945e7540703mridge	then
92097ece1648aa33ea69bbf1873bb42945e7540703mridge		tst_resm TPASS "'tpm_changeauth -s' passed."
93097ece1648aa33ea69bbf1873bb42945e7540703mridge		RC=0
94097ece1648aa33ea69bbf1873bb42945e7540703mridge	else
95097ece1648aa33ea69bbf1873bb42945e7540703mridge		tst_res TFAIL $TPM_TMPFILE "'tpm_changeauth -s' failed."
96097ece1648aa33ea69bbf1873bb42945e7540703mridge		RC=1
97097ece1648aa33ea69bbf1873bb42945e7540703mridge	fi
98097ece1648aa33ea69bbf1873bb42945e7540703mridge	return $RC
99097ece1648aa33ea69bbf1873bb42945e7540703mridge}
100097ece1648aa33ea69bbf1873bb42945e7540703mridge
101097ece1648aa33ea69bbf1873bb42945e7540703mridgetest03()
102097ece1648aa33ea69bbf1873bb42945e7540703mridge{
103097ece1648aa33ea69bbf1873bb42945e7540703mridge	RC=0				# Return value from commands
104097ece1648aa33ea69bbf1873bb42945e7540703mridge	export TCID=tpm_changeauth03	# Test ID
105097ece1648aa33ea69bbf1873bb42945e7540703mridge	export TST_COUNT=3		# Test number
106097ece1648aa33ea69bbf1873bb42945e7540703mridge
107097ece1648aa33ea69bbf1873bb42945e7540703mridge	tpm_changeauth_tests_exp03.sh 1>$TPM_TMPFILE 2>&1 || RC=$?
108097ece1648aa33ea69bbf1873bb42945e7540703mridge	if [ $RC -eq 0 ]
109097ece1648aa33ea69bbf1873bb42945e7540703mridge	then
110097ece1648aa33ea69bbf1873bb42945e7540703mridge		tst_resm TPASS "'tpm_changeauth -s -o' passed."
111097ece1648aa33ea69bbf1873bb42945e7540703mridge		RC=0
112097ece1648aa33ea69bbf1873bb42945e7540703mridge	else
113097ece1648aa33ea69bbf1873bb42945e7540703mridge		tst_res TFAIL $TPM_TMPFILE "'tpm_changeauth -s -o' failed."
114097ece1648aa33ea69bbf1873bb42945e7540703mridge		RC=1
115097ece1648aa33ea69bbf1873bb42945e7540703mridge	fi
116097ece1648aa33ea69bbf1873bb42945e7540703mridge	return $RC
117097ece1648aa33ea69bbf1873bb42945e7540703mridge}
118097ece1648aa33ea69bbf1873bb42945e7540703mridge
119097ece1648aa33ea69bbf1873bb42945e7540703mridgecleanup()
120097ece1648aa33ea69bbf1873bb42945e7540703mridge{
121097ece1648aa33ea69bbf1873bb42945e7540703mridge	rm -f $TPM_TMPFILE 2>&1
122097ece1648aa33ea69bbf1873bb42945e7540703mridge}
123097ece1648aa33ea69bbf1873bb42945e7540703mridge
124097ece1648aa33ea69bbf1873bb42945e7540703mridge# Function:	main
125097ece1648aa33ea69bbf1873bb42945e7540703mridge#
126097ece1648aa33ea69bbf1873bb42945e7540703mridge# Description:	- Execute all tests, report results.
127097ece1648aa33ea69bbf1873bb42945e7540703mridge#
128097ece1648aa33ea69bbf1873bb42945e7540703mridge# Exit:		- zero on success
129097ece1648aa33ea69bbf1873bb42945e7540703mridge# 		- non-zero on failure.
130097ece1648aa33ea69bbf1873bb42945e7540703mridge
131097ece1648aa33ea69bbf1873bb42945e7540703mridgeTFAILCNT=0			# Set TFAILCNT to 0, increment on failure.
132097ece1648aa33ea69bbf1873bb42945e7540703mridgeRC=0				# Return code from tests.
133097ece1648aa33ea69bbf1873bb42945e7540703mridge
134097ece1648aa33ea69bbf1873bb42945e7540703mridgeexport TCID=tpm_changeauth	# Test ID
135097ece1648aa33ea69bbf1873bb42945e7540703mridgeexport TST_TOTAL=3		# Total numner of tests in this file.
136097ece1648aa33ea69bbf1873bb42945e7540703mridgeexport TST_COUNT=0		# Initialize identifier
137097ece1648aa33ea69bbf1873bb42945e7540703mridge
138097ece1648aa33ea69bbf1873bb42945e7540703mridgesetup || exit $RC		# Exit if initializing testcases fails.
139097ece1648aa33ea69bbf1873bb42945e7540703mridge
140097ece1648aa33ea69bbf1873bb42945e7540703mridgetest01 || TFAILCNT=$(($TFAILCNT+1))
141097ece1648aa33ea69bbf1873bb42945e7540703mridgetest02 || TFAILCNT=$(($TFAILCNT+1))
142097ece1648aa33ea69bbf1873bb42945e7540703mridgetest03 || TFAILCNT=$(($TFAILCNT+1))
143097ece1648aa33ea69bbf1873bb42945e7540703mridge
144097ece1648aa33ea69bbf1873bb42945e7540703mridgecleanup
145097ece1648aa33ea69bbf1873bb42945e7540703mridge
146097ece1648aa33ea69bbf1873bb42945e7540703mridgeexit $TFAILCNT
147