Author: jkeenan Date: Sun Feb 4 14:54:29 2007 New Revision: 16894 Modified: branches/buildtools/lib/Parrot/Ops2pm/Auxiliary.pm branches/buildtools/lib/Parrot/Ops2pm/Utils.pm branches/buildtools/t/tools/ops2pmutils/00-qualify.t branches/buildtools/t/tools/ops2pmutils/01-ops2pmutils.t branches/buildtools/t/tools/ops2pmutils/02-usage.t branches/buildtools/t/tools/ops2pmutils/03-new.t branches/buildtools/t/tools/ops2pmutils/04-prepare_ops.t branches/buildtools/t/tools/ops2pmutils/05-renum_op_map_file.t branches/buildtools/t/tools/ops2pmutils/06-load_op_map_files.t branches/buildtools/t/tools/ops2pmutils/07-no_ops_skip.t branches/buildtools/t/tools/ops2pmutils/08-sort_ops.t branches/buildtools/t/tools/ops2pmutils/09-prepare_real_ops.t branches/buildtools/t/tools/ops2pmutils/10-print_module.t branches/buildtools/t/tools/ops2pmutils/11-print_h.t branches/buildtools/tools/build/ops2pm.pl
Log: Fine tuning of POD in all tools/build/ops2pm.pl, lib/Parrot/Ops2pm/*.pm and t/tools/ops2pmutils/*.t. Modified: branches/buildtools/lib/Parrot/Ops2pm/Auxiliary.pm ============================================================================== --- branches/buildtools/lib/Parrot/Ops2pm/Auxiliary.pm (original) +++ branches/buildtools/lib/Parrot/Ops2pm/Auxiliary.pm Sun Feb 4 14:54:29 2007 @@ -60,18 +60,18 @@ =over 4 -=item Purpose +=item * Purpose Display a short description of how to use F<tools/build/ops2pm.pl> on standard output. usage: tools/build/ops2pm.pl [--help] [--no-lines] input.ops [input2.ops ...] -=item Arguments +=item * Arguments None. -=item Return Value +=item * Return Value Implicitly returns true upon successful printing. @@ -81,15 +81,15 @@ =over 4 -=item Purpose +=item * Purpose Process arguments provided on command-line to F<tools/build/ops2pm.pl>. -=item Arguments +=item * Arguments None. -=item Return Value +=item * Return Value Hash reference where any of the following keys may or may not be defined. @@ -97,7 +97,7 @@ help renum -=item Comment +=item * Comment A wrapper around Getopt::Long::GetOptions() designed to assure testability. @@ -105,6 +105,8 @@ =head1 AUTHOR +Jim Keenan (refactoring code originally found in F<tools/build/ops2pm.pl>). + =head1 SEE ALSO Parrot::Ops2pm::Utils. F<tools/build/ops2pm.pl>. Modified: branches/buildtools/lib/Parrot/Ops2pm/Utils.pm ============================================================================== --- branches/buildtools/lib/Parrot/Ops2pm/Utils.pm (original) +++ branches/buildtools/lib/Parrot/Ops2pm/Utils.pm Sun Feb 4 14:54:29 2007 @@ -51,6 +51,14 @@ program which is called at the very beginning of the Parrot F<make> process. The program's function is to build two files: +=over 4 + +=item * F<lib/Parrot/OpLib/core.pm> + +=item * F<include/parrot/oplib/ops.h> + +=back + The functionality originally found in F<tools/build/ops2pm.pl> has been extracted into this package's methods in order to support component-focused testing and future refactoring. @@ -70,12 +78,12 @@ =over 4 -=item Purpose +=item * Purpose Process files provided as command-line arguments to F<tools/build/ops2pm.pl> and construct a Parrot::Ops2pm::Utils object. -=item Arguments +=item * Arguments Hash reference with the following elements: @@ -94,11 +102,11 @@ script : name of the script to be executed by 'make' (generally, tools/build/ops2pm.pl) -=item Return Value +=item * Return Value Parrot::Ops2pm::Utils object. -=item Comment +=item * Comment Arguments for the constructor have been selected so as to provide subsequent methods with all information needed to execute properly and to be @@ -126,25 +134,25 @@ =over 4 -=item Purpose +=item * Purpose -Call C<Parrot::OpsFile->new()>, then populate the resulting +Call C<Parrot::OpsFile::new()>, then populate the resulting C<$opts> hash reference with information from each of the F<.ops> files provided as command-line arguments to F<tools/build/ops2pm.pl>. -=item Arguments +=item * Arguments None. (Implicitly requires that at least the C<argv> and C<script> elements were provided to the constructor.) -=item Return Value +=item * Return Value None. Internally, sets the C<ops> key in the object's data structure. -=item Comment +=item * Comment -This method calls C<Parrot::OpsFile->new()> on the first F<.ops> +This method calls C<Parrot::OpsFile::new()> on the first F<.ops> file found in C<@ARGV>, then copies the ops from the remaining F<.ops> files to the object just created. Experimental ops are marked as such. @@ -193,26 +201,27 @@ =over 4 -=item Purpose +=item * Purpose Triggered when F<tools/build/ops2pm.pl> is called with the C<--renum> flag, this method renumbers F<src/ops/ops.num> based on the already existing file of that name and additional F<.ops> files. -=item Arguments +=item * Arguments String holding name of an F<.ops> file; defaults to F<src/ops/ops.num>. (Implicitly requires that the C<argv>, C<script> and C<renum> elements were provided to the constructor.) -=item Return Value +=item * Return Value Returns true value upon success. -=item Comment +=item * Comment -After being called by F<tools/build/ops2pm.pl>, that script -exits, making this the only Parrot::Ops2pm::Utils method which is I<not> a +When F<tools/build/ops2pm.pl> is called with the C<--renum> option, this +method is triggered, after which F<ops2pm.pl> exits. Consequently, this is +the only Parrot::Ops2pm::Utils method which is I<not> a stepping stone on the path to building F<lib/Parrot/OpLib/core.pm>. =back @@ -267,26 +276,26 @@ =over 4 -=item Purpose +=item * Purpose When F<tools/build/ops2pm.pl> is called by F<make>, this method -checks [## what? ] strictly against F<src/ops/ops.num> and renumbers as +checks the number of ops strictly against F<src/ops/ops.num> and renumbers as needed. -=item Arguments +=item * Arguments None. (Implicitly requires that the C<argv> and C<script> keys have been provided to the constructor and that the C<renum> key not have a true value -- which will be the case when the C<--renum> option is I<not> provided to F<tools/build/ops2pm.pl>.) -=item Return Value +=item * Return Value - Returns true value upon success. Internally, sets these +Returns true value upon success. Internally, sets these values in these elements in the object's data structure: C<max_op_num>, C<skiptable> and C<optable>. -=item Comments +=item * Comments This is the default case, I<i.e.,> the case that prevails when F<tools/build/ops2pm.pl> is I<not> called with the C<--renum> flag. In @@ -352,22 +361,22 @@ =over 4 -=item Purpose +=item * Purpose Internal manipulation of the Parrot::Ops2pm::Utils object: sorting by number of the list of op codes found in the object's -C<{ops}->{OPS}> element. +C<{ops}-E<gt>{OPS}> element. -=item Arguments +=item * Arguments None. -=item Return Value +=item * Return Value None. Internally, sets the C<ops> key of the object's data structure. -=item Comment +=item * Comment Will emit warnings under these circumstances: @@ -408,19 +417,21 @@ =over 4 -=item Purpose +=item * Purpose -=item Arguments +Final stage of preparation of ops. + +=item * Arguments None. (Same implicit requirements for the constructor as C<load_op_map_files()> above.) -=item Return Value +=item * Return Value None. Internally, sets the C<real_ops> key of the object's data structure. -=item Comment +=item * Comment =back @@ -455,21 +466,23 @@ =over 4 -=item Purpose +=item * Purpose Uses information in the object's data structure -- principally the C<real_ops> element -- to create F<lib/Parrot/OpLib/core.pm>. -=item Arguments +=item * Arguments None. (Implicitly requires that the constructor have the following keys defined: C<argv>, C<script>, C<moddir> and C<module>.) -=item Return Value +=item * Return Value Returns true value upon success. -=item Comment +=item * Comment + +=back =cut @@ -544,21 +557,21 @@ =over 4 -=item Purpose +=item * Purpose Uses information in the object's data structure -- principally the C<real_ops> key -- to create F<include/parrot/oplib/ops.h>. -=item Arguments +=item * Arguments None. (Implicitly requires that the constructor have the following keys defined: C<argv>, C<script>, C<inc_dir> and C<inc_f>.) -=item Return Value +=item * Return Value Returns true value upon success. -=item Comment +=item * Comment =back @@ -623,5 +636,64 @@ return 1; } +=head1 NOTE ON TESTING + +A suite of test files to accompany this package is found in +F<t/tools/ops2pmutils>. This suite has been developed to maximize its +coverage of the code of Parrot::Ops2pm::Utils (as measured by Perl module +Devel::Cover). Should you wish to refactor this package, it is recommended +that you do so in a B<test-driven> manner: + +=over 4 + +=item 1 + +Write the specification for any additions or modifications to +Parrot::Ops2pm::Utils' interface. + +=item 2 + +Write tests that reflect any such modifications. + +=item 3 + +Write the additional or modified code that reflects the new specification. + +=item 4 + +Test the new code and debug. The tests in the suite should be run B<after> +Parrot's F<Configure.pl> has run but B<before> F<make> has run. Example: + + $> perl Configure.pl + $> prove -v t/tools/ops2pmutils/*.t + $> make + +=item 5 + +Use Devel::Cover to measure the extent to which the existing and new tests +cover the existing and revised code. + +=item 6 + +Refactor and retest to ensure high test coverage. + +=back + +This package's methods are called by F<tools/build/ops2pm.pl>, which in turn +is invoked by F<make> in the Parrot build process. Successful execution of +F<make> proves that the functionality in this package achieved its overall +objective but does not necessarily invoke many of the individual code +statements in the package. That is the rationale for the component-focused +testing provided by the test suite. + +=head1 AUTHOR + +See F<tools/build/ops2pm.pl> for a list of the Parrot hackers who, over a +period of several years, developed the functionality now found in the methods +of Parrot::Ops2pm::Utils. Jim Keenan extracted that functionality and placed +it in this package's methods. + +=cut + 1; Modified: branches/buildtools/t/tools/ops2pmutils/00-qualify.t ============================================================================== --- branches/buildtools/t/tools/ops2pmutils/00-qualify.t (original) +++ branches/buildtools/t/tools/ops2pmutils/00-qualify.t Sun Feb 4 14:54:29 2007 @@ -26,22 +26,22 @@ my $message = <<END_OF_MESSAGE; -The files in this directory test the publicly callable methods of -Parrot::Ops2pm::Utils. By doing so, they test the functionality -of the ops2pm.pl utility. +The files in this directory test the publicly callable methods and +subroutines of Parrot::Ops2pm::Utils and Parrot::Ops2pm::Auxiliary. +By doing so, they test the functionality of the ops2pm.pl utility. Since ops2pm.pl is invoked only once during 'make' -- very near the beginning of the build process -- and since its purpose is to create files used later in that process, tests of its functionality can give meaningful results only if you run them when your file system under the top-level -Parrot directory is in a 'pre-make' state, i.e., you have run 'perl -Configure.pl' but have *not* yet run 'make'. These tests should pass -if run at that point in the build process, but some will necessarily fail -if 'make' has already been executed. Hence, they should not be -included in the set of tests run by 'make test'. +Parrot directory is in a 'pre-make' state, i.e., *before* you have run 'perl +Configure.pl' but *after* you have run 'make'. These tests should pass +if run at that point in the build process, but if you have already +executed 'make', some of these tests will necessarily fail. Hence, they +should *not* be included in the set of tests run by 'make test'. -In short, these are tests of Parrot::Ops2pm::Utils but are *not* -tests of Parrot itself. +In short, these are tests of Parrot::Ops2pm::Utils and +Parrot::Ops2pm::Auxiliary but are *not* tests of Parrot itself. END_OF_MESSAGE pass($message); @@ -60,38 +60,21 @@ =head1 DESCRIPTION The files in this directory test the publicly callable subroutines of -F<lib/Parrot/Ops2pm/Utils.pm>. By doing so, they test the functionality -of the F<ops2pm.pl> utility. That functionality has largely been extracted +F<lib/Parrot/Ops2pm/Utils.pm>and F<lib/Parrot/Ops2pm/Auxiliary.pm>. +By doing so, they test the functionality of the F<ops2pm.pl> utility. +That functionality has largely been extracted into the methods of F<Utils.pm>. Since F<ops2pm.pl> is invoked near the beginning of the build process, tests of its functionality can give meaningful results only if they -take into consideration the status of the -file structure at particular points in the build process: - -=over 4 - -=item * - -after F<Configure.pl> has run but before F<make> has run; - -=item * - -at various points while F<make> is running; or - -=item * - -once F<make> has completed. - -=back - -The tests in F<00-qualify.t> attempt to confirm that you are at the first of -these three stages. It tests for the presence or absence of certain files to -form a judgment as to whether F<Configure.pl> has been run (it should have -been) and whether F<make> has been run (it should I<not> have been). The -tests make certain assumptions about what files should be present or not -- -assumptions which may be invalid if the Parrot build process changes in the -future. +are run in a way that simulates the status of the file system at the point +at which F<make> invokes F<ops2pm.pl>. The tests in F<00-qualify.t> attempt +to confirm that you are at that point. They test for the presence or +absence of certain files to form a judgment as to whether F<Configure.pl> +has been run (it should have been) and whether F<make> has been run +(it should I<not> have been). The tests make certain assumptions +about what files should be present or not -- assumptions which may be +invalid if the Parrot build process changes in the future. =head1 AUTHOR Modified: branches/buildtools/t/tools/ops2pmutils/01-ops2pmutils.t ============================================================================== --- branches/buildtools/t/tools/ops2pmutils/01-ops2pmutils.t (original) +++ branches/buildtools/t/tools/ops2pmutils/01-ops2pmutils.t Sun Feb 4 14:54:29 2007 @@ -37,8 +37,9 @@ =head1 DESCRIPTION The files in this directory test the publicly callable subroutines of -F<lib/Parrot/Ops2pm/Utils.pm>. By doing so, they test the functionality -of the F<ops2pm.pl> utility. That functionality has largely been extracted +F<lib/Parrot/Ops2pm/Utils.pm> and F<lib/Parrot/Ops2pm/Auxiliary.pm>. +By doing so, they test the functionality of the F<ops2pm.pl> utility. +That functionality has largely been extracted into the methods of F<Utils.pm>. F<01-ops2pmutils.t> tests whether Parrot::Ops2pm::Utils is exporting the Modified: branches/buildtools/t/tools/ops2pmutils/02-usage.t ============================================================================== --- branches/buildtools/t/tools/ops2pmutils/02-usage.t (original) +++ branches/buildtools/t/tools/ops2pmutils/02-usage.t Sun Feb 4 14:54:29 2007 @@ -77,11 +77,13 @@ =head1 DESCRIPTION The files in this directory test the publicly callable subroutines of -F<lib/Parrot/Ops2pm/Utils.pm>. By doing so, they test the functionality -of the F<ops2pm.pl> utility. That functionality has largely been extracted +F<lib/Parrot/Ops2pm/Utils.pm> and F<lib/Parrot/Ops2pm/Auxiliary.pm>. +By doing so, they test the functionality of the F<ops2pm.pl> utility. +That functionality has largely been extracted into the methods of F<Utils.pm>. -F<02-usage.t> tests whether C<Parrot::Ops2pm::Utils::Usage()> works properly. +F<02-usage.t> tests whether C<Parrot::Ops2pm::Auxiliary::Usage()> +works properly. =head1 AUTHOR @@ -89,6 +91,6 @@ =head1 SEE ALSO -Parrot::Ops2pm::Utils, F<ops2pm.pl>. +Parrot::Ops2pm::Auxiliary, F<ops2pm.pl>. =cut Modified: branches/buildtools/t/tools/ops2pmutils/03-new.t ============================================================================== --- branches/buildtools/t/tools/ops2pmutils/03-new.t (original) +++ branches/buildtools/t/tools/ops2pmutils/03-new.t Sun Feb 4 14:54:29 2007 @@ -64,8 +64,9 @@ =head1 DESCRIPTION The files in this directory test the publicly callable subroutines of -F<lib/Parrot/Ops2pm/Utils.pm>. By doing so, they test the functionality -of the F<ops2pm.pl> utility. That functionality has largely been extracted +F<lib/Parrot/Ops2pm/Utils.pm> and F<lib/Parrot/Ops2pm/Auxiliary.pm>. +By doing so, they test the functionality of the F<ops2pm.pl> utility. +That functionality has largely been extracted into the methods of F<Utils.pm>. F<03-new.t> tests whether Parrot::Ops2pm::Utils::new() Modified: branches/buildtools/t/tools/ops2pmutils/04-prepare_ops.t ============================================================================== --- branches/buildtools/t/tools/ops2pmutils/04-prepare_ops.t (original) +++ branches/buildtools/t/tools/ops2pmutils/04-prepare_ops.t Sun Feb 4 14:54:29 2007 @@ -231,11 +231,12 @@ =head1 DESCRIPTION The files in this directory test the publicly callable methods of -F<lib/Parrot/Ops2pm/Utils.pm>. By doing so, they test the functionality -of the F<ops2pm.pl> utility. That functionality has largely been extracted +F<lib/Parrot/Ops2pm/Utils.pm> and F<lib/Parrot/Ops2pm/Auxiliary.pm>. +By doing so, they test the functionality of the F<ops2pm.pl> utility. +That functionality has largely been extracted into the methods of F<Utils.pm>. -F<04-prepare_ops.t> tests whether Parrot::Ops2pm::Utils::prepare_ops() +F<04-prepare_ops.t> tests whether C<Parrot::Ops2pm::Utils::prepare_ops()> works properly. =head1 TODO Modified: branches/buildtools/t/tools/ops2pmutils/05-renum_op_map_file.t ============================================================================== --- branches/buildtools/t/tools/ops2pmutils/05-renum_op_map_file.t (original) +++ branches/buildtools/t/tools/ops2pmutils/05-renum_op_map_file.t Sun Feb 4 14:54:29 2007 @@ -118,12 +118,13 @@ =head1 DESCRIPTION The files in this directory test the publicly callable methods of -F<lib/Parrot/Ops2pm/Utils.pm>. By doing so, they test the functionality -of the F<ops2pm.pl> utility. That functionality has largely been extracted +F<lib/Parrot/Ops2pm/Utils.pm> and F<lib/Parrot/Ops2pm/Auxiliary.pm>. +By doing so, they test the functionality of the F<ops2pm.pl> utility. +That functionality has largely been extracted into the methods of F<Utils.pm>. F<05-renum_op_map_file.t> tests whether -Parrot::Ops2pm::Utils::renum_op_map_file() works properly. +C<Parrot::Ops2pm::Utils::renum_op_map_file()> works properly. =head1 TODO Modified: branches/buildtools/t/tools/ops2pmutils/06-load_op_map_files.t ============================================================================== --- branches/buildtools/t/tools/ops2pmutils/06-load_op_map_files.t (original) +++ branches/buildtools/t/tools/ops2pmutils/06-load_op_map_files.t Sun Feb 4 14:54:29 2007 @@ -318,12 +318,13 @@ =head1 DESCRIPTION The files in this directory test the publicly callable methods of -F<lib/Parrot/Ops2pm/Utils.pm>. By doing so, they test the functionality -of the F<ops2pm.pl> utility. That functionality has largely been extracted +F<lib/Parrot/Ops2pm/Utils.pm> and F<lib/Parrot/Ops2pm/Auxiliary.pm>. +By doing so, they test the functionality of the F<ops2pm.pl> utility. +That functionality has largely been extracted into the methods of F<Utils.pm>. F<06-load_op_map_files.t> tests whether -Parrot::Ops2pm::Utils::load_op_map_files() works properly. +C<Parrot::Ops2pm::Utils::load_op_map_files()> works properly. =head1 TODO @@ -368,9 +369,3 @@ Parrot::Ops2pm::Utils, F<ops2pm.pl>. =cut - -__END__ - -(defined $ParrotOps::max_op_num) - ? print STDERR "m.o.n.: $ParrotOps::max_op_num\n" - : print STDERR "m.o.n. undefined\n"; Modified: branches/buildtools/t/tools/ops2pmutils/07-no_ops_skip.t ============================================================================== --- branches/buildtools/t/tools/ops2pmutils/07-no_ops_skip.t (original) +++ branches/buildtools/t/tools/ops2pmutils/07-no_ops_skip.t Sun Feb 4 14:54:29 2007 @@ -85,8 +85,9 @@ =head1 DESCRIPTION The files in this directory test the publicly callable subroutines of -F<lib/Parrot/Ops2pm/Utils.pm>. By doing so, they test the functionality -of the F<ops2pm.pl> utility. That functionality has largely been extracted +F<lib/Parrot/Ops2pm/Utils.pm> and F<lib/Parrot/Ops2pm/Auxiliary.pm>. +By doing so, they test the functionality of the F<ops2pm.pl> utility. +That functionality has largely been extracted into the methods of F<Utils.pm>. F<07-no_ops_skip.t> tests what happens when there is no F<src/ops/ops.skip> Modified: branches/buildtools/t/tools/ops2pmutils/08-sort_ops.t ============================================================================== --- branches/buildtools/t/tools/ops2pmutils/08-sort_ops.t (original) +++ branches/buildtools/t/tools/ops2pmutils/08-sort_ops.t Sun Feb 4 14:54:29 2007 @@ -303,12 +303,13 @@ =head1 DESCRIPTION The files in this directory test the publicly callable subroutines of -F<lib/Parrot/Ops2pm/Utils.pm>. By doing so, they test the functionality -of the F<ops2pm.pl> utility. That functionality has largely been extracted +F<lib/Parrot/Ops2pm/Utils.pm> and F<lib/Parrot/Ops2pm/Auxiliary.pm>. +By doing so, they test the functionality of the F<ops2pm.pl> utility. +That functionality has largely been extracted into the methods of F<Utils.pm>. F<08-sort_ops.t> tests whether -Parrot::Ops2pm::Utils::sort_ops() works properly. +C<Parrot::Ops2pm::Utils::sort_ops()> works properly. =head1 AUTHOR Modified: branches/buildtools/t/tools/ops2pmutils/09-prepare_real_ops.t ============================================================================== --- branches/buildtools/t/tools/ops2pmutils/09-prepare_real_ops.t (original) +++ branches/buildtools/t/tools/ops2pmutils/09-prepare_real_ops.t Sun Feb 4 14:54:29 2007 @@ -165,12 +165,13 @@ =head1 DESCRIPTION The files in this directory test the publicly callable methods of -F<lib/Parrot/Ops2pm/Utils.pm>. By doing so, they test the functionality -of the F<ops2pm.pl> utility. That functionality has largely been extracted +F<lib/Parrot/Ops2pm/Utils.pm> and F<lib/Parrot/Ops2pm/Auxiliary.pm>. +By doing so, they test the functionality of the F<ops2pm.pl> utility. +That functionality has largely been extracted into the methods of F<Utils.pm>. F<09-prepare_real_ops.t> tests whether -Parrot::Ops2pm::Utils::prepare_real_ops() works properly. +C<Parrot::Ops2pm::Utils::prepare_real_ops()> works properly. =head1 TODO @@ -181,14 +182,14 @@ =item * -Can these two <die> statements be provoked? +Can these two C<die> statements be provoked? - if ( $n != $el->{CODE} ) { - die "op $opname: number mismatch: ops.num $n vs. core.ops $el->{CODE}"; - } - if ( $seq != $el->{CODE} ) { - die "op $opname: sequence mismatch: ops.num $seq vs. core.ops $el->{CODE}"; - } + if ( $n != $el->{CODE} ) { + die "op $opname: number mismatch: ops.num $n vs. core.ops $el->{CODE}"; + } + if ( $seq != $el->{CODE} ) { + die "op $opname: sequence mismatch: ops.num $seq vs. core.ops $el->{CODE}"; + } =back Modified: branches/buildtools/t/tools/ops2pmutils/10-print_module.t ============================================================================== --- branches/buildtools/t/tools/ops2pmutils/10-print_module.t (original) +++ branches/buildtools/t/tools/ops2pmutils/10-print_module.t Sun Feb 4 14:54:29 2007 @@ -168,12 +168,13 @@ =head1 DESCRIPTION The files in this directory test the publicly callable methods of -F<lib/Parrot/Ops2pm/Utils.pm>. By doing so, they test the functionality -of the F<ops2pm.pl> utility. That functionality has largely been extracted +F<lib/Parrot/Ops2pm/Utils.pm> and F<lib/Parrot/Ops2pm/Auxiliary.pm>. +By doing so, they test the functionality of the F<ops2pm.pl> utility. +That functionality has largely been extracted into the methods of F<Utils.pm>. F<10-print_module.t> tests whether -Parrot::Ops2pm::Utils::print_module() works properly. +C<Parrot::Ops2pm::Utils::print_module()> works properly. =head1 TODO @@ -186,10 +187,10 @@ Directory failure: can it be provoked? - if ( !-d $fulldir ) { - File::Path::mkpath( $fulldir, 0, 0755 ) - or die "$self->{script}: Could not mkdir $fulldir: $!!\n"; - } + if ( !-d $fulldir ) { + File::Path::mkpath( $fulldir, 0, 0755 ) + or die "$self->{script}: Could not mkdir $fulldir: $!!\n"; + } =back Modified: branches/buildtools/t/tools/ops2pmutils/11-print_h.t ============================================================================== --- branches/buildtools/t/tools/ops2pmutils/11-print_h.t (original) +++ branches/buildtools/t/tools/ops2pmutils/11-print_h.t Sun Feb 4 14:54:29 2007 @@ -101,12 +101,13 @@ =head1 DESCRIPTION The files in this directory test the publicly callable methods of -F<lib/Parrot/Ops2pm/Utils.pm>. By doing so, they test the functionality -of the F<ops2pm.pl> utility. That functionality has largely been extracted +F<lib/Parrot/Ops2pm/Utils.pm> and F<lib/Parrot/Ops2pm/Auxiliary.pm>. +By doing so, they test the functionality of the F<ops2pm.pl> utility. +That functionality has largely been extracted into the methods of F<Utils.pm>. F<11-print_h.t> tests whether -Parrot::Ops2pm::Utils::print_h() works properly. +C<Parrot::Ops2pm::Utils::print_h()> works properly. =head1 TODO @@ -119,10 +120,10 @@ Directory failure: can it be provoked? - if ( !-d $fulldir ) { - File::Path::mkpath( $fulldir, 0, 0755 ) - or die "$self->{script}: Could not mkdir $fulldir: $!!\n"; - } + if ( !-d $fulldir ) { + File::Path::mkpath( $fulldir, 0, 0755 ) + or die "$self->{script}: Could not mkdir $fulldir: $!!\n"; + } =back Modified: branches/buildtools/tools/build/ops2pm.pl ============================================================================== --- branches/buildtools/tools/build/ops2pm.pl (original) +++ branches/buildtools/tools/build/ops2pm.pl Sun Feb 4 14:54:29 2007 @@ -59,7 +59,8 @@ Also outputs F<include/parrot/oplib/ops.h>. This program is called by Parrot's F<make>. -If called with the C<--renum> flag, ... +If called with the C<--renum> flag, checks the numbering of ops against +F<src/opts/opts.num>. =head1 OPTIONS @@ -125,10 +126,37 @@ =item F<lib/Parrot/Ops2pm/Auxiliary.pm>. +=item F<tools/dev/ops_renum.mak>. + =back =head1 AUTHOR +Over the years, F<tools/build/ops2pm.pl> has been worked on by the following Parrot hackers: + + bernhard + brentdax + chip + chromatic + coke + dan + gregor + jkeenan + leo + mikescott + particle + paultcochrane + petdance + robert + simon + tewk + +Others who provided code cited in the version control logs include: + + Andy Dougherty + Jeff Gof + Steve Fink + =cut # Local Variables: