Bug 2000555

Summary: Review Request: perl-Mock-MonkeyPatch - Monkey patching with test mocking in mind
Product: [Fedora] Fedora Reporter: Emmanuel Seyman <emmanuel>
Component: Package ReviewAssignee: Petr Pisar <ppisar>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: package-review, ppisar
Target Milestone: ---Flags: ppisar: fedora-review+
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2021-09-17 12:51:08 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:
Bug Depends On:    
Bug Blocks: 1980931    

Description Emmanuel Seyman 2021-09-02 11:57:25 UTC
Spec URL: https://people.parinux.org/~seyman/fedora/perl-Mock-MonkeyPatch/perl-Mock-MonkeyPatch.spec
SRPM URL: https://people.parinux.org/~seyman/fedora/perl-Mock-MonkeyPatch/perl-Mock-MonkeyPatch-1.02-1.fc34.src.rpm
Description:
Mocking is a common tool, especially for testing. By strategically
replacing a subroutine, one can isolate segments (units) of code to test
individually. When this is done it is important to know that the mocked sub
was actually called and with what arguments it was called.

Fedora Account System Username: eseyman
Rpmlint Output: 1 packages and 1 specfiles checked; 0 errors, 0 warnings.

Comment 1 Petr Pisar 2021-09-02 15:48:46 UTC
Source0 and URL address are Ok.
Source0 archive (SHA-512: f6a27754a4cafb9bd99e833d8c15a203bd071ba9dafa3cedf9b952568ffa4a3b050157f402248a4fa1784c8e454035ed8fa46c722839f770d9207a4b525b2b56) is original. Ok.
Summary verified from lib/Mock/MonkeyPatch.pm. Ok
Description verified from lib/Mock/MonkeyPatch.pm. Ok.
TODO: I recommend adding (or replacing with) the second paragraph from the POD to a description. I think it characterizes the package better than a general definition of mocking.

License verified from lib/Mock/MonkeyPatch.pm, LICENSE, and README. Ok.
No XS code, noarch BuildArch is Ok.

TODO: Remove Group tag. It's not used in Fedora.
TODO: Constrain 'perl(Module::Build::Tiny)' build-dependency with '>= 0.034' (Build.PL:3).
TODO: Build-require 'perl(:VERSION) >= 5.6' (Build.PL:2).

Otherwise build-require are Ok.
All tests pass. Ok.

 rpmlint perl-Mock-MonkeyPatch.spec ../SRPMS/perl-Mock-MonkeyPatch-1.02-1.fc36.src.rpm ../RPMS/noarch/perl-Mock-MonkeyPatch-1.02-1.fc36.noarch.rpm 
(none): W: unable to init enchant, spellchecking disabled.
(none): W: unable to init enchant, spellchecking disabled.
(none): W: unable to init enchant, spellchecking disabled.
(none): W: unable to init enchant, spellchecking disabled.
========================================================== rpmlint session starts =========================================================
rpmlint: 2.1.0
configuration:
    /usr/lib/python3.10/site-packages/rpmlint/configdefaults.toml
    /etc/xdg/rpmlint/fedora.toml
    /etc/xdg/rpmlint/licenses.toml
    /etc/xdg/rpmlint/scoring.toml
    /etc/xdg/rpmlint/users-groups.toml
    /etc/xdg/rpmlint/warn-on-functions.toml
checks: 31, packages: 3

=========================== 2 packages and 1 specfiles checked; 0 errors, 0 warnings, 0 badness; has taken 0.4 s ==========================
rpmlint is Ok.

$ rpm -q -lv -p ../RPMS/noarch/perl-Mock-MonkeyPatch-1.02-1.fc36.noarch.rpm 
drwxr-xr-x    2 root     root                        0 Sep  2 17:41 /usr/share/doc/perl-Mock-MonkeyPatch
-rw-r--r--    1 root     root                      474 Aug 26  2020 /usr/share/doc/perl-Mock-MonkeyPatch/Changes
-rw-r--r--    1 root     root                     7633 Aug 26  2020 /usr/share/doc/perl-Mock-MonkeyPatch/README
drwxr-xr-x    2 root     root                        0 Sep  2 17:41 /usr/share/licenses/perl-Mock-MonkeyPatch
-rw-r--r--    1 root     root                    18427 Aug 26  2020 /usr/share/licenses/perl-Mock-MonkeyPatch/LICENSE
-rw-r--r--    1 root     root                     4692 Sep  2 17:41 /usr/share/man/man3/Mock::MonkeyPatch.3pm.gz
drwxr-xr-x    2 root     root                        0 Sep  2 17:41 /usr/share/perl5/vendor_perl/Mock
-rw-r--r--    1 root     root                     9216 Aug 26  2020 /usr/share/perl5/vendor_perl/Mock/MonkeyPatch.pm
File layout and permissions are Ok.

$ rpm -q --requires -p ../RPMS/noarch/perl-Mock-MonkeyPatch-1.02-1.fc36.noarch.rpm | sort -f | uniq -c
      1 perl(:MODULE_COMPAT_5.34.0)
      1 perl(Carp)
      1 perl(Scalar::Util)
      1 perl(strict)
      1 perl(Sub::Util) >= 1.40
      1 perl(warnings)
      1 rpmlib(CompressedFileNames) <= 3.0.4-1
      1 rpmlib(FileDigests) <= 4.6.0-1
      1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1
      1 rpmlib(PayloadIsZstd) <= 5.4.18-1
Binary requires are Ok.

$ rpm -q --provides -p ../RPMS/noarch/perl-Mock-MonkeyPatch-1.02-1.fc36.noarch.rpm | sort -f | uniq -c
      1 perl(Mock::MonkeyPatch) = 1.02
      1 perl-Mock-MonkeyPatch = 1.02-1.fc36
Binary provides are Ok.

$ resolvedeps rawhide ../RPMS/noarch/perl-Mock-MonkeyPatch-1.02-1.fc36.noarch.rpm 
Binary dependencies are resolvable. Ok.

The package builds in F36 (https://koji.fedoraproject.org/koji/taskinfo?taskID=75005284). Ok.

Otherwise the package is in line with Fedora and Perl packaging guidelines.
Please consider fixing the TODO items before building this package.
Resolution: Package APPROVED.

Comment 2 Emmanuel Seyman 2021-09-02 18:58:05 UTC
(In reply to Petr Pisar from comment #1):
>
> TODO: I recommend adding (or replacing with) the second paragraph from the
> POD to a description. I think it characterizes the package better than a
> general definition of mocking.

Indeed. Done.

> TODO: Remove Group tag. It's not used in Fedora.
> TODO: Constrain 'perl(Module::Build::Tiny)' build-dependency with '>= 0.034'
> (Build.PL:3).
> TODO: Build-require 'perl(:VERSION) >= 5.6' (Build.PL:2).

All done.

> Resolution: Package APPROVED.

Thank you for the review, Petr. I've requested the repo (https://pagure.io/releng/fedora-scm-requests/issue/36661)

Comment 3 Gwyn Ciesla 2021-09-02 19:17:32 UTC
(fedscm-admin):  The Pagure repository was created at https://src.fedoraproject.org/rpms/perl-Mock-MonkeyPatch

Comment 4 Emmanuel Seyman 2021-09-17 12:51:08 UTC
This is now in Rawhide.