There is also this one:


# Failed test ' find('perldoc') should match survey's name2where{perldoc}'
# at t/search50.t line 76.
# got: '/home/njh/perl5/perlbrew/perls/perl-5.14.2/lib/5.14.2/perldoc.pod'
# expected: '/home/njh/perl5/perlbrew/perls/perl-5.14.2/lib/5.14.2/Pod/perldoc.pod'

Note that the files are in different directories!

I have fought the issue of divergence between survey() and find() for a couple years now, and while the number of failures has come down over that time (mainly by making them search the same directories in the same order, prefer the same file extension precedence, and doing case-insensitive comparisons on case-insensitive file systems), it’s been a rather drawn-out game of whack-a-mole.
I think that the best fix is to make the survey() pattern match files with no extensions, and also files with the .plx extension.
Yes, these should be made consistent, which ought to address the failures you saw, but not the one where it finds the files in different directories. I think that’s an issue specific to perldoc, actually. At one time I considered putting a special case pass for that case in the test file, though I never couldn’t bring myself to do it. (Note that there is already a special-case handling of strict.)
This means that survey will scan a number of extra files, but it also scans them looking for pod, so it shouldn’t return any false positive. This would mean that survey would now find scripts that have pod in them, which it currently misses.
Makes sense.


Search Discussions

Discussion Posts


Related Discussions

Discussion Navigation
viewthread | post
posts ‹ prev | 6 of 6 | next ›
Discussion Overview
groupcpan-workers @
postedMar 5, '16 at 8:57p
activeMar 7, '16 at 6:12p



site design / logo © 2021 Grokbase