aboutsummaryrefslogtreecommitdiff
path: root/src/tests
diff options
context:
space:
mode:
authorTom Yu <tlyu@mit.edu>2002-11-09 01:39:45 +0000
committerTom Yu <tlyu@mit.edu>2002-11-09 01:39:45 +0000
commit6aad500e71be103d9331b0b07fdee8af1d8a52e7 (patch)
tree5d0813cdbcb539cad3978d25f6c77a0f9f18b465 /src/tests
parent8332ab8173087562194e4306c6909863cce7cad7 (diff)
downloadkrb5-6aad500e71be103d9331b0b07fdee8af1d8a52e7.zip
krb5-6aad500e71be103d9331b0b07fdee8af1d8a52e7.tar.gz
krb5-6aad500e71be103d9331b0b07fdee8af1d8a52e7.tar.bz2
tests/dejagnu leaks ptys
* default.exp: Add (disabled) debugging code for catching leaking ptys. expect eof from the correct spawn_ids when killing kdc and kadmind to avoid leaking ptys. ticket: new status: open git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@14984 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/tests')
-rw-r--r--src/tests/dejagnu/config/ChangeLog6
-rw-r--r--src/tests/dejagnu/config/default.exp36
2 files changed, 38 insertions, 4 deletions
diff --git a/src/tests/dejagnu/config/ChangeLog b/src/tests/dejagnu/config/ChangeLog
index 0ae598d..83a2d90 100644
--- a/src/tests/dejagnu/config/ChangeLog
+++ b/src/tests/dejagnu/config/ChangeLog
@@ -1,3 +1,9 @@
+2002-11-08 Tom Yu <tlyu@mit.edu>
+
+ * default.exp: Add (disabled) debugging code for catching leaking
+ ptys. expect eof from the correct spawn_ids when killing kdc and
+ kadmind to avoid leaking ptys.
+
2002-10-07 Tom Yu <tlyu@mit.edu>
* default.exp (stop_kerberos_daemons): Kill, expect eof, wait, in
diff --git a/src/tests/dejagnu/config/default.exp b/src/tests/dejagnu/config/default.exp
index 843c890..4eb76ca 100644
--- a/src/tests/dejagnu/config/default.exp
+++ b/src/tests/dejagnu/config/default.exp
@@ -34,6 +34,26 @@ set kdc_supported_enctypes "des-cbc-crc:normal"
# request a des-cbc-md4 session key. Since only des-cbc-crc is in the
# KDC's permitted_enctypes list, the TGT will be unusable.
+# KLUDGE for tracking down leaking ptys
+if 0 {
+ rename spawn oldspawn
+ rename wait oldwait
+ proc spawn { args } {
+ upvar 1 spawn_id spawn_id
+ verbose "spawn: args=$args"
+ set pid [eval oldspawn $args]
+ verbose "spawn: pid=$pid spawn_id=$spawn_id"
+ return $pid
+ }
+ proc wait { args } {
+ upvar 1 spawn_id spawn_id
+ verbose "wait: args=$args"
+ set ret [eval oldwait $args]
+ verbose "wait: $ret"
+ return $ret
+ }
+}
+
# The des.des3-tgt.no-kdc-des3 pass will fail if the KDC doesn't
# constrain ticket key enctypes to those in permitted_enctypes. It
# does this by not putting des3 in the permitted_enctypes, while
@@ -1501,8 +1521,12 @@ proc stop_kerberos_daemons { } {
verbose "entered stop_kerberos_daemons"
if [info exists kdc_pid] {
- catch "exec kill $kdc_pid"
- catch "expect eof"
+ if [catch "exec kill $kdc_pid" msg] {
+ verbose "kill kdc: $msg"
+ }
+ if [catch "expect -i $kdc_spawn_id eof" msg] {
+ verbose "expect kdc eof: $msg"
+ }
set kdc_list [wait -i $kdc_spawn_id]
verbose "wait -i $kdc_spawn_id returned $kdc_list (kdc)"
unset kdc_pid
@@ -1510,8 +1534,12 @@ proc stop_kerberos_daemons { } {
}
if [info exists kadmind_pid] {
- catch "exec kill $kadmind_pid"
- catch "expect eof"
+ if [catch "exec kill $kadmind_pid" msg] {
+ verbose "kill kadmind: $msg"
+ }
+ if [catch "expect -i $kadmind_spawn_id eof" msg] {
+ verbose "expect kadmind eof: $msg"
+ }
set kadmind_list [wait -i $kadmind_spawn_id]
verbose "wait -i $kadmind_spawn_id returned $kadmind_list (kadmind5)"
unset kadmind_pid