1N/Apackage MakeMaker::Test::Setup::Recurs;
1N/A
1N/A@ISA = qw(Exporter);
1N/Arequire Exporter;
1N/A@EXPORT = qw(setup_recurs teardown_recurs);
1N/A
1N/Ause strict;
1N/Ause File::Path;
1N/Ause File::Basename;
1N/A
1N/Amy %Files = (
1N/A 'Recurs/Makefile.PL' => <<'END',
1N/Ause ExtUtils::MakeMaker;
1N/A
1N/AWriteMakefile(
1N/A NAME => 'Recurs',
1N/A VERSION => 1.00,
1N/A);
1N/AEND
1N/A
1N/A 'Recurs/prj2/Makefile.PL' => <<'END',
1N/Ause ExtUtils::MakeMaker;
1N/A
1N/AWriteMakefile(
1N/A NAME => 'Recurs::prj2',
1N/A VERSION => 1.00,
1N/A);
1N/AEND
1N/A );
1N/A
1N/Asub setup_recurs {
1N/A while(my($file, $text) = each %Files) {
1N/A # Convert to a relative, native file path.
1N/A $file = File::Spec->catfile(File::Spec->curdir, split m{\/}, $file);
1N/A
1N/A my $dir = dirname($file);
1N/A mkpath $dir;
1N/A open(FILE, ">$file") || die "Can't create $file: $!";
1N/A print FILE $text;
1N/A close FILE;
1N/A }
1N/A
1N/A return 1;
1N/A}
1N/A
1N/Asub teardown_recurs {
1N/A foreach my $file (keys %Files) {
1N/A my $dir = dirname($file);
1N/A if( -e $dir ) {
1N/A rmtree($dir) || return;
1N/A }
1N/A }
1N/A return 1;
1N/A}