Re: Module::Build test practices (was r13228 ...)

Eric Wilhelm <[email protected]>
Newsgroups gmane.comp.lang.perl.modules.module-build
Message-ID <[email protected]>
# from David Golden
# on Friday 28 August 2009 09:09:

>Could have DistGen create a tmp dir that doesn't set CLEANUP and
>records initial directory.

It already records the initial directory from chdir_in().

>Then DistGen's DESTROY could chdir to the 
>original and remove the temp.  That keeps it all in DistGen rather
>than MBTest.

You should be able to call DistGen's remove() from DESTROY.

There are some places (like manifypods.t) where the $tmp is reused in 
later calls to DistGen->new(), but each DistGen object should simply 
have its own temp dir.

It looks like we can nuke this cwd default

    $options{dir}  ||= Cwd::cwd();

And just:

    $options{dir} ||= $package->tmpdir;

But don't rmtree the dir if you didn't create it! -- maybe dir should 
simply not be an option because we're never using it.

>It's not that MBTest's chdir in END is a bad idea,  but
>I don't like relying on it for DistGen destruction.

Yeah.  It looks like there are very few places where tmpdir is being 
used alone (write_default_maniskip.t - but I think even that one should 
just be done with DistGen.)

So, actually I think we can remove the MBTest->tmpdir and that END block 
entirely once all of the tests stop doing DistGen->new(dir => $tmp).  
Further, the # cleanup stuff doing $dist->remove at the end can go away 
too.

--Eric
-- 
[...proprietary software is better than gpl because...] "There is value
in having somebody you can write checks to, and they fix bugs."
--Mike McNamara (president of a commercial software company)
---------------------------------------------------
    http://scratchcomputing.com
---------------------------------------------------
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.