On Tue Jun 26 20:15:04 2007, jkeen <!-- x --> at verizon.net wrote: > On Fri Jun 22 18:19:26 2007, jkeen <!-- x --> at verizon.net wrote: > > > > "config/init/headers.pm would benefit from an > > explanation of what 'nongenerated headers' are." > > > > This module has already achieved 100% coverage of all statements and > branches during testing, > so we only need to respond to the request above in order to close the > ticket.
pmichaud and coke advised on the question above. Submitting patch for config/init/headers.pm. Submitting test 106 for that module. Resubmitting 2 tests for 101. Fixing earlier lack of correction in MANIFEST.
Index: MANIFEST =================================================================== --- MANIFEST (revision 19404) +++ MANIFEST (working copy) @@ -2830,31 +2830,34 @@ t/compilers/tge/grammar.t [] t/compilers/tge/harness [] t/compilers/tge/parser.t [] -t/configure/01-options.t [] -t/configure/02-messages.t [] -t/configure/03-steplist.t [] -t/configure/04-configure.t [] -t/configure/05-run_one_step.t [] -t/configure/06-bad_step.t [] -t/configure/07-verbose_two.t [] -t/configure/08-verbose_step_number.t [] -t/configure/09-verbose_step_regex.t [] -t/configure/10-verbose_step_number_not_called.t [] -t/configure/11-no_description.t [] -t/configure/12-verbose.t [] -t/configure/13-die.t [] -t/configure/14-params.t [] -t/configure/15-no_return.t [] -t/configure/16-no_return_but_result.t [] -t/configure/17-revision_no_DEVELOPING.t [] -t/configure/18-revision.t [] -t/configure/19-version.t [] -t/configure/20-version.t [] -t/configure/21-version.t [] -t/configure/22-version.t [] -t/configure/23-version.t [] -t/configure/24-version.t [] -t/configure/25-options_test.t [] +t/configure/001-options.t [] +t/configure/002-messages.t [] +t/configure/003-steplist.t [] +t/configure/004-configure.t [] +t/configure/005-run_one_step.t [] +t/configure/006-bad_step.t [] +t/configure/007-verbose_two.t [] +t/configure/008-verbose_step_number.t [] +t/configure/009-verbose_step_regex.t [] +t/configure/010-verbose_step_number_not_called.t [] +t/configure/011-no_description.t [] +t/configure/012-verbose.t [] +t/configure/013-die.t [] +t/configure/014-params.t [] +t/configure/015-no_return.t [] +t/configure/016-no_return_but_result.t [] +t/configure/017-revision_no_DEVELOPING.t [] +t/configure/018-revision.t [] +t/configure/019-version.t [] +t/configure/020-version.t [] +t/configure/021-version.t [] +t/configure/022-version.t [] +t/configure/023-version.t [] +t/configure/024-version.t [] +t/configure/025-options_test.t [] +t/configure/101-init_manifest.01.t [] +t/configure/101-init_manifest.02.t [] +t/configure/106-init_headers.t [] t/configure/base.t [] t/configure/config_steps.t [] t/configure/data.t [] Index: t/configure/101-init_manifest.01.t =================================================================== --- t/configure/101-init_manifest.01.t (revision 0) +++ t/configure/101-init_manifest.01.t (revision 0) @@ -0,0 +1,81 @@ +#! perl +# Copyright (C) 2007, The Perl Foundation. +# $Id: 101-init_manifest.01.t 19303 2007-06-25 03:38:10Z jkeenan $ +# 101-init_manifest.01.t + +use strict; +use warnings; +use Test::More tests => 7; +use Carp; +use Data::Dumper; +use lib qw( . lib ../lib ../../lib ); +use_ok('config::init::manifest'); +use Parrot::BuildUtil; +use Parrot::Configure; +use Parrot::Configure::Options qw( process_options ); + +=for hints_for_testing See if you can get the program to 'ack' when it +thinks there are files missing from those listed in the MANIFEST. + +=cut + +my $pkg = q{init::manifest}; +my $parrot_version = Parrot::BuildUtil::parrot_version(); +my $args = process_options( { + argv => [ q{--nomanicheck} ], + script => $0, + parrot_version => $parrot_version, + svnid => '$Id: 101-init_manifest.01.t 19303 2007-06-25 03:38:10Z jkeenan $', +} ); + +my $conf = Parrot::Configure->new; +$conf->add_steps($pkg); +$conf->options->set(%{$args}); + +my $task = $conf->steps->[0]; +my $step_name = $task->step; +my @step_params = @{ $task->params }; + +my $step = $step_name->new(); +ok(defined $step, "$step_name constructor returned defined value"); +isa_ok($step, $step_name); +ok($step->description(), "$step_name has description"); +my $ret = $step->runstep($conf); +ok(defined $ret, "$step_name runstep() returned defined value"); +is($ret->result, q{skipped}, + "Because of --nomanicheck, result is 'skipped'."); + +pass("Completed all tests in $0"); + +################### DOCUMENTATION ################### + +=head1 NAME + +101-init_manifest.01.t - test config::init::manifest + +=head1 SYNOPSIS + + % prove t/configure/101-init_manifest.01.t + +=head1 DESCRIPTION + +The files in this directory test functionality used by F<Configure.pl>. + +The tests in this file test subroutines exported by config::init::manifest. + +=head1 AUTHOR + +James E Keenan + +=head1 SEE ALSO + +config::init::manifest, F<Configure.pl>. + +=cut + +# Local Variables: +# mode: cperl +# cperl-indent-level: 4 +# fill-column: 100 +# End: +# vim: expandtab shiftwidth=4: Index: t/configure/101-init_manifest.02.t =================================================================== --- t/configure/101-init_manifest.02.t (revision 0) +++ t/configure/101-init_manifest.02.t (revision 0) @@ -0,0 +1,100 @@ +#! perl +# Copyright (C) 2007, The Perl Foundation. +# $Id: 101-init_manifest.02.t 19274 2007-06-23 00:38:00Z jkeenan $ +# 101-init_manifest.02.t + +use strict; +use warnings; +use Test::More tests => 6; +use Carp; +use Cwd; +use Data::Dumper; +use File::Copy; +use File::Temp qw(tempdir); +use lib qw( . lib ../lib ../../lib ); +use_ok('config::init::manifest'); +use Parrot::BuildUtil; +use Parrot::Configure; +use Parrot::Configure::Options qw( process_options ); +use Parrot::IO::Capture::Mini; + +=for hints_for_testing See if you can get the program to 'ack' when it +thinks there are files missing from those listed in the MANIFEST. + +=cut + +my $pkg = q{init::manifest}; +my $parrot_version = Parrot::BuildUtil::parrot_version(); +my $args = process_options( { + argv => [ ], + script => $0, + parrot_version => $parrot_version, + svnid => '$Id: 101-init_manifest.02.t 19274 2007-06-23 00:38:00Z jkeenan $', +} ); + +my $conf = Parrot::Configure->new; +$conf->add_steps($pkg); +$conf->options->set(%{$args}); + +my $task = $conf->steps->[0]; +my $step_name = $task->step; +my @step_params = @{ $task->params }; + +my $step = $step_name->new(); +ok(defined $step, "$step_name constructor returned defined value"); +isa_ok($step, $step_name); +ok($step->description(), "$step_name has description"); +# Lets see if we can trick ExtUtils::Manifest into thinking there are missing +# files. +my $cwd = cwd(); +{ + my $tdir = tempdir(); + chdir $tdir or croak "Unable to change to tempdir"; + copy (qq{$cwd/MANIFEST}, qq{$tdir/MANIFEST}) or croak "Unable to copy MANIFEST"; + { + my $tie_err = tie *STDERR, "Parrot::IO::Capture::Mini" + or croak "Unable to tie"; + my $tie_out = tie *STDOUT, "Parrot::IO::Capture::Mini" + or croak "Unable to tie"; + my $ret = $step->runstep($conf); + my @lines = $tie_err->READLINE; + my @more_lines = $tie_out->READLINE; + is($ret, undef, "$step_name runstep returned undef"); + } + chdir $cwd or croak "Unable to change back"; +} + +pass("Completed all tests in $0"); + +################### DOCUMENTATION ################### + +=head1 NAME + +101-init_manifest.02.t - test config::init::manifest + +=head1 SYNOPSIS + + % prove t/configure/101-init_manifest.02.t + +=head1 DESCRIPTION + +The files in this directory test functionality used by F<Configure.pl>. + +The tests in this file test subroutines exported by config::init::manifest. + +=head1 AUTHOR + +James E Keenan + +=head1 SEE ALSO + +config::init::manifest, F<Configure.pl>. + +=cut + +# Local Variables: +# mode: cperl +# cperl-indent-level: 4 +# fill-column: 100 +# End: +# vim: expandtab shiftwidth=4: Index: t/configure/106-init_headers.t =================================================================== --- t/configure/106-init_headers.t (revision 0) +++ t/configure/106-init_headers.t (revision 0) @@ -0,0 +1,50 @@ +#! perl +# Copyright (C) 2007, The Perl Foundation. +# $Id: 106-init_headers.t 19411 2007-06-28 20:04:46Z jkeenan $ +# 106-init_headers.t + +use strict; +use warnings; +use Test::More tests => 2; +use Carp; +use lib qw( . lib ../lib ../../lib ); +use_ok('config::init::headers'); + +# config/init/headers.pm is completely tested in all statements, branches and +# conditions by other tests among the configuration tests. So there is no +# need to add additional unit tests in this file. + +pass("Completed all tests in $0"); + +################### DOCUMENTATION ################### + +=head1 NAME + +106-init_headers.t - test config::init::headers + +=head1 SYNOPSIS + + % prove t/configure/106-init_headers.t + +=head1 DESCRIPTION + +The files in this directory test functionality used by F<Configure.pl>. + +The tests in this file test subroutines exported by config::init::headers. + +=head1 AUTHOR + +James E Keenan + +=head1 SEE ALSO + +config::init::headers, F<Configure.pl>. + +=cut + +# Local Variables: +# mode: cperl +# cperl-indent-level: 4 +# fill-column: 100 +# End: +# vim: expandtab shiftwidth=4: Index: config/init/headers.pm =================================================================== --- config/init/headers.pm (revision 19404) +++ config/init/headers.pm (working copy) @@ -7,7 +7,8 @@ =head1 DESCRIPTION -Uses C<ExtUtils::Manifest> to determine which headers are nongenerated. +Uses C<ExtUtils::Manifest> to find the C header files that are +distributed with Parrot. =cut @@ -21,7 +22,7 @@ use Parrot::Configure::Step; use ExtUtils::Manifest qw(maniread); -our $description = 'Determining nongenerated header files'; +our $description = 'Finding header files distributed with Parrot'; our @args; sub runstep {