浏览代码

timeout.cgi test sometimes failed.

Using STDOUT->autoflush(1) seems to work better than $|=1 - I don't know
why.

Also made the timeout.cgi test a bit more verbose.
Arnout Vandecappelle (Essensium/Mind) 14 年之前
父节点
当前提交
08bf149d85
共有 2 个文件被更改,包括 7 次插入3 次删除
  1. 5 2
      test/test.pl
  2. 2 1
      test/timeout.cgi

+ 5 - 2
test/test.pl

@@ -183,8 +183,11 @@ o("GET /%68%65%6c%6c%6f%2e%74%78%74 HTTP/1.0\n\n",
 # Break CGI reading after 1 second. We must get full output.
 # Since CGI script does sleep, we sleep as well and increase request count
 # manually.
-fail('Slow CGI output forward ') unless
-  req("GET /timeout.cgi HTTP/1.0\r\n\r\n", 0, 1) =~ /Some data/s;
+my $slow_cgi_reply;
+print "==> Slow CGI output ... ";
+fail('Slow CGI output forward reply=', $slow_cgi_reply) unless
+  ($slow_cgi_reply = req("GET /timeout.cgi HTTP/1.0\r\n\r\n", 0, 1)) =~ /Some data/s;
+print "OK\n";
 sleep 3;
 $num_requests++;
 

+ 2 - 1
test/timeout.cgi

@@ -1,7 +1,8 @@
 #!/usr/bin/env perl
 
 # Make stdout unbuffered
-$| = 1;
+use FileHandle;
+STDOUT->autoflush(1);
 
 # This script outputs some content, then sleeps for 5 seconds, then exits.
 # Web server should return the content immediately after it is sent,