diff options
Diffstat (limited to 'web/server/h2o/libh2o/t/40running-user.t')
-rw-r--r-- | web/server/h2o/libh2o/t/40running-user.t | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/web/server/h2o/libh2o/t/40running-user.t b/web/server/h2o/libh2o/t/40running-user.t new file mode 100644 index 000000000..53ebc1176 --- /dev/null +++ b/web/server/h2o/libh2o/t/40running-user.t @@ -0,0 +1,38 @@ +use strict; +use warnings; +use English; +use Test::More; +use t::Util; + +plan skip_all => "not running as root" + if $UID != 0; +plan skip_all => "user 'nobody' does not exist" + unless defined getpwnam("nobody"); + + +subtest "set-user" => sub { + doit(<< 'EOT'); +user: nobody +EOT +}; + +subtest "automatic fallback to nobody" => sub { + doit(''); +}; + +done_testing; + +sub doit { + my $conf = shift; + my $server = spawn_h2o(<< "EOT"); +$conf +hosts: + default: + paths: + /: + file.dir: @{[ DOC_ROOT ]} +EOT + + my $resp = `curl --silent --dump-header /dev/stderr http://127.0.0.1:$server->{port}/ 2>&1 > /dev/null`; + like $resp, qr{^HTTP/1}s; +} |