summaryrefslogtreecommitdiffstats
path: root/web/server/h2o/libh2o/t/40running-user.t
blob: 53ebc1176cff7995f4ef492298203d49ef9b1c0e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
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;
}