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