summaryrefslogtreecommitdiffstats
path: root/src/tests/dejagnu/krb-standalone
diff options
context:
space:
mode:
authorKen Raeburn <raeburn@mit.edu>2008-11-07 23:51:42 +0000
committerKen Raeburn <raeburn@mit.edu>2008-11-07 23:51:42 +0000
commitd35c5583b230b5cbb5929ae9fd44a692fbb131d2 (patch)
treeb66be79a929464533d3999916d6067d2531fdcda /src/tests/dejagnu/krb-standalone
parent9b8190bf01dbe7fd6c81fe4de4f7e9c53deaf22c (diff)
downloadkrb5-d35c5583b230b5cbb5929ae9fd44a692fbb131d2.tar.gz
krb5-d35c5583b230b5cbb5929ae9fd44a692fbb131d2.tar.xz
krb5-d35c5583b230b5cbb5929ae9fd44a692fbb131d2.zip
Re-add repaired iprop (really, update-log creation) test case
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@21044 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/tests/dejagnu/krb-standalone')
-rw-r--r--src/tests/dejagnu/krb-standalone/iprop.exp124
1 files changed, 124 insertions, 0 deletions
diff --git a/src/tests/dejagnu/krb-standalone/iprop.exp b/src/tests/dejagnu/krb-standalone/iprop.exp
new file mode 100644
index 000000000..f4e4be25a
--- /dev/null
+++ b/src/tests/dejagnu/krb-standalone/iprop.exp
@@ -0,0 +1,124 @@
+# Password-changing Kerberos test.
+# This is a DejaGnu test script.
+
+# Set up the Kerberos files and environment.
+if {![get_hostname] || ![setup_kerberos_files] || ![setup_kerberos_env]} {
+ return
+}
+
+# We are about to start up a couple of daemon processes. We do all
+# the rest of the tests inside a proc, so that we can easily kill the
+# processes when the procedure ends.
+
+proc doit { } {
+ global REALMNAME
+ global KLIST
+ global KDESTROY
+ global KEY
+ global KADMIN_LOCAL
+ global KTUTIL
+ global hostname
+ global tmppwd
+ global spawn_id
+ global supported_enctypes
+ global KRBIV
+ global portbase
+ global mode
+ global KPROPLOG
+ global ulog des3_krbtgt
+
+ # Delete any db, ulog files
+ file delete $tmppwd/db $tmppwd/db.ok $tmppwd/db.ulog
+
+ # Update config file
+ set ulog 1
+ reset_kerberos_files
+
+ # Initialize the Kerberos database. The argument tells
+ # setup_kerberos_db that it is being called from here.
+ if ![setup_kerberos_db 0] {
+ return
+ }
+ if ![start_kerberos_daemons 0] {
+ return
+ }
+
+ # Check that ulog file does exist
+ if [file exists $tmppwd/db.ulog] {
+ pass "create update log"
+ } else {
+ fail "create update log"
+ }
+
+ # Use kadmin to add a key.
+ if ![add_kerberos_key wakawaka 0] {
+ return
+ }
+
+ # Run kproplog, look at output.
+ spawn $KPROPLOG
+ expect_after {
+ timeout {
+ fail "kproplog output"
+ break
+ }
+ eof {
+ fail "kproplog output"
+ break
+ }
+ }
+ catch {
+ expect -re "Kerberos update log"
+ expect -re "Update log dump"
+ expect -re "First serial \# : 1"
+ if $des3_krbtgt {
+ expect -re "Last serial \# : 3"
+ expect -re "Update Entry"
+ expect -re "Update serial \# : 1"
+ expect -re "Attributes changed : 15"
+ expect -re "Update Entry"
+ expect -re "Update serial \# : 2"
+ expect -re "Attributes changed : 6"
+ expect -re "Update Entry"
+ expect -re "Update serial \# : 3"
+ } else {
+ expect -re "Last serial \# : 2"
+ expect -re "Update Entry"
+ expect -re "Update serial \# : 1"
+ expect -re "Attributes changed : 15"
+ expect -re "Update Entry"
+ expect -re "Update serial \# : 2"
+ }
+ expect -re "Update operation : Add"
+ expect -re "Update principal : wakawaka@KRBTEST.COM"
+ expect_after {
+ timeout {
+ fail "kproplog output"
+ break
+ }
+ }
+ expect -re "Attributes changed : 15"
+ expect eof
+ } foo
+ pass "kproplog output"
+ catch expect_after
+ if [check_exit_status kproplog] {
+ pass "kproplog exit status"
+ } else {
+ fail "kproplog exit status"
+ }
+}
+
+set status [catch doit msg]
+
+stop_kerberos_daemons
+
+set ulog 0
+reset_kerberos_files
+file delete $tmppwd/adb $tmppwd/adb.ok $tmppwd/db.ulog
+
+if { $status != 0 } {
+ send_error "ERROR: error in iprop.exp\n"
+ send_error "$msg\n"
+ exit 1
+}