summaryrefslogtreecommitdiff
path: root/t/lib/filenames.pl
diff options
context:
space:
mode:
Diffstat (limited to 't/lib/filenames.pl')
-rw-r--r--t/lib/filenames.pl46
1 files changed, 46 insertions, 0 deletions
diff --git a/t/lib/filenames.pl b/t/lib/filenames.pl
new file mode 100644
index 0000000..504b4bf
--- /dev/null
+++ b/t/lib/filenames.pl
@@ -0,0 +1,46 @@
+$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) );
+