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 {

Reply via email to