X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=pod%2Fperltodo.pod;h=a16cf0d604adff14905f09dfc0f43ed39d2aacd2;hb=c1c4ae3a961df5aa9544fb76ce5c1d031b6f0dd5;hp=016fb79053cb1318d0913dec68196b928698f529;hpb=3d14fd97378b818db1bcd8a383d9af3676ba3c1f;p=p5sagit%2Fp5-mst-13.2.git diff --git a/pod/perltodo.pod b/pod/perltodo.pod index 016fb79..a16cf0d 100644 --- a/pod/perltodo.pod +++ b/pod/perltodo.pod @@ -4,10 +4,14 @@ perltodo - Perl TO-DO List =head1 DESCRIPTION -This is a list of wishes for Perl. The tasks we think are smaller or easier -are listed first. Anyone is welcome to work on any of these, but it's a good -idea to first contact I to avoid duplication of -effort. By all means contact a pumpking privately first if you prefer. +This is a list of wishes for Perl. The most up to date version of this file +is at http://perl5.git.perl.org/perl.git/blob_plain/HEAD:/pod/perltodo.pod + +The tasks we think are smaller or easier are listed first. Anyone is welcome +to work on any of these, but it's a good idea to first contact +I to avoid duplication of effort, and to learn from +any previous attempts. By all means contact a pumpking privately first if you +prefer. Whilst patches to make the list shorter are most welcome, ideas to add to the list are also encouraged. Check the perl5-porters archives for past @@ -22,11 +26,65 @@ programming languages offer you 1 line of immortality? =head1 Tasks that only need Perl knowledge -=head2 common test code for timed bail out +=head2 Improve Porting/cmpVERSION.pl to work from git tags + +See F for a bit more detail. + +=head2 Migrate t/ from custom TAP generation + +Many tests below F still generate TAP by "hand", rather than using library +functions. As explained in L, tests in F are +written in a particular way to test that more complex constructions actually +work before using them routinely. Hence they don't use C, but +instead there is an intentionally simpler library, F. However, +quite a few tests in F have not been refactored to use it. Refactoring +any of these tests, one at a time, is a useful thing TODO. + +The subdirectories F, F and F, that contain the most +basic tests, should be excluded from this task. + +=head2 Test that regen.pl was run + +There are various generated files shipped with the perl distribution, for +things like header files generate from data. The generation scripts are +written in perl, and all can be run by F. However, because they're +written in perl, we can't run them before we've built perl. We can't run them +as part of the F, because changing files underneath F confuses +it completely, and we don't want to run them automatically anyway, as they +change files shipped by the distribution, something we seek not do to. + +If someone changes the data, but forgets to re-run F then the +generated files are out of sync. It would be good to have a test in +F that checks that the generated files are in sync, and fails +otherwise, to alert someone before they make a poor commit. I suspect that this +would require adapting the scripts run from F to have dry-run +options, and invoking them with these, or by refactoring them into a library +that does the generation, which can be called by the scripts, and by the test. + +=head2 Automate perldelta generation + +The perldelta file accompanying each release summaries the major changes. +It's mostly manually generated currently, but some of that could be +automated with a bit of perl, specifically the generation of + +=over + +=item Modules and Pragmata + +=item New Documentation + +=item New Tests -Write portable self destruct code for tests to stop them burning CPU in -infinite loops. This needs to avoid using alarm, as some of the tests are -testing alarm/sleep or timers. +=back + +See F for details. + +=head2 Remove duplication of test setup. + +Schwern notes, that there's duplication of code - lots and lots of tests have +some variation on the big block of C<$Is_Foo> checks. We can safely put this +into a file, change it to build an C<%Is> hash and require it. Maybe just put +it into F. Throw in the handy tainting subroutines. =head2 POD -E HTML conversion in the core still sucks @@ -40,36 +98,17 @@ is needed to improve the cross-linking. The addition of C and its related modules may make this task easier to complete. -=head2 Parallel testing - -(This probably impacts much more than the core: also the Test::Harness -and TAP::* modules on CPAN.) - -The core regression test suite is getting ever more comprehensive, which has -the side effect that it takes longer to run. This isn't so good. Investigate -whether it would be feasible to give the harness script the B