blob: 49ae4d1653e353da518ae4b20e895143153db437 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
|
#
# $Id$
#
set kill /bin/kill
set sleep /bin/sleep
set kinit $KINIT
set kdestroy $KDESTROY
set hostname [exec hostname]
# this will initialize the database and keytab
load_lib "helpers.exp"
proc rpc_test_version {} {
global CLIENT
global SERVER
clone_output "$CLIENT version <unknown>"
clone_output "$SERVER version <unknown>"
}
proc rpc_test_load {} {
#
}
# rpc_test_exit -- clean up and exit
proc rpc_test_exit {} {
global server_id
global server_pid
global server_started
global kill
if {[catch {
expect {
-i $server_id
eof {
fail "server exited!"
verbose $expect_out(buffer) 1
}
timeout { pass "server survived" }
}
} tmp]} {
fail "server exited! (expect failed)"
}
}
#
# rpc_test_start -- start the rpc_test server running
#
proc rpc_test_start { } {
global SERVER PROT
global server_id
global server_pid
global server_started
global env
if [info exists server_pid] { rpc_test_exit }
set env(KRB5_KTNAME) FILE:$env(RPC_TEST_SRVTAB)
verbose "% $SERVER" 1
set server_pid [spawn $SERVER $PROT]
set server_id $spawn_id
unset env(KRB5_KTNAME)
set timeout 30
expect {
"running" { }
eof {
send_error "server exited!"
verbose $expect_out(buffer) 1
}
timeout {
send_error "server didn't start in $timeout seconds"
verbose $expect_out(buffer) 1
}
}
}
set MULTIPASS {
{tcp PROT=-t dummy=[rpc_test_start]}
{udp PROT=-u dummy=[rpc_test_start]}
}
|