dbf12ef
%global commit ed74fbc05c007696b31db207d44af1372067ccf9
dbf12ef
2158ab6
Name:           api-sanity-checker
dbf12ef
Version:        1.98.7
adba972
Release:        7%{?dist}
2158ab6
Summary:        An automatic generator of basic unit tests for a shared C/C++ library
2158ab6
2158ab6
License:        GPLv2
2158ab6
URL:            http://forge.ispras.ru/projects/api-sanity-autotest
dbf12ef
# https://github.com/lvc/api-sanity-checker/archive/%{version}.tar.gz
dbf12ef
Source0:        %{name}-%{version}.tar.gz
71c3cb6
2158ab6
BuildArch:      noarch
2158ab6
BuildRequires:  help2man
299ca70
BuildRequires:  abi-compliance-checker >= 1.98.7
fb9758d
BuildRequires:  perl-generators
299ca70
Requires:       abi-compliance-checker >= 1.98.7
2158ab6
Requires:       binutils
2158ab6
2158ab6
%{?perl_default_filter}
2158ab6
2158ab6
%description
2158ab6
API Sanity Checker (ASC) is an automatic generator of basic unit tests for
2158ab6
shared C/C++ libraries. It is able to generate reasonable (in most, but
2158ab6
unfortunately not all, cases) input data for parameters and compose simple
2158ab6
("sanity" or "shallow"-quality) test cases for every function in the API through
2158ab6
the analysis of declarations in header files. The quality of generated tests
2158ab6
allows to check absence of critical errors in simple use cases. The tool is able
2158ab6
to build and execute generated tests and detect crashes (segfaults), aborts, all
2158ab6
kinds of emitted signals, non-zero program return code and program hanging. It
2158ab6
may be considered as a tool for out-of-the-box low-cost sanity checking
2158ab6
(fuzzing) of the library API or as a test development framework for initial
2158ab6
generation of templates for advanced tests. Also it supports universal format of
2158ab6
tests, random test generation mode, specialized data types and other useful
2158ab6
features.
2158ab6
2158ab6
2158ab6
%prep
2158ab6
%setup -q
299ca70
chmod -x LICENSE
2158ab6
2158ab6
2158ab6
%build
2158ab6
# Nothing to build.
2158ab6
2158ab6
2158ab6
%install
2158ab6
mkdir -p %{buildroot}%{_bindir}
2158ab6
perl ./Makefile.pl -install --destdir=%{buildroot} --prefix=%{_prefix}
2158ab6
2158ab6
# Create a man page.
2158ab6
mkdir -p %{buildroot}%{_mandir}/man1
2158ab6
help2man -h --info -o %{buildroot}%{_mandir}/man1/api-sanity-checker.1 \
2158ab6
         -N %{buildroot}%{_bindir}/api-sanity-checker
2158ab6
sed -i 's|API(1)|API-SANITY-CHECKER(1)|g' %{buildroot}%{_mandir}/man1/api-sanity-checker.1
2158ab6
sed -i '3,5d' %{buildroot}%{_mandir}/man1/api-sanity-checker.1
2158ab6
2158ab6
2158ab6
%files
dbf12ef
%license LICENSE
dbf12ef
%doc README doc/*
2158ab6
%{_bindir}/%{name}
2158ab6
%{_mandir}/man1/%{name}.1.gz
299ca70
%{_datadir}/%{name}
2158ab6
2158ab6
2158ab6
%changelog
adba972
* Thu Jan 31 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.98.7-7
adba972
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
adba972
71d0d6a
* Thu Jul 12 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.98.7-6
71d0d6a
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
71d0d6a
740d5d1
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.98.7-5
740d5d1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
740d5d1
20038da
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.98.7-4
20038da
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
20038da
d69958f
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.98.7-3
d69958f
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
d69958f
74c714e
* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 1.98.7-2
74c714e
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
74c714e
dbf12ef
* Tue Sep  8 2015 Richard Shaw <hobbes1069@gmail.com> - 1.98.7-1
dbf12ef
- Update to latest upstream release.
dbf12ef
- Update spec to use license macro on supported branches.
dbf12ef
- Remove upstreamed patch.
dbf12ef
a7b873e
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.98.6-4
a7b873e
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
a7b873e
71c3cb6
* Wed May 27 2015 Richard Shaw <hobbes1069@gmail.com> - 1.98.6-3
71c3cb6
- Fix non-standard permissions on binary (BZ#1131946).
71c3cb6
08a200a
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.98.6-2
08a200a
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
08a200a
38aa9c7
* Tue Mar  4 2014 Richard Shaw <hobbes1069@gmail.com> - 1.98.6-1
38aa9c7
- Update to latest upstrem release.
38aa9c7
38aa9c7
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org>
a73fbb8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
a73fbb8
1693a63
* Wed Jul 17 2013 Petr Pisar <ppisar@redhat.com> - 1.98-3
1693a63
- Perl 5.18 rebuild
1693a63
38aa9c7
* Tue Dec 18 2012 Richard Shaw <hobbes1069@gmail.com> - 1.98-1
299ca70
- Update to latest upstream release.
299ca70
724ff22
* Wed Dec 05 2012 Richard Shaw <hobbes1069@gmail.com> - 1.12.10-1
724ff22
- Update to latest upstream release.
724ff22
d16c37c
* Wed Jul 18 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.12.9-4
d16c37c
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
d16c37c
2158ab6
* Mon Mar 19 2012 Richard Shaw <hobbes1069@gmail.com> - 1.12.9-3
2158ab6
- Fix man page generation and license in spec file.
2158ab6
2158ab6
* Tue Mar 13 2012 Richard Shaw <hobbes1069@gmail.com> - 1.12.9-2
2158ab6
- Minor spec fixes and crate man page.
2158ab6
2158ab6
* Tue Jan 10 2012 Richard Shaw <hobbes1069@gmail.com> - 1.12.9-1
2158ab6
- Initial release.