~ubuntu-branches/ubuntu/edgy/libapache2-mod-perl2/edgy-updates

« back to all changes in this revision

Viewing changes to t/response/TestDirective/env.pm

  • Committer: Bazaar Package Importer
  • Author(s): Adam Conrad
  • Date: 2004-08-19 06:23:48 UTC
  • mfrom: (1.1.1 upstream)
  • Revision ID: james.westby@ubuntu.com-20040819062348-jxl4koqbtvgm8v2t
Tags: 1.99.14-4
Remove the LFS CFLAGS, and build-dep against apache2-*-dev (>= 2.0.50-10)
as we're backing out of the apache2/apr ABI transition.

Show diffs side-by-side

added added

removed removed

Lines of Context:
14
14
sub handler {
15
15
    my $r = shift;
16
16
 
17
 
    plan $r, tests => 4;
18
 
 
19
 
    ok t_cmp('env_dir1', env_get('srv1'),
20
 
             'per-dir override per-srv');
21
 
 
22
 
    ok t_cmp('env_srv2', env_get('srv2'),
23
 
             'per-srv');
24
 
 
25
 
    ok t_cmp('env_dir2', env_get('dir2'),
26
 
             'per-dir');
27
 
 
28
 
    #setup by Apache::TestRun
 
17
    plan $r, tests => 8;
 
18
 
 
19
    # %ENV
 
20
    ok t_cmp('env_dir1', 
 
21
             env_get('srv1'),
 
22
             '%ENV per-dir override per-srv');
 
23
 
 
24
    ok t_cmp('env_srv2', 
 
25
             env_get('srv2'),
 
26
             '%ENV per-srv');
 
27
 
 
28
    ok t_cmp('env_dir2', 
 
29
             env_get('dir2'),
 
30
             '%ENV per-dir');
 
31
 
 
32
    # setup by Apache::TestRun
29
33
    ok t_cmp('test.host.name',
30
34
             $ENV{APACHE_TEST_HOSTNAME},
31
 
             'PassEnv');
 
35
             '%ENV PerlPassEnv');
 
36
 
 
37
    # $r->subprocess_env
 
38
    ok t_cmp('env_dir1', 
 
39
             env_get('srv1', $r),
 
40
             '$r->subprocess_env per-dir override per-srv');
 
41
 
 
42
    ok t_cmp('env_srv2', 
 
43
             env_get('srv2', $r),
 
44
             '$r->subprocess_env per-srv');
 
45
 
 
46
    ok t_cmp('env_dir2', 
 
47
             env_get('dir2', $r),
 
48
             '$r->subprocess_env per-dir');
 
49
 
 
50
    # setup by Apache::TestRun
 
51
    ok t_cmp('test.host.name',
 
52
             $r->subprocess_env->get('APACHE_TEST_HOSTNAME'),
 
53
             '$r->subprocess_env PerlPassEnv');
32
54
 
33
55
    Apache::OK;
34
56
}
36
58
sub env_get {
37
59
    my($name, $r) = @_;
38
60
    my $key = 'TestDirective__env_' . $name;
39
 
    return $r ? $r->subprocess_env->get($key) : $ENV{$key};
 
61
 
 
62
    my $value = $ENV{$key};
 
63
 
 
64
    if ($r) {
 
65
        my @values = $r->subprocess_env->get($key);
 
66
 
 
67
        if (@values > 1) {
 
68
            $value = "too many values for $key!";
 
69
        }
 
70
        else {
 
71
            $value = $values[0];
 
72
        }
 
73
    }
 
74
 
 
75
    return $value;
40
76
}
41
77
 
42
78
1;
43
79
__END__
44
 
PerlOptions +SetupEnv
 
80
# SetupEnv ought to have no effect on PerlSetEnv or PerlPassEnv
 
81
PerlOptions -SetupEnv
45
82
 
46
83
<Base>
 
84
    # per-server entry overwritten by per-directory entry
47
85
    PerlSetEnv TestDirective__env_srv1 env_srv1
48
86
 
 
87
    # per-server entry not overwritten
49
88
    PerlSetEnv TestDirective__env_srv2 env_srv2
50
89
 
 
90
    # PerlPassEnv is only per-server
51
91
    PerlPassEnv APACHE_TEST_HOSTNAME
52
92
</Base>
53
93
 
 
94
# per-directory entry overwrites per-server
54
95
PerlSetEnv TestDirective__env_srv1 env_dir1
55
96
 
 
97
# PerlSetEnv resets the table for each directive
56
98
PerlSetEnv TestDirective__env_dir2 ToBeLost
57
99
PerlSetEnv TestDirective__env_dir2 env_dir2
58
100