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?