Bug 803057 - Review Request: perl-Test-Valgrind - Generate suppressions, analyze and test any command with valgrind
Summary: Review Request: perl-Test-Valgrind - Generate suppressions, analyze and test ...
Keywords:
Status: CLOSED NEXTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Petr Pisar
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On: 802377 802865
Blocks:
TreeView+ depends on / blocked
 
Reported: 2012-03-13 21:16 UTC by Paul Howarth
Modified: 2012-05-26 09:22 UTC (History)
3 users (show)

Fixed In Version: perl-Test-Valgrind-1.13-3.fc18
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2012-05-26 09:22:15 UTC
Type: ---
ppisar: fedora-review+
gwync: fedora-cvs+


Attachments (Terms of Use)

Description Paul Howarth 2012-03-13 21:16:54 UTC
Spec URL:
http://subversion.city-fan.org/repos/cfo-repo/perl-Test-Valgrind/branches/fedora/perl-Test-Valgrind.spec

SRPM URL:
http://www.city-fan.org/~paul/extras/perl-Test-Valgrind/perl-Test-Valgrind-1.13-2.fc18.src.rpm

Description:

The Test::Valgrind::* API lets you run Perl code through the memcheck tool of
the valgrind memory debugger, to test for memory errors and leaks. The
Test::Valgrind module itself is a front-end to this API. If they aren't
available yet, it will first generate suppressions for the current perl
interpreter and store them in the portable flavor of
~/.perl/Test-Valgrind/suppressions/$VERSION. The actual run will then take
place, and tests will be passed or failed according to the result of the
analysis.

The complete API is much more versatile than this. By declaring an appropriate
Test::Valgrind::Command class, you can run any executable (that is, not only
Perl scripts) under valgrind, generate the corresponding suppressions
on-the-fly and convert the analysis result to TAP output so that it can be
incorporated into your project's test suite. If you're not interested in
producing TAP, you can output the results in whatever format you like (for
example HTML pages) by defining your own Test::Valgrind::Action class.

Dependencies not yet in Fedora:

perl-Env-Sanctify (Bug #802377)
perl-Perl-Destruct-Level (Bug #802865)

For the EPEL-5 build, I need perl-File-HomeDir updating to at least 0.86 (Bug #803044), plus perl-Test-Kwalitee, which I can't build until perl-Sub-Exporter has been updated to at least version 0.979 (Bug #799993).

Comment 1 Petr Pisar 2012-05-03 13:17:32 UTC
Source file is original. Ok.
URL and Source0 are usable. Ok.
Summary verified from lib/Test/Valgrind.pm. Ok.
License verified from lib/Test/Valgrind.pm. Ok.
Description verified from lib/Test/Valgrind.pm. Ok.

BuildRoot tag is needed for EPEL5. Ok.
%clean section is needed for EPEL5. Ok.

Resulting package does not contain binary dependent code. noarch BuildArch is Ok.

I'm not sure removing the XS code is wise. I think it's used by Test::Valgrind::Command::Perl to gather suppression data. Also then XSLoader should be needed at run-time. 

BuildRequire perl(Test::Pod::Coverage) is not qualified because 1.08 version is provided by all releases. Ok.

TODO: Build-require `perl(Test::Pod) >= 0.18' as you requires optional Test::Pod::Coverage.
TODO: Build-require `perl(XSLoader)' because of optional test (t/20-bad.t:16).

BuildRequire perl(Test::Pod) is not qualified because 1.22 version is provided by all releases. Ok.

All tests pass. Ok.

$ rpmlint perl-Test-Valgrind.spec ../SRPMS/perl-Test-Valgrind-1.13-2.fc18.src.rpm ../RPMS/noarch/perl-Test-Valgrind-1.13-2.fc18.noarch.rpm 
perl-Test-Valgrind.src: W: spelling-error Summary(en_US) suppressions -> suppression, suppression's, suppress ions
perl-Test-Valgrind.src: W: spelling-error %description -l en_US memcheck -> checkmate
perl-Test-Valgrind.src: W: spelling-error %description -l en_US suppressions -> suppression, suppression's, suppress ions
perl-Test-Valgrind.noarch: W: spelling-error Summary(en_US) suppressions -> suppression, suppression's, suppress ions
perl-Test-Valgrind.noarch: W: spelling-error %description -l en_US memcheck -> checkmate
perl-Test-Valgrind.noarch: W: spelling-error %description -l en_US suppressions -> suppression, suppression's, suppress ions
2 packages and 1 specfiles checked; 0 errors, 6 warnings.
rpmlint is Ok.

$ rpm -q -lv -p ../RPMS/noarch/perl-Test-Valgrind-1.13-2.fc18.noarch.rpm
drwxr-xr-x    2 root    root                        0 May  3 14:53 /usr/share/doc/perl-Test-Valgrind-1.13
-rw-r--r--    1 root    root                     5040 Aug 25  2011 /usr/share/doc/perl-Test-Valgrind-1.13/Changes
-rw-r--r--    1 root    root                     6648 Aug 25  2011 /usr/share/doc/perl-Test-Valgrind-1.13/README
drwxr-xr-x    2 root    root                        0 Aug 25  2011 /usr/share/doc/perl-Test-Valgrind-1.13/samples
-rwxr-xr-x    1 root    root                      172 Nov 29  2009 /usr/share/doc/perl-Test-Valgrind-1.13/samples/map.pl
-rw-r--r--    1 root    root                    22202 Nov 29  2009 /usr/share/doc/perl-Test-Valgrind-1.13/samples/xml-output-protocol4.txt
-rw-r--r--    1 root    root                    12146 Nov 29  2009 /usr/share/doc/perl-Test-Valgrind-1.13/samples/xml-output.txt
-rw-r--r--    1 root    root                     4716 May  3 14:53 /usr/share/man/man3/Test::Valgrind.3pm.gz
-rw-r--r--    1 root    root                     2846 May  3 14:53 /usr/share/man/man3/Test::Valgrind::Action.3pm.gz
-rw-r--r--    1 root    root                     2590 May  3 14:53 /usr/share/man/man3/Test::Valgrind::Action::Captor.3pm.gz
-rw-r--r--    1 root    root                     2517 May  3 14:53 /usr/share/man/man3/Test::Valgrind::Action::Suppressions.3pm.gz
-rw-r--r--    1 root    root                     2630 May  3 14:53 /usr/share/man/man3/Test::Valgrind::Action::Test.3pm.gz
-rw-r--r--    1 root    root                     2352 May  3 14:53 /usr/share/man/man3/Test::Valgrind::Carp.3pm.gz
-rw-r--r--    1 root    root                     3103 May  3 14:53 /usr/share/man/man3/Test::Valgrind::Command.3pm.gz
-rw-r--r--    1 root    root                     2401 May  3 14:53 /usr/share/man/man3/Test::Valgrind::Command::Aggregate.3pm.gz
-rw-r--r--    1 root    root                     2837 May  3 14:53 /usr/share/man/man3/Test::Valgrind::Command::Perl.3pm.gz
-rw-r--r--    1 root    root                     2648 May  3 14:53 /usr/share/man/man3/Test::Valgrind::Command::PerlScript.3pm.gz
-rw-r--r--    1 root    root                     2495 May  3 14:53 /usr/share/man/man3/Test::Valgrind::Component.3pm.gz
-rw-r--r--    1 root    root                     2607 May  3 14:53 /usr/share/man/man3/Test::Valgrind::Parser.3pm.gz
-rw-r--r--    1 root    root                     2404 May  3 14:53 /usr/share/man/man3/Test::Valgrind::Parser::Suppressions::Text.3pm.gz
-rw-r--r--    1 root    root                     2390 May  3 14:53 /usr/share/man/man3/Test::Valgrind::Parser::Text.3pm.gz
-rw-r--r--    1 root    root                     2393 May  3 14:53 /usr/share/man/man3/Test::Valgrind::Parser::XML.3pm.gz
-rw-r--r--    1 root    root                     2509 May  3 14:53 /usr/share/man/man3/Test::Valgrind::Parser::XML::Twig.3pm.gz
-rw-r--r--    1 root    root                     2819 May  3 14:53 /usr/share/man/man3/Test::Valgrind::Report.3pm.gz
-rw-r--r--    1 root    root                     3772 May  3 14:53 /usr/share/man/man3/Test::Valgrind::Session.3pm.gz
-rw-r--r--    1 root    root                     2734 May  3 14:53 /usr/share/man/man3/Test::Valgrind::Suppressions.3pm.gz
-rw-r--r--    1 root    root                     3195 May  3 14:53 /usr/share/man/man3/Test::Valgrind::Tool.3pm.gz
-rw-r--r--    1 root    root                     2692 May  3 14:53 /usr/share/man/man3/Test::Valgrind::Tool::memcheck.3pm.gz
drwxr-xr-x    2 root    root                        0 May  3 14:53 /usr/share/perl5/vendor_perl/Test
drwxr-xr-x    2 root    root                        0 May  3 14:53 /usr/share/perl5/vendor_perl/Test/Valgrind
-rw-r--r--    1 root    root                     9939 Aug 25  2011 /usr/share/perl5/vendor_perl/Test/Valgrind.pm
drwxr-xr-x    2 root    root                        0 May  3 14:53 /usr/share/perl5/vendor_perl/Test/Valgrind/Action
-rw-r--r--    1 root    root                     3366 Aug 25  2011 /usr/share/perl5/vendor_perl/Test/Valgrind/Action.pm
-rw-r--r--    1 root    root                     3029 Aug 25  2011 /usr/share/perl5/vendor_perl/Test/Valgrind/Action/Captor.pm
-rw-r--r--    1 root    root                     3933 Aug 25  2011 /usr/share/perl5/vendor_perl/Test/Valgrind/Action/Suppressions.pm
-rw-r--r--    1 root    root                     4432 Aug 25  2011 /usr/share/perl5/vendor_perl/Test/Valgrind/Action/Test.pm
-rw-r--r--    1 root    root                     1404 Aug 25  2011 /usr/share/perl5/vendor_perl/Test/Valgrind/Carp.pm
drwxr-xr-x    2 root    root                        0 May  3 14:53 /usr/share/perl5/vendor_perl/Test/Valgrind/Command
-rw-r--r--    1 root    root                     3568 Aug 25  2011 /usr/share/perl5/vendor_perl/Test/Valgrind/Command.pm
-rw-r--r--    1 root    root                     2107 Aug 25  2011 /usr/share/perl5/vendor_perl/Test/Valgrind/Command/Aggregate.pm
-rw-r--r--    1 root    root                     5537 Aug 25  2011 /usr/share/perl5/vendor_perl/Test/Valgrind/Command/Perl.pm
-rw-r--r--    1 root    root                     2869 Aug 25  2011 /usr/share/perl5/vendor_perl/Test/Valgrind/Command/PerlScript.pm
-rw-r--r--    1 root    root                     2289 Aug 25  2011 /usr/share/perl5/vendor_perl/Test/Valgrind/Component.pm
drwxr-xr-x    2 root    root                        0 May  3 14:53 /usr/share/perl5/vendor_perl/Test/Valgrind/Parser
-rw-r--r--    1 root    root                     2108 Aug 25  2011 /usr/share/perl5/vendor_perl/Test/Valgrind/Parser.pm
drwxr-xr-x    2 root    root                        0 May  3 14:53 /usr/share/perl5/vendor_perl/Test/Valgrind/Parser/Suppressions
-rw-r--r--    1 root    root                     3828 Aug 25  2011 /usr/share/perl5/vendor_perl/Test/Valgrind/Parser/Suppressions/Text.pm
-rw-r--r--    1 root    root                     1542 Aug 25  2011 /usr/share/perl5/vendor_perl/Test/Valgrind/Parser/Text.pm
drwxr-xr-x    2 root    root                        0 May  3 14:53 /usr/share/perl5/vendor_perl/Test/Valgrind/Parser/XML
-rw-r--r--    1 root    root                     1616 Aug 25  2011 /usr/share/perl5/vendor_perl/Test/Valgrind/Parser/XML.pm
-rw-r--r--    1 root    root                     4958 Aug 25  2011 /usr/share/perl5/vendor_perl/Test/Valgrind/Parser/XML/Twig.pm
-rw-r--r--    1 root    root                     3118 Aug 25  2011 /usr/share/perl5/vendor_perl/Test/Valgrind/Report.pm
-rw-r--r--    1 root    root                    11692 Aug 25  2011 /usr/share/perl5/vendor_perl/Test/Valgrind/Session.pm
-rw-r--r--    1 root    root                     4246 Aug 25  2011 /usr/share/perl5/vendor_perl/Test/Valgrind/Suppressions.pm
drwxr-xr-x    2 root    root                        0 May  3 14:53 /usr/share/perl5/vendor_perl/Test/Valgrind/Tool
-rw-r--r--    1 root    root                     3959 Aug 25  2011 /usr/share/perl5/vendor_perl/Test/Valgrind/Tool.pm
-rw-r--r--    1 root    root                     4905 Aug 25  2011 /usr/share/perl5/vendor_perl/Test/Valgrind/Tool/memcheck.pm
File permissions and layout are Ok.

$ rpm -q --requires -p ../RPMS/noarch/perl-Test-Valgrind-1.13-2.fc18.noarch.rpm |sort |uniq -c
      1 perl(base)
      1 perl(Carp)
      1 perl(Digest::MD5)
      1 perl(Env::Sanctify)
      1 perl(Fcntl)
      1 perl(File::HomeDir) >= 0.86
      1 perl(File::Path)
      1 perl(File::Spec)
      1 perl(File::Temp) >= 0.14
      1 perl(Filter::Util::Call)
      1 perl(List::Util)
      1 perl(:MODULE_COMPAT_5.14.2)
      1 perl(Perl::Destruct::Level)
      1 perl(POSIX)
      1 perl(Scalar::Util)
      1 perl(strict)
      1 perl(Test::Builder)
      1 perl(Test::Valgrind::Suppressions)
      1 perl(version)
      1 perl(warnings)
      1 perl(XML::Twig)
      1 rpmlib(CompressedFileNames) <= 3.0.4-1
      1 rpmlib(FileDigests) <= 4.6.0-1
      1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1
      1 rpmlib(PayloadIsXz) <= 5.2-1
      1 valgrind >= 3.1.0
Binary requires are Ok if the XS code is not distributed.

$ rpm -q --provides  -p ../RPMS/noarch/perl-Test-Valgrind-1.13-2.fc18.noarch.rpm |sort |uniq -c
      1 perl(Test::Valgrind) = 1.13
      1 perl-Test-Valgrind = 1.13-2.fc18
      1 perl(Test::Valgrind::Action) = 1.13
      1 perl(Test::Valgrind::Action::Captor) = 1.13
      1 perl(Test::Valgrind::Action::Suppressions) = 1.13
      1 perl(Test::Valgrind::Action::Test) = 1.13
      1 perl(Test::Valgrind::Carp) = 1.13
      1 perl(Test::Valgrind::Command) = 1.13
      1 perl(Test::Valgrind::Command::Aggregate) = 1.13
      1 perl(Test::Valgrind::Command::Perl) = 1.13
      1 perl(Test::Valgrind::Command::PerlScript) = 1.13
      1 perl(Test::Valgrind::Component) = 1.13
      1 perl(Test::Valgrind::Parser) = 1.13
      1 perl(Test::Valgrind::Parser::Suppressions::Text) = 1.13
      1 perl(Test::Valgrind::Parser::Text) = 1.13
      1 perl(Test::Valgrind::Parser::XML) = 1.13
      1 perl(Test::Valgrind::Parser::XML::Twig) = 1.13
      1 perl(Test::Valgrind::Parser::XML::Twig::Elt) = 1.13
      1 perl(Test::Valgrind::Report) = 1.13
      1 perl(Test::Valgrind::Report::Suppressions)
      1 perl(Test::Valgrind::Session) = 1.13
      1 perl(Test::Valgrind::Suppressions) = 1.13
      1 perl(Test::Valgrind::Tool) = 1.13
      1 perl(Test::Valgrind::Tool::memcheck) = 1.13
      1 perl(Test::Valgrind::Tool::memcheck::Report) = 1.13
Binary provides are Ok.

$ resolvedeps rawhide ../RPMS/noarch/perl-Test-Valgrind-1.13-2.fc18.noarch.rpm 
Binary dependencies resolvable. Ok.

Package builds in F18 (http://koji.fedoraproject.org/koji/taskinfo?taskID=4049263). Ok.

Package is in line with Fedora and Perl packaging guidelines.


Please consider fixing `TODO' items before building this package.

Resolution: Package APPROVED.

Comment 2 Paul Howarth 2012-05-03 15:23:26 UTC
The XS code is there to provide some sample code that leaky in parts and not leaky in other parts for testing purposes. Upstream does not install it intentionally, but on old distros like EL-5 with ExtUtils::Install < 1.3702, there's no support for INSTALL.SKIP and so the Valgrind.so test file gets installed; my removal of this file is just doing the same thing that happens normally on more up to date distributions.

Regarding BR: perl(Pod::Coverage) and perl(XSLoader), and minimum version requirements for the pod-testing modules, I'll add them in before importing into git.


New Package SCM Request
=======================
Package Name: perl-Test-Valgrind
Short Description: Generate suppressions, analyze and test any command with valgrind
Owners: pghmcfc
Branches: f15 f16 f17 el5 el6
InitialCC: perl-sig

Comment 3 Gwyn Ciesla 2012-05-03 15:29:23 UTC
Git done (by process-git-requests).

Comment 4 Fedora Update System 2012-05-03 16:48:05 UTC
perl-Test-Valgrind-1.13-3.el6 has been submitted as an update for Fedora EPEL 6.
https://admin.fedoraproject.org/updates/perl-Test-Valgrind-1.13-3.el6

Comment 5 Fedora Update System 2012-05-03 16:48:15 UTC
perl-Test-Valgrind-1.13-3.fc16 has been submitted as an update for Fedora 16.
https://admin.fedoraproject.org/updates/perl-Test-Valgrind-1.13-3.fc16

Comment 6 Fedora Update System 2012-05-03 16:48:24 UTC
perl-Test-Valgrind-1.13-3.el5 has been submitted as an update for Fedora EPEL 5.
https://admin.fedoraproject.org/updates/perl-Test-Valgrind-1.13-3.el5

Comment 7 Fedora Update System 2012-05-03 16:48:55 UTC
perl-Test-Valgrind-1.13-3.fc15 has been submitted as an update for Fedora 15.
https://admin.fedoraproject.org/updates/perl-Test-Valgrind-1.13-3.fc15

Comment 8 Fedora Update System 2012-05-03 16:49:09 UTC
perl-Test-Valgrind-1.13-3.fc17 has been submitted as an update for Fedora 17.
https://admin.fedoraproject.org/updates/perl-Test-Valgrind-1.13-3.fc17

Comment 9 Fedora Update System 2012-05-13 01:54:49 UTC
perl-Test-Valgrind-1.13-3.fc16 has been pushed to the Fedora 16 stable repository.

Comment 10 Fedora Update System 2012-05-13 01:55:28 UTC
perl-Test-Valgrind-1.13-3.fc15 has been pushed to the Fedora 15 stable repository.

Comment 11 Fedora Update System 2012-05-18 21:37:38 UTC
perl-Test-Valgrind-1.13-3.el6 has been pushed to the Fedora EPEL 6 stable repository.

Comment 12 Fedora Update System 2012-05-18 21:38:05 UTC
perl-Test-Valgrind-1.13-3.el5 has been pushed to the Fedora EPEL 5 stable repository.

Comment 13 Fedora Update System 2012-05-26 07:17:04 UTC
perl-Test-Valgrind-1.13-3.fc17 has been pushed to the Fedora 17 stable repository.


Note You need to log in before you can comment on or make changes to this bug.