gozer 2004/08/17 13:39:46
Modified: t/response/TestAPI module.pm Log: Improve Apache::Module tests to make usage of the entire API on the whole apache module list. Revision Changes Path 1.16 +24 -38 modperl-2.0/t/response/TestAPI/module.pm Index: module.pm =================================================================== RCS file: /home/cvs/modperl-2.0/t/response/TestAPI/module.pm,v retrieving revision 1.15 retrieving revision 1.16 diff -u -r1.15 -r1.16 --- module.pm 11 Aug 2004 00:13:50 -0000 1.15 +++ module.pm 17 Aug 2004 20:39:46 -0000 1.16 @@ -18,50 +18,20 @@ my $r = shift; my $cfg = Apache::Test::config(); - + my $top_module = Apache::Module->top_module; - #no promise that mod_perl will be the top_module - my $top_module_name = (defined $top_module && $top_module->name()) || ''; + my $module_count = 0; + for (my $modp = $top_module; $modp; $modp = $modp->next) { + $module_count++; + } - my $tests = 11; + my $tests = 10 + ( 5 * $module_count ); plan $r, tests => $tests; - t_debug "top_module: $top_module_name"; - ok $top_module; - - ok t_cmp($top_module->version, - $cfg->{httpd_info}->{MODULE_MAGIC_NUMBER_MAJOR}, - q{$top_module->version}); - - ok t_cmp($top_module->module_index, - scalar(keys %{ $cfg->{modules} }), - q{$top_module->module_index}) - || 1; # the A-T config could be wrong - - if (0) { #XXX: currently fails with --enable-mods-shared=all - local $cfg->{modules}->{'mod_perl.c'} = 1; - my $modules = {}; - - for (my $modp = $top_module; $modp; $modp = $modp->next) { - if ($modp && $modp->name) { - $modules->{$modp->name} = 1; - } - } - - my %alias = ( - 'sapi_apache2.c' => 'mod_php4.c', - ); - - while (my($key, $val) = each %alias) { - next unless $modules->{$key}; - delete $modules->{$key}; - $modules->{$val} = 1; - } - - ok t_cmp($modules, $cfg->{modules}, "Modules list"); - } + my $core = Apache::Module::find_linked_module('core.c'); + ok defined $core && $core->name eq 'core.c'; #.c ok t_cmp(Apache::Module::loaded('mod_perl.c'), 1, @@ -94,6 +64,22 @@ ok t_cmp(Apache::Module::loaded(''), 0, "Apache::Module::loaded('')"); + + + ok t_cmp ref($top_module), 'Apache::Module', 'top_module'; + + my $mmn_major = $cfg->{httpd_info}{MODULE_MAGIC_NUMBER_MAJOR}; + my $mmn_minor = $cfg->{httpd_info}{MODULE_MAGIC_NUMBER_MINOR}; + for (my $modp = $top_module; $modp; $modp = $modp->next) { + my $name = $modp->name; + ok $name; + t_debug("Testing module: " . $modp->name); + ok $modp->version == $mmn_major; + ok $modp->minor_version <= $mmn_minor; + ok $modp->module_index >= 0; + my $cmds = $modp->cmds; + ok !defined($cmds) || ref($cmds) eq 'Apache::Command'; + } Apache::OK; }