summaryrefslogtreecommitdiffstats
path: root/src/lib/rpc/unit-test
diff options
context:
space:
mode:
authorEzra Peisach <epeisach@mit.edu>2009-02-05 19:02:29 +0000
committerEzra Peisach <epeisach@mit.edu>2009-02-05 19:02:29 +0000
commit39de88d9867b18f99c19a650aa1bfffb908614f5 (patch)
treecf978a3a1d920a8012ddd3173541df549011b9bb /src/lib/rpc/unit-test
parent3b28f0b8ea6ada7789432073c3faf5ef3ec9dca2 (diff)
downloadkrb5-39de88d9867b18f99c19a650aa1bfffb908614f5.tar.gz
krb5-39de88d9867b18f99c19a650aa1bfffb908614f5.tar.xz
krb5-39de88d9867b18f99c19a650aa1bfffb908614f5.zip
Detect failure to register with rpcbind/portmap due to security
restrictons and not bomb out in tests. ticket: 6349 git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@21895 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/lib/rpc/unit-test')
-rw-r--r--src/lib/rpc/unit-test/config/unix.exp17
-rw-r--r--src/lib/rpc/unit-test/rpc_test.0/expire.exp8
-rw-r--r--src/lib/rpc/unit-test/rpc_test.0/fullrun.exp3
-rw-r--r--src/lib/rpc/unit-test/rpc_test.0/gsserr.exp3
4 files changed, 28 insertions, 3 deletions
diff --git a/src/lib/rpc/unit-test/config/unix.exp b/src/lib/rpc/unit-test/config/unix.exp
index 824d463417..f02116e1da 100644
--- a/src/lib/rpc/unit-test/config/unix.exp
+++ b/src/lib/rpc/unit-test/config/unix.exp
@@ -112,6 +112,10 @@ proc rpc_test_exit {} {
global server_started
global kill
+ if { [info exists server_started] && $server_started == 0 } {
+ return
+ }
+
if {[catch {
expect {
-i $server_id
@@ -143,6 +147,7 @@ proc rpc_test_start { } {
verbose "% $SERVER" 1
set server_pid [spawn $SERVER $PROT]
set server_id $spawn_id
+ set server_started 1
unset env(KRB5_KTNAME)
@@ -150,6 +155,18 @@ proc rpc_test_start { } {
expect {
"running" { }
+ "Cannot register service" {
+ send_error "Server cannot register with portmap/rpcbind!!\n"
+ note "+++"
+ note "+++ These tests require the ability to register with portmap/rpcbind"
+ note "+++ Either the server is not running or it does not"
+ note "+++ allow registration using a loopback connection"
+ note "+++"
+ verbose $expect_out(buffer) 1
+ set server_started 0
+ unsupported "Server registration"
+ return
+ }
eof {
send_error "server exited!"
verbose $expect_out(buffer) 1
diff --git a/src/lib/rpc/unit-test/rpc_test.0/expire.exp b/src/lib/rpc/unit-test/rpc_test.0/expire.exp
index f5841011f8..ab3796554e 100644
--- a/src/lib/rpc/unit-test/rpc_test.0/expire.exp
+++ b/src/lib/rpc/unit-test/rpc_test.0/expire.exp
@@ -2,7 +2,7 @@ set timeout 40
load_lib "helpers.exp"
-global spawn_id
+global server_started
proc expired {} {
global spawn_id server_id
@@ -18,7 +18,9 @@ proc expired {} {
flush_server
}
-expired
+
+#if { [info exists server_pid] && ($server_pid >= 0) } { expired }
+if { $server_started } {expired }
proc overlap {} {
global spawn_id
@@ -41,6 +43,6 @@ proc overlap {} {
flush_server
}
-overlap
+if { $server_started } {overlap}
diff --git a/src/lib/rpc/unit-test/rpc_test.0/fullrun.exp b/src/lib/rpc/unit-test/rpc_test.0/fullrun.exp
index 2b2d205201..73083de1f1 100644
--- a/src/lib/rpc/unit-test/rpc_test.0/fullrun.exp
+++ b/src/lib/rpc/unit-test/rpc_test.0/fullrun.exp
@@ -4,6 +4,9 @@ load_lib "helpers.exp"
global spawn_id
global server_id
+global server_started
+
+if { !$server_started } {return}
# Start the client and do a full run
start_client "full run" fullrun testuser notathena 8h 1026
diff --git a/src/lib/rpc/unit-test/rpc_test.0/gsserr.exp b/src/lib/rpc/unit-test/rpc_test.0/gsserr.exp
index 2bb936ab51..c3e78b1a47 100644
--- a/src/lib/rpc/unit-test/rpc_test.0/gsserr.exp
+++ b/src/lib/rpc/unit-test/rpc_test.0/gsserr.exp
@@ -4,8 +4,11 @@ load_lib "helpers.exp"
global spawn_id
global server_id
+global server_started
global hostname
+if { !$server_started } {return}
+
start_client "gss err" gsserr testuser notathena 8h 1026 notserver@$hostname
eof_client "gss err" gsserr $spawn_id 2