X-Git-Url: http://www.git.stargrave.org/?p=public-inbox.git;a=blobdiff_plain;f=t%2Fhttpd-corner.psgi;h=ea643024db5032ab006514b1927736f76479b5c0;hp=10cf8350041ad2c4c9b744e6c423ade6b2918675;hb=5f9baf72510643f3865223b5fe4ddb8768a3996c;hpb=cf4cbaac260b5c24ed7173c39e0e18c0f0deb89f diff --git a/t/httpd-corner.psgi b/t/httpd-corner.psgi index 10cf8350..ea643024 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; +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) = @_; @@ -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 ] };