Bug 773011

Summary: Review Request: api-sanity-checker - An automatic generator of basic unit tests for a shared C/C++ library.
Product: [Fedora] Fedora Reporter: Richard Shaw <hobbes1069>
Component: Package ReviewAssignee: Gwyn Ciesla <gwync>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: bloch, denis.arnaud_fedora, gwync, notting, package-review
Target Milestone: ---Flags: gwync: fedora-review+
gwync: fedora-cvs+
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: api-sanity-checker-1.12.9-3.fc17 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-04-06 21:31:39 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:

Description Richard Shaw 2012-01-10 16:50:53 UTC
Spec URL: http://hobbes1069.fedorapeople.org/api-sanity-checker/api-sanity-checker.spec
SRPM URL: http://hobbes1069.fedorapeople.org/api-sanity-checker/api-sanity-checker-1.12.9-1.fc16.src.rpm

Description:
API Sanity Checker (ASC) is an automatic generator of basic unit tests for
shared C/C++ libraries. It is able to generate reasonable (in most, but
unfortunately not all, cases) input data for parameters and compose simple
("sanity" or "shallow"-quality) test cases for every function in the API through
the analysis of declarations in header files. The quality of generated tests
allows to check absence of critical errors in simple use cases. The tool is able
to build and execute generated tests and detect crashes (segfaults), aborts, all
kinds of emitted signals, non-zero program return code and program hanging. It
may be considered as a tool for out-of-the-box low-cost sanity checking
(fuzzing) of the library API or as a test development framework for initial
generation of templates for advanced tests. Also it supports universal format of
tests, random test generation mode, specialized data types and other useful
features.

rpmlint output:
$ rpmlint *.rpm
api-sanity-checker.noarch: W: summary-ended-with-dot C An automatic generator of basic unit tests for a shared C/C++ library.
api-sanity-checker.noarch: W: no-manual-page-for-binary api-sanity-checker
api-sanity-checker.src: W: summary-ended-with-dot C An automatic generator of basic unit tests for a shared C/C++ library.
2 packages and 0 specfiles checked; 0 errors, 3 warnings.

Comment 1 Gwyn Ciesla 2012-03-13 20:27:52 UTC
Good:

- rpmlint checks return:

api-sanity-checker.src: W: summary-ended-with-dot C An automatic generator of basic unit tests for a shared C/C++ library.
Summary ends with a dot.

Fix.

api-sanity-checker.src: W: invalid-url URL: http://forge.ispras.ru/projects/api-sanity-autotest <urlopen error timed out>
The value should be a valid, public HTTP, HTTPS, or FTP URL.

Worked for my browser.

api-sanity-checker.noarch: W: no-manual-page-for-binary api-sanity-checker
Each executable in standard binary directories should have a man page.

If available.


- package meets naming guidelines
- package meets packaging guidelines
X license ( ) OK, text in %doc, matches source Should be GPLv2 or LGPLv2, I think.
- spec file legible, in am. english
- source matches upstream
- package compiles on devel (x86_64)
- no missing BR
- no unnecessary BR
- no locales
- not relocatable
- owns all directories that it creates
- no duplicate files
- permissions ok
- %clean ok
- macro use consistent
- code, not content
- no need for -docs
- nothing in %doc affects runtime
- no need for .desktop file 

Otherwise, it looks good.

Comment 2 Richard Shaw 2012-03-13 20:40:00 UTC
(In reply to comment #1)
> Good:
> 
> - rpmlint checks return:
> 
> api-sanity-checker.src: W: summary-ended-with-dot C An automatic generator of
> basic unit tests for a shared C/C++ library.
> Summary ends with a dot.
> 
> Fix.

Cut-n-paste bites me again! Fixed.

 
> api-sanity-checker.noarch: W: no-manual-page-for-binary api-sanity-checker
> Each executable in standard binary directories should have a man page.
> 
> If available.

It's not, but I may be able to come up with a help2man one.

Comment 4 Richard Shaw 2012-03-13 21:40:04 UTC
(In reply to comment #1)
> X license ( ) OK, text in %doc, matches source Should be GPLv2 or LGPLv2, I
> think.

Forgot to comment on this. 

I think since this is only an end user binary (script) that doesn't provide a library of any kind that it's only GPLv2, but I'm not a license guru either.

Richard

Comment 5 Gwyn Ciesla 2012-03-14 12:15:58 UTC
Build fails on help2man:

+ help2man -h --info -o /home/limb/rpmbuild/BUILDROOT/api-sanity-checker-1.12.9-2.fc16.x86_64/usr/share/man/man1/api-sanity-checker.1 -N api-sanity-checker
help2man: can't get `--info' info from api-sanity-checker
Try `--no-discard-stderr' if option outputs to stderr


Change help2man line to:

help2man -o %{buildroot}%{_mandir}/man1/api-sanity-checker.1 -N 'perl api-sanity-checker.pl'

License tag needs updating to GPLv2.

Comment 6 Gwyn Ciesla 2012-03-19 12:48:23 UTC
Ping?

Comment 7 Richard Shaw 2012-03-19 13:28:31 UTC
Sorry, I was on vacation (spring break with the kids) but I'm back now. I'll get a new package posted sometime today.

Comment 8 Gwyn Ciesla 2012-03-19 13:52:23 UTC
Sweet!  No worries.

Comment 9 Richard Shaw 2012-03-19 14:33:03 UTC
(In reply to comment #5)
> Build fails on help2man:
> 
> + help2man -h --info -o
> /home/limb/rpmbuild/BUILDROOT/api-sanity-checker-1.12.9-2.fc16.x86_64/usr/share/man/man1/api-sanity-checker.1
> -N api-sanity-checker
> help2man: can't get `--info' info from api-sanity-checker
> Try `--no-discard-stderr' if option outputs to stderr

Doh! I've already got it installed on my system so of course it finds the installed script, not the one in the buildroot. I haven't bothered to build this in mock since it's just a script but that would have caught this.


> Change help2man line to:
> 
> help2man -o %{buildroot}%{_mandir}/man1/api-sanity-checker.1 -N 'perl
> api-sanity-checker.pl'

Hmm... Not that it really matters but this would run the script in the BUILD (source) directory, not the one in the BUILDROOT. 

 
> License tag needs updating to GPLv2.

Yeah, the text at the top of the LICENCE.txt file is confusing. Fixed.

Spec URL:
http://hobbes1069.fedorapeople.org/api-sanity-checker/api-sanity-checker.spec
SRPM URL:
http://hobbes1069.fedorapeople.org/api-sanity-checker/api-sanity-checker-1.12.9-3.fc16.src.rpm

Comment 10 Gwyn Ciesla 2012-03-19 15:11:33 UTC
Ah, great.  Thanks!

APPROVED.

Comment 11 Richard Shaw 2012-03-19 15:27:20 UTC
New Package SCM Request
=======================
Package Name:  api-sanity-checker
Short Description: An automatic generator of basic unit tests for a shared C/C++ library
Owners: hobbes1069
Branches: f16 f17
InitialCC:

Comment 12 Gwyn Ciesla 2012-03-19 15:36:08 UTC
Git done (by process-git-requests).

Comment 13 Fedora Update System 2012-03-19 18:47:43 UTC
api-sanity-checker-1.12.9-3.fc16 has been submitted as an update for Fedora 16.
https://admin.fedoraproject.org/updates/api-sanity-checker-1.12.9-3.fc16

Comment 14 Fedora Update System 2012-03-19 18:47:49 UTC
api-sanity-checker-1.12.9-3.fc17 has been submitted as an update for Fedora 17.
https://admin.fedoraproject.org/updates/api-sanity-checker-1.12.9-3.fc17

Comment 15 Fedora Update System 2012-03-20 06:02:29 UTC
Package api-sanity-checker-1.12.9-3.fc17:
* should fix your issue,
* was pushed to the Fedora 17 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing api-sanity-checker-1.12.9-3.fc17'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-2012-4183/api-sanity-checker-1.12.9-3.fc17
then log in and leave karma (feedback).

Comment 16 Fedora Update System 2012-04-06 21:31:39 UTC
api-sanity-checker-1.12.9-3.fc16 has been pushed to the Fedora 16 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 17 Fedora Update System 2012-04-12 02:38:04 UTC
api-sanity-checker-1.12.9-3.fc17 has been pushed to the Fedora 17 stable repository.  If problems still persist, please make note of it in this bug report.