diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/data/test1200 | 8 | ||||
-rw-r--r-- | tests/data/test1201 | 8 | ||||
-rw-r--r-- | tests/data/test1202 | 8 | ||||
-rw-r--r-- | tests/data/test1203 | 8 | ||||
-rwxr-xr-x | tests/httpserver.pl | 5 | ||||
-rwxr-xr-x | tests/runtests.pl | 55 |
6 files changed, 56 insertions, 36 deletions
diff --git a/tests/data/test1200 b/tests/data/test1200 index 94327201a..4e15ec9dc 100644 --- a/tests/data/test1200 +++ b/tests/data/test1200 @@ -10,11 +10,11 @@ INDEX # # Server-side <reply> -<datacheck> +<data> iMenu results error.host 1
0Selector /bar bar.foo.invalid 70
.
-</datacheck> +</data> </reply> # Client-side @@ -26,7 +26,7 @@ gopher Gopher index </name> <command> -gopher://%HOSTIP:%GOPHERPORT +gopher://%HOSTIP:%GOPHERPORT/1/1200 </command> </client> @@ -34,7 +34,7 @@ gopher://%HOSTIP:%GOPHERPORT # Verify data after the test has been "shot" <verify> <protocol> -
+/1200
</protocol> </verify> </testcase> diff --git a/tests/data/test1201 b/tests/data/test1201 index bb3ccc5ef..ae5ebd11e 100644 --- a/tests/data/test1201 +++ b/tests/data/test1201 @@ -10,11 +10,11 @@ SELECTOR # # Server-side <reply> -<datacheck> +<data> iMenu results error.host 1
0Selector /selector/SELECTOR /bar bar.foo.invalid 70
.
-</datacheck> +</data> </reply> # Client-side @@ -26,7 +26,7 @@ gopher Gopher selector </name> <command> -gopher://%HOSTIP:%GOPHERPORT/1/selector/SELECTOR +gopher://%HOSTIP:%GOPHERPORT/1/selector/SELECTOR/1201 </command> </client> @@ -34,7 +34,7 @@ gopher://%HOSTIP:%GOPHERPORT/1/selector/SELECTOR # Verify data after the test has been "shot" <verify> <protocol> -/selector/SELECTOR
+/selector/SELECTOR/1201
</protocol> </verify> </testcase> diff --git a/tests/data/test1202 b/tests/data/test1202 index 8b8502d4b..253d42c73 100644 --- a/tests/data/test1202 +++ b/tests/data/test1202 @@ -10,12 +10,12 @@ QUERY # # Server-side <reply> -<datacheck> +<data> iSearch results error.host 1
0Query query succeeded /foo foo.bar.invalid 70
0Selector /the/search/engine /bar bar.foo.invalid 70
.
-</datacheck> +</data> </reply> # Client-side @@ -27,7 +27,7 @@ gopher Gopher query </name> <command> -gopher://%HOSTIP:%GOPHERPORT/7/the/search/engine?query%20succeeded +gopher://%HOSTIP:%GOPHERPORT/7/the/search/engine?query%20succeeded/1202 </command> </client> @@ -35,7 +35,7 @@ gopher://%HOSTIP:%GOPHERPORT/7/the/search/engine?query%20succeeded # Verify data after the test has been "shot" <verify> <protocol> -/the/search/engine query succeeded
+/the/search/engine query succeeded/1202
</protocol> </verify> </testcase> diff --git a/tests/data/test1203 b/tests/data/test1203 index c639512b2..318cd01b4 100644 --- a/tests/data/test1203 +++ b/tests/data/test1203 @@ -11,11 +11,11 @@ INDEX # # Server-side <reply> -<datacheck> +<data> iMenu results error.host 1
0Selector /bar bar.foo.invalid 70
.
-</datacheck> +</data> </reply> # Client-side @@ -27,7 +27,7 @@ gopher-ipv6 Gopher IPv6 index </name> <command> --g "gopher://%HOSTIP:%GOPHER6PORT" +-g "gopher://%HOSTIP:%GOPHER6PORT/1/moo/1203" </command> </client> @@ -35,7 +35,7 @@ Gopher IPv6 index # Verify data after the test has been "shot" <verify> <protocol> -
+/moo/1203
</protocol> </verify> </testcase> diff --git a/tests/httpserver.pl b/tests/httpserver.pl index 98d62cd0e..37161f061 100755 --- a/tests/httpserver.pl +++ b/tests/httpserver.pl @@ -42,6 +42,7 @@ my $pidfile; # http server pid file my $logfile; # http server log file my $srcdir; my $fork; +my $gopher = 0; my $flags = ""; my $path = '.'; @@ -72,6 +73,9 @@ while(@ARGV) { elsif($ARGV[0] eq '--ipv6') { $ipvnum = 6; } + elsif($ARGV[0] eq '--gopher') { + $gopher = 1; + } elsif($ARGV[0] eq '--port') { if($ARGV[1] =~ /^(\d+)$/) { $port = $1; @@ -106,6 +110,7 @@ if(!$logfile) { $logfile = server_logfilename($logdir, $proto, $ipvnum, $idnum); } +$flags .= "--gopher " if($gopher); $flags .= "--fork " if(defined($fork)); $flags .= "--pidfile \"$pidfile\" --logfile \"$logfile\" "; $flags .= "--ipv$ipvnum --port $port --srcdir \"$srcdir\""; diff --git a/tests/runtests.pl b/tests/runtests.pl index a3c402ebe..608875b6e 100755 --- a/tests/runtests.pl +++ b/tests/runtests.pl @@ -676,6 +676,7 @@ sub verifyhttp { my ($proto, $ipvnum, $idnum, $ip, $port) = @_; my $server = servername_id($proto, $ipvnum, $idnum); my $pid = 0; + my $bonus; my $verifyout = "$LOGDIR/". servername_canon($proto, $ipvnum, $idnum) .'_verify.out'; @@ -685,13 +686,18 @@ sub verifyhttp { servername_canon($proto, $ipvnum, $idnum) .'_verify.log'; unlink($verifylog) if(-f $verifylog); + if($proto eq "gopher") { + # gopher is funny + $bonus="1/"; + } + my $flags = "--max-time $server_response_maxtime "; $flags .= "--output $verifyout "; $flags .= "--silent "; $flags .= "--verbose "; $flags .= "--globoff "; $flags .= "--insecure " if($proto eq 'https'); - $flags .= "\"$proto://$ip:$port/verifiedserver\""; + $flags .= "\"$proto://$ip:$port/${bonus}verifiedserver\""; my $cmd = "$VCURL $flags 2>$verifylog"; @@ -732,8 +738,8 @@ sub verifyhttp { logmsg "RUN: failed to resolve host ($proto://$ip:$port/verifiedserver)\n"; return -1; } - elsif($data || ($res != 7)) { - logmsg "RUN: Unknown server on our $server port: $port\n"; + elsif($data || ($res && ($res != 7))) { + logmsg "RUN: Unknown server on our $server port: $port ($res)\n"; return -1; } return $pid; @@ -992,7 +998,7 @@ my %protofunc = ('http' => \&verifyhttp, 'tftp' => \&verifyftp, 'ssh' => \&verifyssh, 'socks' => \&verifysocks, - 'gopher' => \&verifyftp); + 'gopher' => \&verifyhttp); sub verifyserver { my ($proto, $ipvnum, $idnum, $ip, $port) = @_; @@ -1023,10 +1029,8 @@ sub verifyserver { # start the http server # sub runhttpserver { - my ($verbose, $ipv6) = @_; - my $port = $HTTPPORT; + my ($proto, $verbose, $ipv6, $port) = @_; my $ip = $HOSTIP; - my $proto = 'http'; my $ipvnum = 4; my $idnum = 1; my $server; @@ -1035,10 +1039,10 @@ sub runhttpserver { my $logfile; my $flags = ""; + if($ipv6) { # if IPv6, use a different setup $ipvnum = 6; - $port = $HTTP6PORT; $ip = $HOST6IP; } @@ -1062,6 +1066,7 @@ sub runhttpserver { $logfile = server_logfilename($LOGDIR, $proto, $ipvnum, $idnum); $flags .= "--fork " if($forkserver); + $flags .= "--gopher " if($proto eq "gopher"); $flags .= "--verbose " if($debugprotocol); $flags .= "--pidfile \"$pidfile\" --logfile \"$logfile\" "; $flags .= "--id $idnum " if($idnum > 1); @@ -1184,7 +1189,7 @@ sub runhttpsserver { } ####################################################################### -# start the pingpong server (FTP, POP3, IMAP, SMTP, GOPHER) +# start the pingpong server (FTP, POP3, IMAP, SMTP) # sub runpingpongserver { my ($proto, $id, $verbose, $ipv6) = @_; @@ -1215,9 +1220,6 @@ sub runpingpongserver { elsif($proto eq "smtp") { $port = ($ipvnum==6) ? $SMTP6PORT : $SMTPPORT; } - elsif($proto eq "gopher") { - $port = ($ipvnum==6) ? $GOPHER6PORT : $GOPHERPORT; - } else { print STDERR "Unsupported protocol $proto!!\n"; return 0; @@ -2041,15 +2043,14 @@ sub checksystem { if($sws[0] =~ /IPv6/) { # HTTP server has ipv6 support! $http_ipv6 = 1; + $gopher_ipv6 = 1; } # check if the FTP server has it! @sws = `server/sockfilt --version`; if($sws[0] =~ /IPv6/) { # FTP server has ipv6 support! - # and since the Gopher server descends from it, we have it too! $ftp_ipv6 = 1; - $gopher_ipv6 = 1; } } @@ -3227,7 +3228,6 @@ sub startservers { if(($what eq "pop3") || ($what eq "ftp") || ($what eq "imap") || - ($what eq "gopher") || ($what eq "smtp")) { if(!$run{$what}) { ($pid, $pid2) = runpingpongserver($what, "", $verbose); @@ -3259,20 +3259,33 @@ sub startservers { $run{'ftp-ipv6'}="$pid $pid2"; } } + elsif($what eq "gopher") { + if(!$run{'gopher'}) { + ($pid, $pid2) = runhttpserver("gopher", $verbose, 0, + $GOPHERPORT); + if($pid <= 0) { + return "failed starting GOPHER server"; + } + printf ("* pid gopher => %d %d\n", $pid, $pid2) if($verbose); + $run{'gopher'}="$pid $pid2"; + } + } elsif($what eq "gopher-ipv6") { if(!$run{'gopher-ipv6'}) { - ($pid, $pid2) = runpingpongserver("gopher","",$verbose,"ipv6"); + ($pid, $pid2) = runhttpserver("gopher", $verbose, "ipv6", + $GOPHER6PORT); if($pid <= 0) { return "failed starting GOPHER-IPv6 server"; } logmsg sprintf("* pid gopher-ipv6 => %d %d\n", $pid, - $pid2) if($verbose); + $pid2) if($verbose); $run{'gopher-ipv6'}="$pid $pid2"; } } elsif($what eq "http") { if(!$run{'http'}) { - ($pid, $pid2) = runhttpserver($verbose); + ($pid, $pid2) = runhttpserver("http", $verbose, 0, + $HTTPPORT); if($pid <= 0) { return "failed starting HTTP server"; } @@ -3282,7 +3295,8 @@ sub startservers { } elsif($what eq "http-ipv6") { if(!$run{'http-ipv6'}) { - ($pid, $pid2) = runhttpserver($verbose, "IPv6"); + ($pid, $pid2) = runhttpserver("http", $verbose, "IPv6", + $HTTP6PORT); if($pid <= 0) { return "failed starting HTTP-IPv6 server"; } @@ -3361,7 +3375,8 @@ sub startservers { stopserver('https'); } if(!$run{'http'}) { - ($pid, $pid2) = runhttpserver($verbose); + ($pid, $pid2) = runhttpserver("http", $verbose, 0, + $HTTPPORT); if($pid <= 0) { return "failed starting HTTP server"; } |