Red Hat Bugzilla – Bug 190705
Review Request: perl-Test-Base
Last modified: 2011-01-19 04:22:39 EST
Spec URL: http://ftp.kspei.com/pub/steve/rpms/perl-Test-Base/perl-Test-Base.spec
SRPM URL: http://ftp.kspei.com/pub/steve/rpms/perl-Test-Base-0.50-1.src.rpm
Testing is usually the ugly part of Perl module authoring. Perl gives you a
standard way to run tests with Test::Harness, and basic testing primitives
with Test::More. After that you are pretty much on your own to develop a
testing framework and philosophy. Test::More encourages you to make your
own framework by subclassing Test::Builder, but that is not trivial.
(This is a build requirement for the new version of perl-YAML currently in devel CVS.)
Hold off reviewing this one for a bit... It requires Module::Install, which in
turn requires a whole stack of modules. I'll be submitting that stack ASAP.
OK, the stack was smaller than I thought (one module). Review away. :-)
You might consider adding
BuildRequires: perl(Algorithm::Diff), perl(Text::Diff), perl(YAML)
for slightly better test coverage.
* package meets naming and packaging guidelines.
* specfile is properly named, is cleanly written, uses macros consistently and
follows the Perl specfile template.
* license field matches the actual license.
* license is open source-compatible. It's not included separately in the
package, but this is not necessary as the upstream tarball does not include it.
* source files match upstream:
* latest version is being packaged.
* BuildRequires are proper.
* package builds in mock (development, x86_64).
* rpmlint is silent.
* final provides and requires are sane.
* no shared libraries are present.
* package is not relocatable.
* owns the directories it creates.
* doesn't own any directories it shouldn't.
* no duplicates in %files.
* file permissions are appropriate.
* %clean is present.
* %check is present and all tests pass:
All tests successful, 3 tests and 4 subtests skipped.
Files=98, Tests=418, 6 wallclock secs ( 4.71 cusr + 1.49 csys = 6.20 CPU)
* no scriptlets present.
* code, not content.
* documentation is small, so no -docs subpackage is necessary.
* %docs are not necessary for the proper functioning of the package.
* no headers.
* no pkgconfig files.
* no libtool .la droppings.
* not a GUI app.
I've some reservations about the approval of this module. It appears to have
several optional/missing Requirements and BR.
BR: Text::Diff, YAML
Req: Text::Diff, LWP::Simple, YAML
I think we should at least
Requires: perl(Text::Diff), perl(LWP::Simple)
Note: IIRC the new version of YAML requires Test::Base => may cause circular
Note2: It's 4:00am. I will give another look at this module in a few hours.
You'll note I suggested the addition of those BR:s, but all they add is
additional test coverage.
As far as I know, we have no policy on optional requirements. I suppose there's
no harm in adding them as long as they're small and we have repoclosure, but I
would argue that it would be a terrible idea to dictate that all optional
requirements be made mandatory. So I would leave it up to the maintainer.
I'm importing -2 with explicit dependencies on Text::Diff and Algorithm::Diff.
That makes all the tests pass.
Let me know if I need to make any further changes.
The Algorithm::Diff requirement and build requirement can be dropped
as Text::Diff requires it.
The Test::Base::Filter may use the LWP::Simple module to download files. Being
this a test module I think it should be nice to require it (not BR).
(In reply to comment #7)
> The Algorithm::Diff requirement and build requirement can be dropped
> as Text::Diff requires it.
> The Test::Base::Filter may use the LWP::Simple module to download files. Being
> this a test module I think it should be nice to require it (not BR).
Done and done.
Imported into CVS, branches created, and builds pending.
This package is in EPEL5 but not EPEL6. Is there any reason for that?
I would like to see this package in EPEL6, and I am willing to help co-maintain it.