1#!/bin/bash
2# \
3exec tclsh "$0" "$@"
4
5source tests/commands/common.tcl
6
7proc main {} {
8 global server client serverout clientout
9
10 wait
11
12 # wad reboot while a client is connected
13 clear
14 server "wad doom.wad"
15 wait 5
16
17 expect $serverout {The Ultimate DOOM}
18 expect $serverout {adding odamex.wad}
19 gets $serverout
20 gets $serverout
21 expect $serverout {(2306 lumps)}
22 expect $serverout {--- E1M1: Hangar ---}
23 expect $serverout {127.0.0.1:10501 is trying to connect...}
24 expect $clientout {connecting to 127.0.0.1:10599} 0
25 set nextline [gets $clientout]
26 if { $nextline == "connecting to 127.0.0.1:10599"} {
27  # takes two connection attempts on slow machines
28  gets $clientout
29 }
30 expect $clientout {> Server: Unnamed} 0
31 expect $clientout {> Map: E1M1} 0
32 expect $clientout {> DOOM.WAD} 0
33 expect $clientout {C4FE9FD920207691A9F493668E0A2083} 0
34 expect $clientout {> Server protocol version: 65} 0
35
36 set expectedVersionString "> Server Version "
37 set nextline [gets $clientout]
38 if { [string range $nextline 0 16] != $expectedVersionString } {
39  puts "FAIL ($expectedVersionString|[string range $nextline 0 16])"
40 } else {
41  puts "PASS $nextline"
42 }
43 gets $clientout
44 gets $clientout
45 expect $clientout {=================================} 0
46 expect $clientout {The Ultimate DOOM} 0
47 expect $clientout {} 0
48 expect $clientout {adding odamex.wad} 0
49 gets $clientout
50 gets $clientout
51 expect $clientout {(2306 lumps)} 0
52 expect $clientout {challenging 127.0.0.1:10599} 0
53 expect $clientout {} 0
54 expect $clientout {=================================} 0
55 expect $clientout {E1M1: Hangar} 0
56}
57
58start
59
60set error [catch { main }]
61
62if { $error } {
63 puts "FAIL Test crashed!"
64}
65
66end
67