about summary refs log tree commit homepage
diff options
context:
space:
mode:
authorEric Wong <e@yhbt.net>2020-07-05 23:27:36 +0000
committerEric Wong <e@yhbt.net>2020-07-06 20:01:15 +0000
commita3a6e24993a4c8d0fbcb56a23548c65e62f0a6ed (patch)
tree0e3f524e2441a507d40d6b02c4187b0a88cf5720
parent703f4c711bfe82e94c9b760f73ed89cfba3d00fc (diff)
downloadpublic-inbox-a3a6e24993a4c8d0fbcb56a23548c65e62f0a6ed.tar.gz
We want to be able to parallelize and stress test more
endpoints and toggle `--compressed' and possibly other
options in curl.
-rw-r--r--xt/httpd-async-stream.t11
1 files changed, 8 insertions, 3 deletions
diff --git a/xt/httpd-async-stream.t b/xt/httpd-async-stream.t
index 29bcb612..22a96875 100644
--- a/xt/httpd-async-stream.t
+++ b/xt/httpd-async-stream.t
@@ -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";
@@ -38,7 +43,7 @@ address = test\@example.com
         my $cmd = [ '-httpd', "--stdout=$out", "--stderr=$err", '-W0' ];
         my $host_port = $http->sockhost.':'.$http->sockport;
         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;