2b2d205201a95a6206471a9e706803acbafcf6db
[krb5.git] / src / lib / rpc / unit-test / rpc_test.0 / fullrun.exp
1 set timeout 120
2
3 load_lib "helpers.exp"
4
5 global spawn_id
6 global server_id
7
8 # Start the client and do a full run
9 start_client "full run" fullrun testuser notathena 8h 1026
10 set client_id $spawn_id
11
12 #
13 # test: did we get 11 dots?
14 #
15 verbose "Starting RPC echo test.  This will take about 50 seconds.\n"
16
17 set ver_line "rpc_test server: bad verifier\[^\r\n\]*\[\r\n]+"
18
19 set dots 0
20 set server_lines 0
21 while {1} {
22         expect {
23                 -i $server_id
24                 -re $ver_line {
25                         verbose "Got line from server."
26                         incr server_lines
27                 }
28                 default {
29                         exp_continue
30                 }
31
32                 -i $client_id
33                 . { 
34                         incr dots
35                         verbose "$expect_out(buffer)" 1
36                         if ($dots==11) { break }
37                 }
38                 eof {
39                         #
40                         # test: was the exit status right?
41                         #
42                         wait_client "full run" fullrun $client_id 0
43                         break
44                 }
45
46                 timeout { 
47                         verbose "Timeout waiting for dot\n" 1
48                         fail "full run: timeout waiting for dot"
49                         break
50                 }
51         }
52 }
53 if {$dots==11} {
54         pass "fullrun: echo test"
55 } else {
56         fail "fullrun: echo test: expected 11 dots, got $dots"
57 }
58
59 #
60 # test: server logged four bad verifiers?
61 #
62 verbose "full run: checking server output"
63
64 # Small timeout, since the server should have already printed everything
65 set timeout 5
66
67 while {$server_lines < 4} {
68         expect {
69                 -i $server_id
70                 -re $ver_line {
71                         incr server_lines
72                 }
73                 -re ".+\r\n" {
74                         verbose "Unexpected server output: $expect_out(buffer)"
75                 }
76                 default {
77                         break
78                 }
79         }
80 }
81
82 if {$server_lines == 4} {
83         pass "fullrun: bad verifiers"
84 } else {
85         fail "fullrun: expected four bad verifiers, got $server_lines"
86 }
87
88 flush_server