diff options
author | Karl Williamson <public@khwilliamson.com> | 2011-05-20 16:10:29 -0600 |
---|---|---|
committer | Karl Williamson <public@khwilliamson.com> | 2011-05-20 16:20:08 -0600 |
commit | b3fdb838d589962e1c590dffd9540666e53c7e21 (patch) | |
tree | 24c4382ce8721c045527f15e6fe8ff4c0a1304de | |
parent | 5d8c42c2e098c76d4dfa149495457173b15d8ce5 (diff) | |
download | perl-b3fdb838d589962e1c590dffd9540666e53c7e21.tar.gz |
podcheck.t: Improve VMS abilities
This should solve many of the problems encountered on VMS. It does
it by lower-casing file names before comparison.
-rw-r--r-- | t/porting/known_pod_issues.dat | 222 | ||||
-rw-r--r-- | t/porting/podcheck.t | 48 |
2 files changed, 143 insertions, 127 deletions
diff --git a/t/porting/known_pod_issues.dat b/t/porting/known_pod_issues.dat index 6ae4626097..98843c9d2d 100644 --- a/t/porting/known_pod_issues.dat +++ b/t/porting/known_pod_issues.dat @@ -121,7 +121,7 @@ wait(2) waitpid(3) wget(1) Win32::Locale -dist/Attribute-Handlers/lib/Attribute/Handlers.pm Verbatim line length including indents exceeds 80 by 19 +dist/attribute-handlers/lib/attribute/handlers.pm Verbatim line length including indents exceeds 80 by 19 dist/base/lib/fields.pm Verbatim line length including indents exceeds 80 by 1 dist/bignum/lib/bigint.pm Apparent broken link 1 dist/bignum/lib/bigint.pm Verbatim line length including indents exceeds 80 by 1 @@ -129,67 +129,67 @@ dist/bignum/lib/bignum.pm Apparent broken link 1 dist/bignum/lib/bignum.pm Verbatim line length including indents exceeds 80 by 1 dist/bignum/lib/bigrat.pm Apparent broken link 1 dist/constant/lib/constant.pm Apparent broken link 2 -dist/Cwd/lib/File/Spec.pm Verbatim line length including indents exceeds 80 by 1 -dist/Cwd/lib/File/Spec/Mac.pm Verbatim line length including indents exceeds 80 by 9 -dist/Cwd/lib/File/Spec/Unix.pm Verbatim line length including indents exceeds 80 by 1 -dist/Cwd/lib/File/Spec/VMS.pm Verbatim line length including indents exceeds 80 by 1 -dist/Cwd/lib/File/Spec/Win32.pm Verbatim line length including indents exceeds 80 by 1 -dist/Data-Dumper/Dumper.pm ? Should you be using L<...> instead of 1 -dist/Data-Dumper/Dumper.pm Verbatim line length including indents exceeds 80 by 2 -dist/ExtUtils-Install/lib/ExtUtils/Installed.pm Verbatim line length including indents exceeds 80 by 2 -dist/Filter-Simple/lib/Filter/Simple.pm Verbatim paragraph in NAME section 1 -dist/I18N-LangTags/lib/I18N/LangTags.pm Verbatim line length including indents exceeds 80 by 2 -dist/IO/IO.pm Verbatim line length including indents exceeds 80 by 1 -dist/IO/lib/IO/Socket/INET.pm Verbatim line length including indents exceeds 80 by 5 -dist/Locale-Maketext/lib/Locale/Maketext.pod No items in =over / =back list 1 -dist/Locale-Maketext/lib/Locale/Maketext.pod Verbatim line length including indents exceeds 80 by 1 -dist/Locale-Maketext/lib/Locale/Maketext/TPJ13.pod No items in =over / =back list 3 -dist/Math-BigInt/lib/Math/BigFloat.pm Apparent broken link 7 -dist/Math-BigInt/lib/Math/BigFloat.pm Apparent internal link is missing its forward slash 6 -dist/Math-BigInt/lib/Math/BigFloat.pm Verbatim line length including indents exceeds 80 by 28 -dist/Math-BigInt/lib/Math/BigInt.pm Apparent broken link 5 -dist/Math-BigInt/lib/Math/BigInt.pm Apparent internal link is missing its forward slash 7 -dist/Math-BigInt/lib/Math/BigInt.pm Verbatim line length including indents exceeds 80 by 122 -dist/Math-BigInt/lib/Math/BigInt.pm empty section in previous paragraph 1 -dist/Math-BigInt/lib/Math/BigInt/CalcEmu.pm Apparent broken link 1 -dist/Math-BigInt/lib/Math/BigInt/CalcEmu.pm empty section in previous paragraph 3 -dist/Math-BigRat/lib/Math/BigRat.pm Apparent broken link 3 -dist/Math-BigRat/lib/Math/BigRat.pm Apparent internal link is missing its forward slash 1 -dist/Math-BigRat/lib/Math/BigRat.pm Verbatim line length including indents exceeds 80 by 7 -dist/Module-CoreList/blib/script/corelist Verbatim line length including indents exceeds 80 by 1 -dist/Module-CoreList/lib/Module/CoreList.pm Verbatim line length including indents exceeds 80 by 4 -dist/Net-Ping/lib/Net/Ping.pm Verbatim line length including indents exceeds 80 by 2 -dist/Safe/Safe.pm Verbatim line length including indents exceeds 80 by 1 -dist/Safe/Safe.pm empty section in previous paragraph 1 -dist/SelfLoader/lib/SelfLoader.pm Verbatim line length including indents exceeds 80 by 14 -dist/Storable/Storable.pm Verbatim line length including indents exceeds 80 by 4 -dist/Thread-Queue/lib/Thread/Queue.pm Verbatim line length including indents exceeds 80 by 4 +dist/cwd/lib/file/spec.pm Verbatim line length including indents exceeds 80 by 1 +dist/cwd/lib/file/spec/mac.pm Verbatim line length including indents exceeds 80 by 9 +dist/cwd/lib/file/spec/unix.pm Verbatim line length including indents exceeds 80 by 1 +dist/cwd/lib/file/spec/vms.pm Verbatim line length including indents exceeds 80 by 1 +dist/cwd/lib/file/spec/win32.pm Verbatim line length including indents exceeds 80 by 1 +dist/data-dumper/dumper.pm ? Should you be using L<...> instead of 1 +dist/data-dumper/dumper.pm Verbatim line length including indents exceeds 80 by 2 +dist/extutils-install/lib/extutils/installed.pm Verbatim line length including indents exceeds 80 by 2 +dist/filter-simple/lib/filter/simple.pm Verbatim paragraph in NAME section 1 +dist/i18n-langtags/lib/i18n/langtags.pm Verbatim line length including indents exceeds 80 by 2 +dist/io/io.pm Verbatim line length including indents exceeds 80 by 1 +dist/io/lib/io/socket/inet.pm Verbatim line length including indents exceeds 80 by 5 +dist/locale-maketext/lib/locale/maketext.pod No items in =over / =back list 1 +dist/locale-maketext/lib/locale/maketext.pod Verbatim line length including indents exceeds 80 by 1 +dist/locale-maketext/lib/locale/maketext/tpj13.pod No items in =over / =back list 3 +dist/math-bigint/lib/math/bigfloat.pm Apparent broken link 7 +dist/math-bigint/lib/math/bigfloat.pm Apparent internal link is missing its forward slash 6 +dist/math-bigint/lib/math/bigfloat.pm Verbatim line length including indents exceeds 80 by 28 +dist/math-bigint/lib/math/bigint.pm Apparent broken link 5 +dist/math-bigint/lib/math/bigint.pm Apparent internal link is missing its forward slash 7 +dist/math-bigint/lib/math/bigint.pm Verbatim line length including indents exceeds 80 by 122 +dist/math-bigint/lib/math/bigint.pm empty section in previous paragraph 1 +dist/math-bigint/lib/math/bigint/calcemu.pm Apparent broken link 1 +dist/math-bigint/lib/math/bigint/calcemu.pm empty section in previous paragraph 3 +dist/math-bigrat/lib/math/bigrat.pm Apparent broken link 3 +dist/math-bigrat/lib/math/bigrat.pm Apparent internal link is missing its forward slash 1 +dist/math-bigrat/lib/math/bigrat.pm Verbatim line length including indents exceeds 80 by 7 +dist/module-corelist/blib/script/corelist Verbatim line length including indents exceeds 80 by 1 +dist/module-corelist/lib/module/corelist.pm Verbatim line length including indents exceeds 80 by 4 +dist/net-ping/lib/net/ping.pm Verbatim line length including indents exceeds 80 by 2 +dist/safe/safe.pm Verbatim line length including indents exceeds 80 by 1 +dist/safe/safe.pm empty section in previous paragraph 1 +dist/selfloader/lib/selfloader.pm Verbatim line length including indents exceeds 80 by 14 +dist/storable/storable.pm Verbatim line length including indents exceeds 80 by 4 +dist/thread-queue/lib/thread/queue.pm Verbatim line length including indents exceeds 80 by 4 dist/threads-shared/lib/threads/shared.pm ? Should you be using L<...> instead of 1 dist/threads/lib/threads.pm Verbatim line length including indents exceeds 80 by 3 -ext/B/B.pm Verbatim line length including indents exceeds 80 by 1 -ext/B/B/Concise.pm Verbatim line length including indents exceeds 80 by 1 -ext/Devel-Peek/Peek.pm ? Should you be using L<...> instead of 2 -ext/Devel-Peek/Peek.pm Verbatim line length including indents exceeds 80 by 2 -ext/DynaLoader/DynaLoader.pm Verbatim line length including indents exceeds 80 by 1 -ext/File-Glob/Glob.pm Verbatim line length including indents exceeds 80 by 15 -ext/Hash-Util-FieldHash/lib/Hash/Util/FieldHash.pm ? Should you be using L<...> instead of 1 -ext/Hash-Util-FieldHash/lib/Hash/Util/FieldHash.pm Verbatim line length including indents exceeds 80 by 2 -ext/I18N-Langinfo/Langinfo.pm Verbatim line length including indents exceeds 80 by 1 -ext/Opcode/Opcode.pm Verbatim line length including indents exceeds 80 by 10 -ext/POSIX/lib/POSIX.pod Verbatim line length including indents exceeds 80 by 29 +ext/b/b.pm Verbatim line length including indents exceeds 80 by 1 +ext/b/b/concise.pm Verbatim line length including indents exceeds 80 by 1 +ext/devel-peek/peek.pm ? Should you be using L<...> instead of 2 +ext/devel-peek/peek.pm Verbatim line length including indents exceeds 80 by 2 +ext/dynaloader/dynaloader.pm Verbatim line length including indents exceeds 80 by 1 +ext/file-glob/glob.pm Verbatim line length including indents exceeds 80 by 15 +ext/hash-util-fieldhash/lib/hash/util/fieldhash.pm ? Should you be using L<...> instead of 1 +ext/hash-util-fieldhash/lib/hash/util/fieldhash.pm Verbatim line length including indents exceeds 80 by 2 +ext/i18n-langinfo/langinfo.pm Verbatim line length including indents exceeds 80 by 1 +ext/opcode/opcode.pm Verbatim line length including indents exceeds 80 by 10 +ext/posix/lib/posix.pod Verbatim line length including indents exceeds 80 by 29 ext/re/re.pm Verbatim line length including indents exceeds 80 by 6 -ext/VMS-DCLsym/DCLsym.pm ? Should you be using L<...> instead of 1 -ext/VMS-DCLsym/DCLsym.pm Verbatim line length including indents exceeds 80 by 1 -ext/VMS-Stdio/Stdio.pm Verbatim line length including indents exceeds 80 by 1 -ext/XS-APItest/APItest.pm Verbatim line length including indents exceeds 80 by 1 -INSTALL ? Should you be using F<...> or maybe L<...> instead of 1 -INSTALL Verbatim line length including indents exceeds 80 by 10 +ext/vms-dclsym/dclsym.pm ? Should you be using L<...> instead of 1 +ext/vms-dclsym/dclsym.pm Verbatim line length including indents exceeds 80 by 1 +ext/vms-stdio/stdio.pm Verbatim line length including indents exceeds 80 by 1 +ext/xs-apitest/apitest.pm Verbatim line length including indents exceeds 80 by 1 +install ? Should you be using F<...> or maybe L<...> instead of 1 +install Verbatim line length including indents exceeds 80 by 10 installhtml Verbatim line length including indents exceeds 80 by 5 -os2/OS2/OS2-ExtAttr/ExtAttr.pm ? Should you be using F<...> or maybe L<...> instead of 1 -os2/OS2/OS2-Process/Process.pm Apparent broken link 4 -os2/OS2/OS2-Process/Process.pm Verbatim line length including indents exceeds 80 by 27 -os2/OS2/OS2-REXX/DLL/DLL.pm Verbatim line length including indents exceeds 80 by 2 -os2/OS2/OS2-REXX/REXX.pm Verbatim line length including indents exceeds 80 by 1 +os2/os2/os2-extattr/extattr.pm ? Should you be using F<...> or maybe L<...> instead of 1 +os2/os2/os2-process/process.pm Apparent broken link 4 +os2/os2/os2-process/process.pm Verbatim line length including indents exceeds 80 by 27 +os2/os2/os2-rexx/dll/dll.pm Verbatim line length including indents exceeds 80 by 2 +os2/os2/os2-rexx/rexx.pm Verbatim line length including indents exceeds 80 by 1 pod/perl.pod Verbatim line length including indents exceeds 80 by 9 pod/perlaix.pod Verbatim line length including indents exceeds 80 by 11 pod/perlapi.pod ? Should you be using L<...> instead of 87 @@ -213,7 +213,7 @@ pod/perldebug.pod ? Should you be using L<...> instead of 2 pod/perldebug.pod Verbatim line length including indents exceeds 80 by 3 pod/perldelta.pod Apparent broken link 1 pod/perldelta.pod Apparent internal link is missing its forward slash 4 -pod/perldelta.pod Pod NAME already used 1 +pod/perldelta.pod Pod NAME already used 2 pod/perldiag.pod =item type mismatch 1 pod/perldiag.pod Verbatim line length including indents exceeds 80 by 2 pod/perldoc.pod ? Should you be using F<...> or maybe L<...> instead of 1 @@ -306,7 +306,6 @@ pod/perlthrtut.pod Verbatim line length including indents exceeds 80 by 5 pod/perltie.pod Verbatim line length including indents exceeds 80 by 13 pod/perltoc.pod ? Should you be using L<...> instead of -1 pod/perltoc.pod Apparent broken link -1 -pod/perltoc.pod Apparent internal link is missing its forward slash -1 pod/perltoc.pod Should have =encoding statement because have non-ASCII -1 pod/perltoc.pod Verbatim line length including indents exceeds 80 by -1 pod/perltoc.pod empty section in previous paragraph -1 @@ -333,56 +332,59 @@ pod/perlwin32.pod Verbatim line length including indents exceeds 80 by 12 pod/perlxs.pod Apparent internal link is missing its forward slash 1 pod/perlxs.pod Verbatim line length including indents exceeds 80 by 4 pod/perlxstut.pod Verbatim line length including indents exceeds 80 by 10 -Porting/epigraphs.pod Entity number out of range E<0x2014> 1 -Porting/epigraphs.pod Verbatim line length including indents exceeds 80 by 3 -Porting/expand-macro.pl Verbatim line length including indents exceeds 80 by 2 -Porting/how_to_write_a_perldelta.pod There is no NAME 1 -Porting/how_to_write_a_perldelta.pod Verbatim line length including indents exceeds 80 by 3 -Porting/pumpkin.pod Verbatim line length including indents exceeds 80 by 9 -Porting/release_managers_guide.pod ? Should you be using L<...> instead of 2 -Porting/release_managers_guide.pod Verbatim line length including indents exceeds 80 by 11 -Porting/release_managers_guide.pod Verbatim paragraph in NAME section 1 -Porting/release_schedule.pod There is no NAME 1 -symbian/PerlUtil.pod Verbatim line length including indents exceeds 80 by 4 +porting/epigraphs.pod Entity number out of range E<0x2014> 1 +porting/epigraphs.pod Verbatim line length including indents exceeds 80 by 3 +porting/expand-macro.pl Verbatim line length including indents exceeds 80 by 2 +porting/how_to_write_a_perldelta.pod There is no NAME 1 +porting/how_to_write_a_perldelta.pod Verbatim line length including indents exceeds 80 by 3 +porting/perldelta_template.pod Apparent broken link 5 +porting/perldelta_template.pod Pod NAME already used 1 +porting/perldelta_template.pod Verbatim line length including indents exceeds 80 by 1 +porting/pumpkin.pod Verbatim line length including indents exceeds 80 by 9 +porting/release_managers_guide.pod ? Should you be using L<...> instead of 2 +porting/release_managers_guide.pod Verbatim line length including indents exceeds 80 by 11 +porting/release_managers_guide.pod Verbatim paragraph in NAME section 1 +porting/release_schedule.pod There is no NAME 1 +symbian/perlutil.pod Verbatim line length including indents exceeds 80 by 4 utils/c2ph Verbatim line length including indents exceeds 80 by 44 utils/libnetcfg Apparent broken link 1 -vms/ext/Filespec.pm Verbatim line length including indents exceeds 80 by 1 +vms/ext/filespec.pm Verbatim line length including indents exceeds 80 by 1 x2p/a2p.pod empty section in previous paragraph 2 x2p/psed unresolved internal link 3 -README.vms Apparent broken link 1 -README.vms Verbatim line length including indents exceeds 80 by 1 -lib/Benchmark.pm Verbatim line length including indents exceeds 80 by 4 -lib/CPAN/Debug.pm There is no NAME 1 -lib/CPAN/HandleConfig.pm =head2 without preceding higher level 1 -lib/CPAN/HandleConfig.pm There is no NAME 1 -lib/Class/Struct.pm ? Should you be using L<...> instead of 1 -lib/Class/Struct.pm Verbatim line length including indents exceeds 80 by 7 -lib/Config.pod ? Should you be using L<...> instead of 24 -lib/Config.pod nested commands F<...F<...>...> 3 -lib/DB.pm Verbatim line length including indents exceeds 80 by 2 -lib/DBM_Filter.pm Verbatim line length including indents exceeds 80 by 1 -lib/DBM_Filter/compress.pm Verbatim line length including indents exceeds 80 by 1 -lib/DBM_Filter/encode.pm Verbatim line length including indents exceeds 80 by 1 -lib/DBM_Filter/int32.pm Verbatim line length including indents exceeds 80 by 1 -lib/DBM_Filter/null.pm Verbatim line length including indents exceeds 80 by 1 -lib/DBM_Filter/utf8.pm Verbatim line length including indents exceeds 80 by 1 -lib/English.pm Verbatim line length including indents exceeds 80 by 1 -lib/Exporter.pm Verbatim line length including indents exceeds 80 by 2 -lib/ExtUtils/Embed.pm Verbatim line length including indents exceeds 80 by 2 -lib/ExtUtils/XSSymSet.pm Verbatim line length including indents exceeds 80 by 1 -lib/File/Basename.pm ? Should you be using L<...> instead of 1 -lib/File/Basename.pm Verbatim line length including indents exceeds 80 by 2 -lib/File/Find.pm ? Should you be using L<...> instead of 1 -lib/File/Find.pm Verbatim line length including indents exceeds 80 by 1 -lib/Getopt/Std.pm Verbatim line length including indents exceeds 80 by 1 -lib/PerlIO.pm Verbatim line length including indents exceeds 80 by 2 -lib/Pod/Text/Overstrike.pm Verbatim line length including indents exceeds 80 by 1 -lib/Term/ReadLine.pm Verbatim line length including indents exceeds 80 by 1 -lib/Tie/Array.pm Verbatim line length including indents exceeds 80 by 1 -lib/Tie/Hash.pm Verbatim line length including indents exceeds 80 by 3 -lib/Tie/Scalar.pm Verbatim line length including indents exceeds 80 by 1 -lib/Unicode/UCD.pm ? Should you be using F<...> or maybe L<...> instead of 1 -lib/Unicode/UCD.pm Verbatim line length including indents exceeds 80 by 1 +readme.vms Apparent broken link 1 +readme.vms Verbatim line length including indents exceeds 80 by 1 +lib/benchmark.pm Verbatim line length including indents exceeds 80 by 4 +lib/cpan/debug.pm There is no NAME 1 +lib/cpan/handleconfig.pm =head2 without preceding higher level 1 +lib/cpan/handleconfig.pm There is no NAME 1 +lib/class/struct.pm ? Should you be using L<...> instead of 1 +lib/class/struct.pm Verbatim line length including indents exceeds 80 by 7 +lib/config.pod ? Should you be using L<...> instead of 24 +lib/config.pod nested commands F<...F<...>...> 3 +lib/db.pm Verbatim line length including indents exceeds 80 by 2 +lib/dbm_filter.pm Verbatim line length including indents exceeds 80 by 1 +lib/dbm_filter/compress.pm Verbatim line length including indents exceeds 80 by 1 +lib/dbm_filter/encode.pm Verbatim line length including indents exceeds 80 by 1 +lib/dbm_filter/int32.pm Verbatim line length including indents exceeds 80 by 1 +lib/dbm_filter/null.pm Verbatim line length including indents exceeds 80 by 1 +lib/dbm_filter/utf8.pm Verbatim line length including indents exceeds 80 by 1 +lib/english.pm Verbatim line length including indents exceeds 80 by 1 +lib/exporter.pm Verbatim line length including indents exceeds 80 by 2 +lib/extutils/embed.pm Verbatim line length including indents exceeds 80 by 2 +lib/extutils/xssymset.pm Verbatim line length including indents exceeds 80 by 1 +lib/file/basename.pm ? Should you be using L<...> instead of 1 +lib/file/basename.pm Verbatim line length including indents exceeds 80 by 2 +lib/file/find.pm ? Should you be using L<...> instead of 1 +lib/file/find.pm Verbatim line length including indents exceeds 80 by 1 +lib/getopt/std.pm Verbatim line length including indents exceeds 80 by 1 +lib/perlio.pm Verbatim line length including indents exceeds 80 by 2 +lib/pod/text/overstrike.pm Verbatim line length including indents exceeds 80 by 1 +lib/term/readline.pm Verbatim line length including indents exceeds 80 by 1 +lib/tie/array.pm Verbatim line length including indents exceeds 80 by 1 +lib/tie/hash.pm Verbatim line length including indents exceeds 80 by 3 +lib/tie/scalar.pm Verbatim line length including indents exceeds 80 by 1 +lib/unicode/ucd.pm ? Should you be using F<...> or maybe L<...> instead of 1 +lib/unicode/ucd.pm Verbatim line length including indents exceeds 80 by 1 lib/deprecate.pm Verbatim line length including indents exceeds 80 by 2 lib/integer.pm Verbatim line length including indents exceeds 80 by 1 lib/overload.pm Apparent broken link 1 @@ -392,9 +394,9 @@ lib/perl5db.pl Verbatim line length including indents exceeds 80 by 1 lib/strict.pm Verbatim line length including indents exceeds 80 by 1 lib/utf8.pm Verbatim line length including indents exceeds 80 by 4 lib/version.pod Verbatim line length including indents exceeds 80 by 2 -lib/version/Internals.pod ? Should you be using L<...> instead of 1 -lib/version/Internals.pod Apparent broken link 1 -lib/version/Internals.pod Verbatim line length including indents exceeds 80 by 2 +lib/version/internals.pod ? Should you be using L<...> instead of 1 +lib/version/internals.pod Apparent broken link 1 +lib/version/internals.pod Verbatim line length including indents exceeds 80 by 2 lib/vmsish.pm Verbatim line length including indents exceeds 80 by 1 pod/perl5123delta.pod Pod NAME already used 1 -cpan/List-Util/XS.pp Pod NAME already used 1 +cpan/list-util/xs.pp Pod NAME already used 1 diff --git a/t/porting/podcheck.t b/t/porting/podcheck.t index f343181538..35c9d64949 100644 --- a/t/porting/podcheck.t +++ b/t/porting/podcheck.t @@ -287,6 +287,13 @@ sub suppressed { } } +# This is to get this to work across multiple file systems, including those +# that are not case sensitive. The db is stored in lower case, and all file +# name comparisons are done that way. +sub canonicalize($) { + return lc File::Spec->canonpath(shift); +} + # List of known potential problems by pod and type. my %known_problems; @@ -497,7 +504,7 @@ package My::Pod::Checker { # Extend Pod::Checker } } - Carp::carp("Couldn't extract line number from $message") if $message =~ /line \d+/; + Carp::carp("Couldn't extract line number from '$message'") if $message =~ /line \d+/; push @{$problems{$filename{$addr}}{$message}}, $opts; #push @{$problems{$self->get_filename}{$message}}, $opts; } @@ -818,6 +825,12 @@ my %excluded_files = ( "perl" => 1, ); +# Convert to more generic form. +foreach my $file (keys %excluded_files) { + $excluded_files{canonicalize($excluded_files{$file})} + = $excluded_files{$file}; +} + # re to match files that are to be parsed only if there is an internal link # to them. It does not include cpan, as whether those are parsed depends # on a switch. Currently, only the stable perldelta.pod's are included. @@ -919,7 +932,7 @@ sub is_pod_file { # Assumes that the path separator is exactly one character. $filename =~ s/^\..//; - return if $excluded_files{$filename}; + return if $excluded_files{canonicalize($filename)}; open my $candidate, '<', $_ or die "Can't open '$File::Find::name': $!\n"; @@ -1051,7 +1064,7 @@ END find( \&is_pod_file, '.'); # Add ourselves to the test - push @files, 't/porting/podcheck.t'; + push @files, "t/porting/podcheck.t"; } # Now we know how many tests there will be. @@ -1337,6 +1350,7 @@ if ($regen) { # Now ready to output the messages. foreach my $filename (@files) { my $test_name = "POD of $filename"; + my $canonical = canonicalize($filename); SKIP: { my $skip = $filename_to_checker{$filename}->get_skip // ""; @@ -1345,15 +1359,15 @@ foreach my $filename (@files) { my $count; # Preserve a negative setting. - if ($known_problems{$filename}{$message} - && $known_problems{$filename}{$message} < 0) + if ($known_problems{$canonical}{$message} + && $known_problems{$canonical}{$message} < 0) { - $count = $known_problems{$filename}{$message}; + $count = $known_problems{$canonical}{$message}; } else { $count = @{$problems{$filename}{$message}}; } - my_safer_print($copy_fh, "$filename\t$message\t$count\n"); + my_safer_print($copy_fh, canonicalize($filename) . "\t$message\t$count\n"); } next; } @@ -1364,13 +1378,13 @@ foreach my $filename (@files) { my $total_known = 0; foreach my $message ( sort keys %{$problems{$filename}}) { - $known_problems{$filename}{$message} = 0 - if ! $known_problems{$filename}{$message}; + $known_problems{$canonical}{$message} = 0 + if ! $known_problems{$canonical}{$message}; my $diagnostic = ""; my $problem_count = scalar @{$problems{$filename}{$message}}; $total_known += $problem_count; - next if $known_problems{$filename}{$message} < 0; - if ($problem_count > $known_problems{$filename}{$message}) { + next if $known_problems{$canonical}{$message} < 0; + if ($problem_count > $known_problems{$canonical}{$message}) { # Here we are about to output all the messages for this type, # subtract back this number we previously added in. @@ -1389,8 +1403,8 @@ foreach my $filename (@files) { } $diagnostic .= "\n"; $files_with_unknown_issues{$filename} = 1; - } elsif ($problem_count < $known_problems{$filename}{$message}) { - $diagnostic = output_thanks($filename, $known_problems{$filename}{$message}, $problem_count, $message); + } elsif ($problem_count < $known_problems{$canonical}{$message}) { + $diagnostic = output_thanks($filename, $known_problems{$canonical}{$message}, $problem_count, $message); } push @diagnostics, $diagnostic if $diagnostic; } @@ -1398,11 +1412,11 @@ foreach my $filename (@files) { # The above loop has output messages where there are current potential # issues. But it misses where there were some that have been entirely # fixed. For those, we need to look through the old issues - foreach my $message ( sort keys %{$known_problems{$filename}}) { + foreach my $message ( sort keys %{$known_problems{$canonical}}) { next if $problems{$filename}{$message}; - next if ! $known_problems{$filename}{$message}; - next if $known_problems{$filename}{$message} < 0; # Preserve negs - my $diagnostic = output_thanks($filename, $known_problems{$filename}{$message}, 0, $message); + next if ! $known_problems{$canonical}{$message}; + next if $known_problems{$canonical}{$message} < 0; # Preserve negs + my $diagnostic = output_thanks($filename, $known_problems{$canonical}{$message}, 0, $message); push @diagnostics, $diagnostic if $diagnostic; } |