X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=xt%2Fhttpd-async-stream.t;h=c7039f3e86f31ad93f78933fe724a25f442dc734;hb=e3196d9a2b15432e8a1f1a4a26d275b5a6d58b3b;hp=29bcb61254791c51f1fa2b27e9994243c4385889;hpb=c86657e655936d59cab8a88ef1fc1e986c5fb3f0;p=public-inbox.git
diff --git a/xt/httpd-async-stream.t b/xt/httpd-async-stream.t
index 29bcb612..c7039f3e 100644
--- a/xt/httpd-async-stream.t
+++ b/xt/httpd-async-stream.t
@@ -1,5 +1,5 @@
#!perl -w
-# Copyright (C) 2020 all contributors
+# Copyright (C) 2020-2021 all contributors
# License: AGPL-3.0+
# Expensive test to validate compression and TLS.
use strict;
@@ -15,7 +15,12 @@ my $curl = which('curl') or plan skip_all => "curl(1) missing for $0";
my ($tmpdir, $for_destroy) = tmpdir();
require_mods(qw(DBD::SQLite));
my $JOBS = $ENV{TEST_JOBS} // 4;
-diag "TEST_JOBS=$JOBS";
+my $endpoint = $ENV{TEST_ENDPOINT} // 'all.mbox.gz';
+my $curl_opt = $ENV{TEST_CURL_OPT} // '';
+diag "TEST_JOBS=$JOBS TEST_ENDPOINT=$endpoint TEST_CURL_OPT=$curl_opt";
+
+# we set Host: to ensure stable results across test runs
+my @CURL_OPT = (qw(-HHost:example.com -sSf), split(' ', $curl_opt));
my $make_local_server = sub {
my $pi_config = "$tmpdir/config";
@@ -36,9 +41,9 @@ address = test\@example.com
# not using multiple workers, here, since we want to increase
# the chance of tripping concurrency bugs within PublicInbox/HTTP*.pm
my $cmd = [ '-httpd', "--stdout=$out", "--stderr=$err", '-W0' ];
- my $host_port = $http->sockhost.':'.$http->sockport;
+ my $host_port = tcp_host_port($http);
push @$cmd, "-lhttp://$host_port";
- my $url = "$host_port/test/all.mbox.gz";
+ my $url = "$host_port/test/$endpoint";
print STDERR "# CMD ". join(' ', @$cmd). "\n";
my $env = { PI_CONFIG => $pi_config };
(start_script($cmd, $env, $rdr), $url);
@@ -53,7 +58,7 @@ my $do_get_all = sub {
my ($buf, $nr);
my $bytes = 0;
my $t0 = now();
- my ($rd, $pid) = popen_rd([$curl, qw(-HHost:example.com -sSf), $url]);
+ my ($rd, $pid) = popen_rd([$curl, @CURL_OPT, $url]);
while (1) {
$nr = sysread($rd, $buf, 65536);
last if !$nr;