1 ### make sure we can find our conf.pl file
4 require "$FindBin::Bin/inc/conf.pl";
8 use Test::More 'no_plan';
11 use CPANPLUS::Backend;
12 use CPANPLUS::Module::Fake;
13 use CPANPLUS::Module::Author::Fake;
14 use CPANPLUS::Internals::Constants;
16 my $Conf = gimme_conf();
17 my $CB = CPANPLUS::Backend->new( $Conf );
19 ### set the config so that we will ignore the build installer,
20 ### but prefer it anyway
21 { CPANPLUS::Dist->_ignore_dist_types( INSTALLER_BUILD );
22 $Conf->set_conf( prefer_makefile => 0 );
25 my $Mod = $CB->module_tree( 'Foo::Bar::MB::NOXS' );
27 ok( $Mod, "Module object retrieved" );
28 ok( not grep { $_ eq INSTALLER_BUILD } CPANPLUS::Dist->dist_types,
29 " Build installer not returned" );
31 ### fetch the file first
32 { my $where = $Mod->fetch;
33 ok( -e $where, " Tarball '$where' exists" );
36 ### extract it, silence warnings/messages
37 { my $where = $Mod->extract;
38 ok( -e $where, " Tarball extracted to '$where'" );
41 ### check the installer type
42 { is( $Mod->status->installer_type, INSTALLER_MM,
43 "Proper installer type found" );
45 my $err = CPANPLUS::Error->stack_as_string;
46 like( $err, '/'.INSTALLER_MM.'/',
47 " Error mentions " . INSTALLER_MM );
48 like( $err, '/'.INSTALLER_BUILD.'/',
49 " Error mentions " . INSTALLER_BUILD );
50 like( $err, qr/but might not be able to install/,
51 " Error mentions install warning" );
54 END { 1 while unlink output_file() }