Craig A. Berry wrote: > The home-grown glob() implementation does not know what a tilde is, > and it returns VMS-format filespecs as absolute, not relative specs. > Both of these are contrary to the assumptions of various parts of > Module::Build and account for a number of test failures. The easiest > thing should be to override glob() and do a little pre-processing to > expand tildes and post-processing to convert paths from absolute to > relative. However, it has so far proven beyond my Perl foo to > override CORE::GLOBAL::glob in terms of itself without either getting > infinite recursion or having whatever I do in > Module::Build::Platform::VMS ignored from within Module::Build::Base.
FWIW, you avoid the infinite recursion by calling CORE::glob() instead of just glob(). sub _fixed_glob { ... CORE::glob(...); ... } BEGIN { local *CORE::GLOBAL::glob = \&fixed_glob; } > A number of the tests call is_deeply() to compare an array of > case-preserved filenames with another array of (by default) > non-case-preserved filenames. Obviously they don't match and the > tests fail. What's needed is a like_deeply() or similar where you > can pass a regex qualifier such as "?i:" to wrap around each of the > comparisons. So maybe I'll add that to MBTest one of these days. Would Test::Deep be useful here?