Bug 483045

Summary: Review Request: perl-Test-Unit-Lite - Unit testing without external dependencies
Product: [Fedora] Fedora Reporter: Allisson Azevedo <allisson>
Component: Package ReviewAssignee: Parag AN(पराग) <panemade>
Status: CLOSED NEXTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: fedora-package-review, notting, panemade, paul, ppisar, rc040203
Target Milestone: ---Flags: panemade: fedora-review+
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2009-02-06 10:56:52 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
Filter private requirements none

Description Allisson Azevedo 2009-01-29 14:25:19 UTC
Spec URL: http://allisson.fedorapeople.org/packages/perl-Test-Unit-Lite/perl-Test-Unit-Lite.spec

SRPM URL: http://allisson.fedorapeople.org/packages/perl-Test-Unit-Lite/perl-Test-Unit-Lite-0.1101-1.fc10.src.rpm

Description: This framework provides lighter version of Test::Unit framework. It
implements some of the Test::Unit classes and methods needed to run test
units. The Test::Unit::Lite tries to be compatible with public API of
Test::Unit. It doesn't implement all classes and methods at 100% and only
those necessary to run tests are available.

Comment 1 Parag AN(पराग) 2009-01-29 16:03:21 UTC
Not needed BuildRequires:  perl >= 0:5.006

Comment 2 Parag AN(पराग) 2009-02-04 08:55:32 UTC
Review:
+ package builds in mock (rawhide i386).
koji Build => http://koji.fedoraproject.org/koji/taskinfo?taskID=1103094
+ rpmlint is silent for SRPM and for RPM.
+ source files match upstream url
bad27502bda4377fa6e7e39602b82aab  Test-Unit-Lite-0.1101.tar.gz
+ package meets naming and packaging guidelines.
+ specfile is properly named, is cleanly written
+ Spec file is written in American English.
+ Spec file is legible.
+ dist tag is present.
+ build root is correct.
+ license is open source-compatible.
+ License text is included in package.
+ %doc is present.
+ BuildRequires are proper.
+ %clean is present.
+ package installed properly.
+ Macro use appears rather consistent.
+ Package contains code, not content.
+ no headers or static libraries.
+ no .pc file present.
+ no -devel subpackage
+ no .la files.
+ no translations are available
+ Does owns the directories it creates.
+ no scriptlets present.
+ no duplicates in %files.
+ file permissions are appropriate.
+ make test gave
All tests successful.
Files=2, Tests=54,  1 wallclock secs ( 0.03 usr  0.00 sys +  0.66 cusr  0.02 csys =  0.71 CPU)

+ Package perl-Test-Unit-Lite-0.1101-1.fc11 =>
Provides: perl(Test::Unit::Debug) perl(Test::Unit::HarnessUnit) perl(Test::Unit::Lite) = 0.11 perl(Test::Unit::Lite::AllTests) perl(Test::Unit::Result) perl(Test::Unit::TestCase)
 perl(Test::Unit::TestRunner) perl(Test::Unit::TestSuite)

Requires: perl >= 0:5.006 perl(Carp) perl(Cwd) perl(Exporter) perl(File::Basename) perl(File::Copy) perl(File::Find) perl(File::Path) perl(File::Spec) perl(Symbol) perl(base) perl(strict) perl(warnings)

Suggestions:
1) Take care to remove BR:perl before committing to cvs

Another thing, I see META.yml specifies which provides: this package should provide which this package already providing so I see no filter required here.

APPROVED.

Comment 3 Allisson Azevedo 2009-02-04 10:27:14 UTC
New Package CVS Request
=======================
Package Name: perl-Test-Unit-Lite
Short Description: Unit testing without external dependencies
Owners: allisson
Branches: F-10 F-9

Comment 4 Kevin Fenzi 2009-02-06 02:47:10 UTC
cvs done.

Comment 5 Allisson Azevedo 2009-02-06 10:56:52 UTC
Builds fine: http://koji.fedoraproject.org/koji/packageinfo?packageID=7656

Closing now.

Comment 6 Ralf Corsepius 2009-02-12 13:13:59 UTC
This package suffers from a larger number of clashes with perl-Test-Unit:

(In reply to comment #2)
>
> + Package perl-Test-Unit-Lite-0.1101-1.fc11 =>
> Provides: perl(Test::Unit::Debug) perl(Test::Unit::HarnessUnit)
> perl(Test::Unit::Lite) = 0.11 perl(Test::Unit::Lite::AllTests)
> perl(Test::Unit::Result) perl(Test::Unit::TestCase)
>  perl(Test::Unit::TestRunner) perl(Test::Unit::TestSuite)


# rpm -ql --provides perl-Test-Unit
..
perl(Test::Unit::Result) 
.. 
perl(Test::Unit::Runner)  
perl(Test::Unit::TestCase)  
..
perl(Test::Unit::TestRunner)  
perl(Test::Unit::TestSuite)  


I'd suggest to filter these out of perl-Test-Unit-Lite

Comment 7 Parag AN(पराग) 2009-02-12 15:32:55 UTC
Ralf,
     Please help me to understand how to avoid such clashes in future perl package reviews? I think I just looked into code and see what META.yml said as provides. Also, I successfully installed this package using rpm command where I have already installed perl-Test-Unit. Did I miss anything in this review for such clash?

Comment 8 Ralf Corsepius 2009-02-12 16:33:04 UTC
(In reply to comment #7)
>      Please help me to understand how to avoid such clashes in future perl
> package reviews?
These are hard to catch.

The only semi-systematic approach I am aware about is to iterate through repoquery --whatprovides 'perl(..)' on all provides a perl package provides.

I only caught these in this particular case, because another package
BR'ed: perl(Test::Unit::TestCase),
which resulted into this:

# repoquery --whatprovides 'perl(Test::Unit::TestCase)'
perl-Test-Unit-0:0.25-4.fc9.noarch
perl-Test-Unit-0:0.25-4.fc9.noarch
perl-Test-Unit-Lite-0:0.1101-1.fc10.noarch

> I think I just looked into code and see what META.yml said as
> provides. Also, I successfully installed this package using rpm command where I
> have already installed perl-Test-Unit.
Right, I am also observing this, but ... 

what is 
BR: perl(Test::Unit::TestCase)
supposed to do?

IMO, to pull-in the actual perl(Test::Unit::TestCase) module, i.e. the version from perl-Test-Unit, not the "lite" version from perl-Test-Unit-Lite.

I fear, we are facing the tip of an iceberg of hidden issues.

> Did I miss anything in this review for
> such clash?
Strictly speaking, yes - but we all are humans :-)

I likely also would not have caught this.

Comment 9 Allisson Azevedo 2009-02-12 16:59:48 UTC
Hi,

Please take a look in this scratch build: http://koji.fedoraproject.org/koji/taskinfo?taskID=1122217

Comment 10 Parag AN(पराग) 2009-02-13 08:20:15 UTC
looks ok now.

Comment 11 Petr Pisar 2011-06-22 08:42:07 UTC
perl-Test-Unit-Lite does not Provide the private modules now, but it still Requires them (because dependency generator see they are used in the code).

I think perl-Test-Unit-Lite should filter the same requires too, because intentional use, according to documentation, is:

use Test::Unit::Lite;
use base 'Test::Unit::TestCase';

Also documentation qualifies this package as Unit testing _without external dependencies_.

On the other hand, I do not understand synopsis:

 Using as a replacement for Test::Unit:

         package FooBarTest;
         use Test::Unit::Lite;   # unnecessary if module isn't directly used
         use base 'Test::Unit::TestCase';

How application could do "use base 'Test::Unit::TestCase';", if there were no "use Test::Unit::Lite;". In my opinion application must "use Test::Unit::Lite;" to get Test::Unit::TestCase accessible (as Test::Unit::TestCase is not loadable by path from @INC).

Comment 12 Petr Pisar 2011-06-22 12:10:04 UTC
Created attachment 505986 [details]
Filter private requirements

Comment 13 Paul Howarth 2011-09-20 14:41:06 UTC
I'd like to request EPEL 5 and 6 branches for this module. I'm happy to maintain them myself if the Fedora maintainer doesn't want to do so.

Comment 14 Paul Howarth 2011-09-21 13:55:04 UTC
Package Change Request
======================
Package Name: perl-Test-Unit-Lite
New Branches: EL-5 EL-6
Owners: pghmcfc
InitialCC: perl-sig

Chris Weyl is the owner of this in Fedora and he's not interested in EPEL and isn't around to express his preference these days anyway.

Comment 15 Gwyn Ciesla 2011-09-24 15:19:42 UTC
Git done (by process-git-requests).

Comment 16 Fedora Update System 2011-09-24 18:48:01 UTC
perl-Test-Unit-Lite-0.12-10.el5 has been submitted as an update for Fedora EPEL 5.
https://admin.fedoraproject.org/updates/perl-Test-Unit-Lite-0.12-10.el5

Comment 17 Fedora Update System 2011-09-24 18:48:10 UTC
perl-Test-Unit-Lite-0.12-10.el6 has been submitted as an update for Fedora EPEL 6.
https://admin.fedoraproject.org/updates/perl-Test-Unit-Lite-0.12-10.el6

Comment 18 Fedora Update System 2011-10-09 21:02:58 UTC
perl-Test-Unit-Lite-0.12-10.el5 has been pushed to the Fedora EPEL 5 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 19 Fedora Update System 2011-10-09 21:03:15 UTC
perl-Test-Unit-Lite-0.12-10.el6 has been pushed to the Fedora EPEL 6 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 20 Petr Pisar 2012-03-26 09:20:31 UTC
Package Change Request
======================
Package Name: perl-Test-Unit-Lite
Branches: f15 f16 f17
Owners: 
InitialCC: perl-sig

Please add perl-sig user with watch* permissions only to all Fedora branches.

Comment 21 Gwyn Ciesla 2012-03-26 12:18:50 UTC
Done.