8
7
use Apache::TestConfig;
9
8
use Apache::TestUtil;
10
use Apache::BuildConfig;
9
use Apache2::BuildConfig;
12
use Apache::Module ();
11
use Apache2::Module ();
15
use Apache::Const -compile => 'OK';
14
use Apache2::Const -compile => 'OK';
20
19
my $cfg = Apache::Test::config();
22
my $top_module = Apache::Module->top_module;
24
#no promise that mod_perl will be the top_module
25
my $top_module_name = (defined $top_module && $top_module->name()) || '';
28
$tests += 3 if $top_module_name eq 'mod_perl.c';
21
my $top_module = Apache2::Module::top_module();
24
for (my $modp = $top_module; $modp; $modp = $modp->next) {
28
my $tests = 12 + ( 5 * $module_count );
30
30
plan $r, tests => $tests;
32
t_debug "top_module: $top_module_name";
35
ok t_cmp($cfg->{httpd_info}->{MODULE_MAGIC_NUMBER_MAJOR},
37
q{$top_module->version});
39
ok t_cmp(scalar(keys %{ $cfg->{modules} }),
40
$top_module->module_index,
41
q{$top_module->module_index})
42
|| 1; # the A-T config could be wrong
44
#XXX: some of these tests will fail if modperl is linked static
47
if ($top_module_name eq 'mod_perl.c') {
48
ok t_cmp('mod_perl.c', $top_module_name, q{$top_module->name}) || 1;
50
my $cmd = $top_module->cmds;
54
ok UNIVERSAL::isa($cmd, 'Apache::Command');
57
if (0) { #XXX: currently fails with --enable-mods-shared=all
58
local $cfg->{modules}->{'mod_perl.c'} = 1;
61
for (my $modp = $top_module; $modp; $modp = $modp->next) {
62
if ($modp && $modp->name) {
63
$modules->{$modp->name} = 1;
68
'sapi_apache2.c' => 'mod_php4.c',
71
while (my($key, $val) = each %alias) {
72
next unless $modules->{$key};
73
delete $modules->{$key};
77
ok t_cmp($cfg->{modules}, $modules, "Modules list");
32
my $core = Apache2::Module::find_linked_module('core.c');
33
ok defined $core && $core->name eq 'core.c';
81
ok t_cmp(1, Apache::Module::loaded('mod_perl.c'),
82
"Apache::Module::loaded('mod_perl.c')");
36
ok t_cmp Apache2::Module::loaded('mod_perl.c'), 1,
37
"Apache2::Module::loaded('mod_perl.c')";
84
ok t_cmp(0, Apache::Module::loaded('Apache__Module_foo.c'),
85
"Apache::Module::loaded('Apache__Module_foo.c')");
39
ok t_cmp Apache2::Module::loaded('Apache__Module_foo.c'), 0,
40
"Apache2::Module::loaded('Apache__Module_foo.c')";
89
my $build = Apache::BuildConfig->new;
90
my $expect = $build->{MODPERL_LIB_SHARED} ? 1 : 0;
91
ok t_cmp($expect, Apache::Module::loaded('mod_perl.so'),
92
"Apache::Module::loaded('mod_perl.so')");
44
my $build = Apache2::BuildConfig->new;
45
my $expect = $build->should_build_apache ? 0 : 1;
46
ok t_cmp Apache2::Module::loaded('mod_perl.so'), $expect,
47
"Apache2::Module::loaded('mod_perl.so')";
95
ok t_cmp(0, Apache::Module::loaded('Apache__Module__foo.so'),
96
"Apache::Module::loaded('Apache__Module_foo.so')");
50
ok t_cmp Apache2::Module::loaded('Apache__Module__foo.so'), 0,
51
"Apache2::Module::loaded('Apache__Module_foo.so')";
99
ok t_cmp(1, Apache::Module::loaded('Apache::Module'),
100
"Apache::Module::loaded('Apache::Module')");
102
ok t_cmp(0, Apache::Module::loaded('Apache__Module_foo'),
103
"Apache::Module::loaded('Apache__Module_foo')");
55
ok t_cmp Apache2::Module::loaded('Apache2::Module'), 1,
56
"Apache2::Module::loaded('Apache2::Module')";
58
ok t_cmp Apache2::Module::loaded('Apache__Module_foo'), 0,
59
"Apache2::Module::loaded('Apache__Module_foo')";
61
# TestAPI::module::foo wasn't loaded but the stash exists
62
$TestAPI::module::foo::test = 1;
63
ok t_cmp Apache2::Module::loaded('TestAPI::module::foo'), 0,
64
"Apache2::Module::loaded('TestAPI::module::foo')";
66
# module TestAPI wasn't loaded but the stash exists, since
67
# TestAPI::module was loaded
68
ok t_cmp Apache2::Module::loaded('TestAPI'), 0,
69
"Apache2::Module::loaded('TestAPI')";
106
ok t_cmp(0, Apache::Module::loaded('Apache__Module_foo.foo'),
107
"Apache::Module::loaded('Apache__Module_foo.foo')");
109
ok t_cmp(0, Apache::Module::loaded(''),
110
"Apache::Module::loaded('')");
73
ok t_cmp Apache2::Module::loaded('Apache__Module_foo.foo'), 0,
74
"Apache2::Module::loaded('Apache__Module_foo.foo')";
76
ok t_cmp Apache2::Module::loaded(''), 0,
77
"Apache2::Module::loaded('')";
79
ok t_cmp ref($top_module), 'Apache2::Module', 'top_module';
81
my $mmn_major = $cfg->{httpd_info}{MODULE_MAGIC_NUMBER_MAJOR};
82
my $mmn_minor = $cfg->{httpd_info}{MODULE_MAGIC_NUMBER_MINOR};
83
for (my $modp = $top_module; $modp; $modp = $modp->next) {
84
my $name = $modp->name;
86
t_debug("Testing module: " . $modp->name);
87
ok t_cmp $modp->ap_api_major_version, $mmn_major;
88
ok $modp->ap_api_minor_version <= $mmn_minor;
89
ok $modp->module_index >= 0;
90
my $cmds = $modp->cmds;
91
ok !defined($cmds) || ref($cmds) eq 'Apache2::Command';