$WriteRepo = catfile( qw(t local WRITEREPO) );
%MYCPAN => ( dir => catfile( qw(t read MYCPAN) ), );
my @files = qw(modulelist test-0.01.tar.gz);
$MYCPAN{@files} = map { catfile( $MYCPAN{dir}, $_ ) } @files;
return 1 if ( -r '/usr/local/etc/mcpani' );
return 1 if ( -r '/etc/mcpani' );
# parsecfg()
dies_ok { $mcpi->parsecfg( catfile( qw(t .mcpani config_bad) ) ); }
'Missing config option';
mkdir catfile( qw(t local MYCPAN) );
$mcpi->parsecfg( catfile( qw(t .mcpani config_noread) ) );
dies_ok { $mcpi->readlist } 'unreadable file';
$mcpi->parsecfg( catfile( qw(t .mcpani config) ) );
$mcpi->parsecfg( catfile( qw(t .mcpani config_norepo) ) );
dies_ok {
$mcpi->add(
module => 'CPAN::Mini::Inject',
authorid => 'SSORICHE',
version => '0.01',
file => 'test-0.01.tar.gz'
);
}
'Missing config repository';
$mcpi->parsecfg( catfile( qw(t .mcpani config_read) ) );
$mcpi->parsecfg( catfile( qw(t .mcpani config_nowrite) ) );
dies_ok { $mcpi->writelist } 'fail write file';
mkdir catfile( qw(t local WRITEREPO) );
open WRITEFILE, '>', catfile( qw(t local WRITEREPO modulelist) );
close WRITEFILE;
chmod 0222, catfile( qw(t local WRITEREPO modulelist) );
chmod 0555, catfile( qw(t read MYCPAN) );
chmod 0444, catfile( qw(t read MYCPAN modulelist) );
chmod 0444, catfile( qw(t read MYCPAN test-0.01.tar.gz) );