X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=t%2Fhttpd-corner.psgi;h=1e96d7b18c1bd0e536559857553e4c8c92cb4522;hb=HEAD;hp=10cf8350041ad2c4c9b744e6c423ade6b2918675;hpb=c38111d6f3877cf31d28b0a0339d063df0fa58f6;p=public-inbox.git diff --git a/t/httpd-corner.psgi b/t/httpd-corner.psgi index 10cf8350..1e96d7b1 100644 --- a/t/httpd-corner.psgi +++ b/t/httpd-corner.psgi @@ -3,9 +3,22 @@ # corner case tests for the generic PSGI server # Usage: plackup [OPTIONS] /path/to/this/file use v5.12; -use warnings; use Plack::Builder; -require Digest::SHA; +require PublicInbox::SHA; +if (defined(my $f = $ENV{TEST_OPEN_FIFO})) { + open my $fh, '>', $f or die "open($f): $!"; + say $fh 'hi'; + close $fh; +} + +END { + if (defined(my $f = $ENV{TEST_EXIT_FIFO})) { + open my $fh, '>', $f or die "open($f): $!"; + say $fh "bye from $$"; + close $fh; + } +} + my $pi_config = $ENV{PI_CONFIG} // 'unset'; # capture ASAP my $app = sub { my ($env) = @_; @@ -16,7 +29,7 @@ my $app = sub { my $h = [ 'Content-Type' => 'text/plain' ]; my $body = []; if ($path eq '/sha1') { - my $sha1 = Digest::SHA->new('SHA-1'); + my $sha1 = PublicInbox::SHA->new(1); my $buf; while (1) { my $r = $in->read($buf, 4096); @@ -118,6 +131,10 @@ my $app = sub { } elsif ($path eq '/PI_CONFIG') { $code = 200; push @$body, $pi_config; # show value at ->refresh_groups + } elsif ($path =~ m!\A/exit-fifo(.+)\z!) { + $code = 200; + $ENV{TEST_EXIT_FIFO} = $1; # for END {} + push @$body, "fifo $1 registered"; } [ $code, $h, $body ] };