summaryrefslogtreecommitdiffstats
path: root/t/135_pg_virtualenv.t
blob: 1662e5bc663ceaa94decf88c293fcc8336d6ebac (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
# check if pg_virtualenv runs ok, even under fakeroot

use strict;
use warnings;

use lib 't';
use TestLib;

use Test::More tests => 12 * @MAJORS + 8;

foreach my $v (@MAJORS) {
    my $args = 'sh -c \'echo "id|$(id -un)"; psql -AtXxc "SELECT current_user"\'';
    my $virtualenv = "pg_virtualenv -v $v $args";

    $ENV{USER} = 'root';
    like_program_out 'root',     $virtualenv, 0, qr!id.root\ncurrent_user.postgres!,     "running pg_virtualenv as root";
    $ENV{USER} = 'postgres';
    like_program_out 'postgres', $virtualenv, 0, qr!id.postgres\ncurrent_user.postgres!, "running pg_virtualenv as postgres";
    $ENV{USER} = 'nobody';
    like_program_out 'nobody',   $virtualenv, 0, qr!id.nobody\ncurrent_user.nobody!,     "running pg_virtualenv as nobody";

    SKIP: {
        skip "/usr/bin/fakeroot not available", 6 unless (-x "/usr/bin/fakeroot"); # CentOS doesn't have fakeroot
        $ENV{USER} = 'root';
        like_program_out 'root',     "fakeroot $virtualenv", 0, qr!id.root\ncurrent_user.postgres!, "running fakeroot pg_virtualenv as root";
        $ENV{USER} = 'postgres';
        like_program_out 'postgres', "fakeroot $virtualenv", 0, qr!id.root\ncurrent_user.postgres!, "running fakeroot pg_virtualenv as postgres";
        $ENV{USER} = 'nobody';
        like_program_out 'nobody',   "fakeroot $virtualenv", 0, qr!id.root\ncurrent_user.nobody!,   "running fakeroot pg_virtualenv as nobody";
    }
}

check_clean;

# vim: filetype=perl