X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=t%2Fhttpd-corner.t;h=35318b501f6dfd3f237f796d7e5f5ec031dc020f;hb=620b5e23dded54e0abf954752767bc9683a882e3;hp=5efb9d14e80a50f45b5b3326ee90d391241a4e2e;hpb=0f1da9d213e16946371b5c140b1c55b7231a8cd5;p=public-inbox.git diff --git a/t/httpd-corner.t b/t/httpd-corner.t index 5efb9d14..35318b50 100644 --- a/t/httpd-corner.t +++ b/t/httpd-corner.t @@ -251,9 +251,10 @@ SKIP: { $have_curl = 1; last; } - my $ntest = 2; + my $ntest = 4; $have_curl or skip('curl(1) missing', $ntest); - my $url = 'http://' . $sock->sockhost . ':' . $sock->sockport . '/sha1'; + my $base = 'http://' . $sock->sockhost . ':' . $sock->sockport; + my $url = "$base/sha1"; my ($r, $w); pipe($r, $w) or die "pipe: $!"; my $cmd = [qw(curl --tcp-nodelay --no-buffer -T- -HExpect: -sS), $url]; @@ -270,6 +271,17 @@ SKIP: { is($?, 0, 'curl exited successfully'); is($err, '', 'no errors from curl'); is($out, sha1_hex($str), 'read expected body'); + + open my $fh, '-|', qw(curl -sS), "$base/async-big" or die $!; + my $n = 0; + my $non_zero = 0; + while (1) { + my $r = sysread($fh, my $buf, 4096) or last; + $n += $r; + $buf =~ /\A\0+\z/ or $non_zero++; + } + is($n, 30 * 1024 * 1024, 'got expected output from curl'); + is($non_zero, 0, 'read all zeros'); } {