stas 2003/08/06 20:20:02
Added: util methodlookup_check.pl Log: a new maintenance script to verify that all XS methods are known by ModPerl::MethodLookup Revision Changes Path 1.1 modperl-2.0/util/methodlookup_check.pl Index: methodlookup_check.pl =================================================================== #!/usr/bin/perl # this script checks whether all XS methods are known to ModPerl::MethodLookup use strict; use warnings; use lib "lib"; use ModPerl::MethodLookup; # methods/classes ModPerl::MethodLookup knows about my %known = (); for (ModPerl::MethodLookup::avail_methods()) { my ($modules_hint, @modules) = ModPerl::MethodLookup::lookup_method($_); $known{$_} = { map {$_ => 1} @modules}; } # real XS methods my %real = (); my $in = qx{grep -Ir newXS WrapXS}; while ($in =~ m{WrapXS/(\w+)/(\w+)/.*?newXS\("(?:.+)::(.+)"}g) { $real{$3}{"$1\::$2"}++; } # now check what's missing my @miss = (); for my $method (sort keys %real) { for my $module (sort keys %{ $real{$method} }) { #printf "%-25s %s\n", $method, $module unless $known{$method}{$module}; push @miss, sprintf "%-25s %s\n", $module, $method unless $known{$method}{$module}; } } print @miss ? sort(@miss) : "All methods are known by ModPerl::MethodLookup\n";