In perl.git, the branch smoke-me/nicholas/regen has been created
<http://perl5.git.perl.org/perl.git/commitdiff/098af34594e1506ce380ecc4ef693816541b1f8a?hp=0000000000000000000000000000000000000000>
at 098af34594e1506ce380ecc4ef693816541b1f8a (commit)
- Log -----------------------------------------------------------------
commit 098af34594e1506ce380ecc4ef693816541b1f8a
Author: Nicholas Clark <[email protected]>
Date: Sat Jul 20 14:08:41 2013 +0200
Remove 3 redundant lines from .gitignore
These test files are no longer generated in directories beneath lib/
M .gitignore
commit 55791b4e4152d2a5a6f19ecc09941679905b4ce7
Author: Nicholas Clark <[email protected]>
Date: Sat Jul 20 12:50:21 2013 +0200
Generate lib/.gitignore from MANIFEST.
It's possible to programmatically determine almost all the files and
directories which will be created in lib/ by building the extensions.
Hence add a new script regen/lib_cleanup.pl to do this.
This saves having to manually update lib/.gitignore to reflect changes in
the build products of extensions, which has become a small but reoccurring
instance of scut-work.
M MANIFEST
M lib/.gitignore
A regen/lib_cleanup.pl
commit f30d0a1849c2ae9dfed815bcb437fd1aa0020675
Author: Nicholas Clark <[email protected]>
Date: Sat Jul 20 11:08:53 2013 +0200
Move all the "special case" build products from lib/.gitignore to .gitignore
These are all the build products that we can't programmatically infer will
be
generated from extensions in ext, dist and cpan.
M .gitignore
M lib/.gitignore
commit 9ab8003fcb5c7afc7a0bcc225f1d83f671c14bf9
Author: Nicholas Clark <[email protected]>
Date: Sat Jul 20 10:33:00 2013 +0200
Make .gitignore and lib/.gitignore more consistent.
Move the ignore of lib/App/, lib/mro.pm, lib/TAP/, lib/Test/Harness.pm,
lib/File/DosGlob.pm, lib/inc/, Win32.pm, Win32API/ and Win32Core.pm from
.gitignore to lib/.gitignore, where they more logically belong.
Consistently use trailing / for ignored directories.
Add a leading / to the ignore of unicore/TestProp.pl
(The line was added by commit 3df51b85ce4a5664 in Nov 2009, and it's not
clear why it did not have a leading / from the start.)
Re-sort lib/.gitignore lexically.
M .gitignore
M lib/.gitignore
commit f7d7df05a519bc2eff4e2c5f9bb2f1dbe641be23
Author: Nicholas Clark <[email protected]>
Date: Sat Jul 20 10:10:12 2013 +0200
Prune some .gitignore files.
Class::ISA was removed by 3df51b85ce4a5664 in April 2010.
Module::Pluggable was removed by commit 482cac4d574f8c6c in May 2013.
Module/Build/ConfigData.pm was moved from lib/ to cpan/ by commit
0b93a7997e668a67 in Nov 2009.
Pod::Plainer was removed by commit afbe215fcafe7a92 in April 2010.
Shell was removed by commit a1e75797c204ade8 in June 2011.
Switch was removed by commit 75108aefc8b50fcf in April 2010.
M .gitignore
M lib/.gitignore
commit c2e8fd8571d4751a4efd97e0a671f5d146228020
Author: Nicholas Clark <[email protected]>
Date: Thu Jul 18 16:57:00 2013 +0200
Refactor t/porting/regen.t to check everything (and the return values!).
Previously it was fire-and-forget for the 3 programs it ran (and for the
programs that regen.pl ran). Now we die if any program fails to return 0.
Also regen.t had an explicit list of programs to test. It turned out that it
was not testing regen/mk_invlists.pl. Now regen.t has a skip list of what
not to test, and everything not skipped it tested. This way any new
additions will not get missed.
This was implemented by refactoring regen.pl to read the list of programs it
runs from <DATA>, so that regen.t can open regen.pl to extract the same
list.
M regen.pl
M t/porting/regen.t
commit 3204eb1412581f79f965ad543816355f69dea334
Author: Nicholas Clark <[email protected]>
Date: Thu Jul 18 15:10:29 2013 +0200
Syntax check regen/uconfig_h.pl using t/porting/utils.t
It's the only regen script that we can't run as part of the tests (because
it
requires a Unix shell), but can syntax check (because it only uses core
modules).
In theory we could make it skip with --tap if $Config{sh} is not what we
expect, but to be robust this looks to be a problem. Firstly, $Config{sh}
can be undef, or something "non-Unix". To be useful a whitelist needs to be
(at least) (?:/usr)?/bin/sh, and potentially also ksh. But the output is not
valid TAP:
$ ./perl -Ilib regen/uconfig_h.pl --tap
Extracting uconfig.h-new (with variable substitutions)
ok - regen/uconfig_h.pl uconfig.h
and t/TEST would choke, so we'd need to capture it or otherwise comment out
that "Extracting" line which just adds both complexity and fragility.
So the right trade off appears to be just to syntax check it.
M t/porting/utils.t
-----------------------------------------------------------------------
--
Perl5 Master Repository