[Module-build-checkins] Module-Build/t destinations.t,1.34,1.35 install.t,1.27,1.28 manifypods.t,1.1
Status: Beta
Brought to you by:
kwilliams
From: Randy W. S. <si...@us...> - 2005-11-14 05:48:06
|
Update of /cvsroot/module-build/Module-Build/t In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv29868/t Modified Files: destinations.t install.t manifypods.t Log Message: Structure manpage and html document (collectively documentation) processing so that documentation is not generated unless there is a place to install it. Generation of documentation can be forced by invoking the respective action ('manpages' or 'html') explicitly or setting the appropriate install-path, install-base, or prefix. Regardless, documentation (and any other file type) will not be installed unless there are files of that type and there is a place to install them; if not, a warning will be issued. Setup some tests so that a known, predictable configuration is used in construction of Module::Build objects in order to reliably check install paths. Index: manifypods.t =================================================================== RCS file: /cvsroot/module-build/Module-Build/t/manifypods.t,v retrieving revision 1.16 retrieving revision 1.17 diff -u -d -r1.16 -r1.17 --- manifypods.t 2 Oct 2005 05:26:07 -0000 1.16 +++ manifypods.t 14 Nov 2005 05:47:58 -0000 1.17 @@ -64,16 +64,25 @@ chdir( $dist->dirname ) or die "Can't chdir to '@{[$dist->dirname]}': $!"; - -my $destdir = File::Spec->catdir($cwd, 't', 'install_test'); +use File::Spec::Functions qw( catdir ); +my $destdir = catdir($cwd, 't', 'install_test'); my $mb = Module::Build->new( module_name => $dist->name, install_base => $destdir, - gen_manpages => 1, # some platforms don't by default scripts => [ File::Spec->catfile( 'bin', 'nopod.pl' ), File::Spec->catfile( 'bin', 'haspod.pl' ) ], + + # need default install paths to ensure manpages & HTML get generated + installdirs => 'site', + config => { + installsiteman1dir => catdir($tmp, 'site', 'man', 'man1'), + installsiteman3dir => catdir($tmp, 'site', 'man', 'man3'), + installsitehtml1dir => catdir($tmp, 'site', 'html'), + installsitehtml3dir => catdir($tmp, 'site', 'html'), + } + ); $mb->add_to_cleanup($destdir); Index: install.t =================================================================== RCS file: /cvsroot/module-build/Module-Build/t/install.t,v retrieving revision 1.27 retrieving revision 1.28 diff -u -d -r1.27 -r1.28 --- install.t 20 Oct 2005 16:45:19 -0000 1.27 +++ install.t 14 Nov 2005 05:47:58 -0000 1.28 @@ -44,7 +44,26 @@ --- $dist->regen; -my $mb = Module::Build->new_from_context; + +use File::Spec::Functions qw( catdir ); + +my $mb = Module::Build->new_from_context( + # need default install paths to ensure manpages & HTML get generated + installdirs => 'site', + config => { + installman1dir => catdir($tmp, 'man', 'man1'), + installman3dir => catdir($tmp, 'man', 'man3'), + installhtml1dir => catdir($tmp, 'html'), + installhtml3dir => catdir($tmp, 'html'), + + installsiteman1dir => catdir($tmp, 'site', 'man', 'man1'), + installsiteman3dir => catdir($tmp, 'site', 'man', 'man3'), + installsitehtml1dir => catdir($tmp, 'site', 'html'), + installsitehtml3dir => catdir($tmp, 'site', 'html'), + } + +); + ok $mb; Index: destinations.t =================================================================== RCS file: /cvsroot/module-build/Module-Build/t/destinations.t,v retrieving revision 1.34 retrieving revision 1.35 diff -u -d -r1.34 -r1.35 --- destinations.t 20 Oct 2005 16:45:19 -0000 1.34 +++ destinations.t 14 Nov 2005 05:47:58 -0000 1.35 @@ -27,15 +27,42 @@ ######################### +# We need to create a well defined environment to test install paths. +# We do this by setting up appropriate Config entries. + use Module::Build; -my $mb = Module::Build->new_from_context; +my @installstyle = qw(lib perl5); +my $mb = Module::Build->new_from_context( + installdirs => 'site', + config => { + installstyle => catdir(@installstyle), + + installprivlib => catdir($tmp, @installstyle), + installarchlib => catdir($tmp, @installstyle, + @Config{qw(version archname)}), + installbin => catdir($tmp, 'bin'), + installscript => catdir($tmp, 'bin'), + installman1dir => catdir($tmp, 'man', 'man1'), + installman3dir => catdir($tmp, 'man', 'man3'), + installhtml1dir => catdir($tmp, 'html'), + installhtml3dir => catdir($tmp, 'html'), + + installsitelib => catdir($tmp, 'site', @installstyle, 'site_perl'), + installsitearch => catdir($tmp, 'site', @installstyle, 'site_perl', + @Config{qw(version archname)}), + installsitebin => catdir($tmp, 'site', 'bin'), + installsitescript => catdir($tmp, 'site', 'bin'), + installsiteman1dir => catdir($tmp, 'site', 'man', 'man1'), + installsiteman3dir => catdir($tmp, 'site', 'man', 'man3'), + installsitehtml1dir => catdir($tmp, 'site', 'html'), + installsitehtml3dir => catdir($tmp, 'site', 'html'), + } +); isa_ok( $mb, 'Module::Build::Base' ); my $install_sets = $mb->install_sets; - # Get us into a known state. -$mb->installdirs('site'); $mb->install_base(undef); $mb->prefix(undef); @@ -47,17 +74,15 @@ is( $mb->prefix, undef ); test_install_destinations( $mb, { - lib => $Config{installsitelib}, - arch => $Config{installsitearch}, - bin => $Config{installsitebin} || $Config{installbin}, - script => $Config{installsitescript} || $Config{installsitebin} || - $Config{installscript}, - bindoc => $Config{installsiteman1dir} || $Config{installman1dir}, - libdoc => $Config{installsiteman3dir} || $Config{installman3dir}, - binhtml => $Config{installsitehtml1dir} || - $Config{installhtml1dir} || $Config{installhtmldir}, - libhtml => $Config{installsitehtml3dir} || - $Config{installhtml3dir} || $Config{installhtmldir}, + lib => catdir($tmp, 'site', @installstyle, 'site_perl'), + arch => catdir($tmp, 'site', @installstyle, 'site_perl', + @Config{qw(version archname)}), + bin => catdir($tmp, 'site', 'bin'), + script => catdir($tmp, 'site', 'bin'), + bindoc => catdir($tmp, 'site', 'man', 'man1'), + libdoc => catdir($tmp, 'site', 'man', 'man3'), + binhtml => catdir($tmp, 'site', 'html'), + libhtml => catdir($tmp, 'site', 'html'), }); } @@ -68,14 +93,14 @@ is( $mb->installdirs, 'core' ); test_install_destinations( $mb, { - lib => $Config{installprivlib}, - arch => $Config{installarchlib}, - bin => $Config{installbin}, - script => $Config{installscript} || $Config{installbin}, - bindoc => $Config{installman1dir}, - libdoc => $Config{installman3dir}, - binhtml => $Config{installhtml1dir} || $Config{installhtmldir}, - libhtml => $Config{installhtml3dir} || $Config{installhtmldir}, + lib => catdir($tmp, @installstyle), + arch => catdir($tmp, @installstyle, @Config{qw(version archname)}), + bin => catdir($tmp, 'bin'), + script => catdir($tmp, 'bin'), + bindoc => catdir($tmp, 'man', 'man1'), + libdoc => catdir($tmp, 'man', 'man3'), + binhtml => catdir($tmp, 'html'), + libhtml => catdir($tmp, 'html'), }); $mb->installdirs('site'); |