]> Sergey Matveev's repositories - public-inbox.git/commitdiff
t/git-http-backend: explain purpose of test
authorEric Wong <e@80x24.org>
Fri, 14 Jun 2019 10:09:13 +0000 (10:09 +0000)
committerEric Wong <e@80x24.org>
Sat, 15 Jun 2019 17:37:35 +0000 (17:37 +0000)
I found myself tempted to switch to HTTP::Tiny, here, since
it's distributed with Perl since 5.14, unlike Net::HTTP
(which AFAIK was never a part of Perl proper).

But we really want to use Net::HTTP, here, since it's
lower-level and allows us to trigger server-side buffering
by not reading the entity body.

t/git-http-backend.t

index 5ac0a4a53255f6b35ea7d96fd2adfacaa6c7f72e..fc2d5462db345ee9638f59833b38b7737c5dd4c8 100644 (file)
@@ -1,5 +1,8 @@
 # Copyright (C) 2016-2018 all contributors <meta@public-inbox.org>
 # License: AGPL-3.0+ <https://www.gnu.org/licenses/agpl-3.0.txt>
+#
+# Ensure buffering behavior in -httpd doesn't cause runaway memory use
+# or data corruption
 use strict;
 use warnings;
 use Test::More;
@@ -77,6 +80,8 @@ SKIP: {
        my ($code, $mess, %h) = $http->read_response_headers;
        is(200, $code, 'got 200 success for pack');
        is($max, $h{'Content-Length'}, 'got expected Content-Length for pack');
+
+       # no $http->read_entity_body, here, since we want to force buffering
        foreach my $i (1..3) {
                sleep 1;
                my $diff = $get_maxrss->() - $mem_a;