Andreas Schneider e35201d
Name:           cmocka
Andreas Schneider 2892fd7
Version:        1.1.7
59d3908
Release:        4%{?dist}
Andreas Schneider e35201d
Andreas Schneider 2892fd7
License:        Apache-2.0
Andreas Schneider 61c8309
Summary:        An elegant unit testing framework for C with support for mock objects
Andreas Schneider 61c8309
URL:            https://cmocka.org
Andreas Schneider e35201d
Andreas Schneider 61c8309
Source0:        https://cmocka.org/files/1.1/%{name}-%{version}.tar.xz
Andreas Schneider 61c8309
Source1:        https://cmocka.org/files/1.1/%{name}-%{version}.tar.xz.asc
Andreas Schneider 61c8309
Source2:        cmocka.keyring
Andreas Schneider e35201d
Andreas Schneider 61c8309
BuildRequires:  gcc
Andreas Schneider 61c8309
BuildRequires:  cmake
Andreas Schneider 61c8309
BuildRequires:  doxygen
Andreas Schneider 61c8309
BuildRequires:  glibc-devel
Andreas Schneider 61c8309
BuildRequires:  gnupg2
4761124
Andreas Schneider 2892fd7
Obsoletes:      libcmocka-static < %{version}
Andreas Schneider 2892fd7
Andreas Schneider e35201d
%description
Andreas Schneider e35201d
There are a variety of C unit testing frameworks available however many of them
Andreas Schneider e35201d
are fairly complex and require the latest compiler technology. Some development
Andreas Schneider e35201d
requires the use of old compilers which makes it difficult to use some unit
Andreas Schneider e35201d
testing frameworks. In addition many unit testing frameworks assume the code
Andreas Schneider e35201d
being tested is an application or module that is targeted to the same platform
Andreas Schneider e35201d
that will ultimately execute the test. Because of this assumption many
Andreas Schneider e35201d
frameworks require the inclusion of standard C library headers in the code
Andreas Schneider e35201d
module being tested which may collide with the custom or incomplete
Andreas Schneider e35201d
implementation of the C library utilized by the code under test.
Andreas Schneider e35201d
Andreas Schneider e35201d
Cmocka only requires a test application is linked with the standard C library
Andreas Schneider e35201d
which minimizes conflicts with standard C library headers. Also, CMocka tries
Andreas Schneider e35201d
to avoid the use of some of the newer features of C compilers.
Andreas Schneider e35201d
Andreas Schneider e35201d
This results in CMocka being a relatively small library that can be used to
Andreas Schneider e35201d
test a variety of exotic code. If a developer wishes to simply test an
Andreas Schneider e35201d
application with the latest compiler then other unit testing frameworks may be
Andreas Schneider e35201d
preferable.
Andreas Schneider e35201d
Andreas Schneider e35201d
This is the successor of Google's Cmockery.
Andreas Schneider e35201d
Andreas Schneider e35201d
%package -n libcmocka
Andreas Schneider e35201d
Summary:        Lightweight library to simplify and generalize unit tests for C
Andreas Schneider e35201d
Andreas Schneider 8f4409a
Conflicts: cmockery2
Andreas Schneider 8f4409a
Andreas Schneider e35201d
%description -n libcmocka
Andreas Schneider e35201d
There are a variety of C unit testing frameworks available however many of them
Andreas Schneider e35201d
are fairly complex and require the latest compiler technology. Some development
Andreas Schneider e35201d
requires the use of old compilers which makes it difficult to use some unit
Andreas Schneider e35201d
testing frameworks. In addition many unit testing frameworks assume the code
Andreas Schneider e35201d
being tested is an application or module that is targeted to the same platform
Andreas Schneider e35201d
that will ultimately execute the test. Because of this assumption many
Andreas Schneider e35201d
frameworks require the inclusion of standard C library headers in the code
Andreas Schneider e35201d
module being tested which may collide with the custom or incomplete
Andreas Schneider e35201d
implementation of the C library utilized by the code under test.
Andreas Schneider e35201d
Andreas Schneider e35201d
CMocka only requires a test application is linked with the standard C library
Andreas Schneider e35201d
which minimizes conflicts with standard C library headers. Also, CMocka tries
Andreas Schneider e35201d
to avoid the use of some of the newer features of C compilers.
Andreas Schneider e35201d
Andreas Schneider e35201d
This results in CMocka being a relatively small library that can be used to
Andreas Schneider e35201d
test a variety of exotic code. If a developer wishes to simply test an
Andreas Schneider e35201d
application with the latest compiler then other unit testing frameworks may be
Andreas Schneider e35201d
preferable.
Andreas Schneider e35201d
Andreas Schneider e35201d
This is the successor of Google's Cmockery.
Andreas Schneider e35201d
Andreas Schneider e35201d
%package -n libcmocka-devel
Andreas Schneider e35201d
Summary:        Development headers for the cmocka library
Andreas Schneider e35201d
Requires:       libcmocka = %{version}-%{release}
Andreas Schneider e35201d
Andreas Schneider 8f4409a
Conflicts: cmockery2-devel
Andreas Schneider 8f4409a
Andreas Schneider e35201d
%description -n libcmocka-devel
Andreas Schneider e35201d
Development headers for the cmocka unit testing library.
Andreas Schneider e35201d
Andreas Schneider b163a84
%package -n cmocka-doc
Andreas Schneider b163a84
Summary:        API documentation for the cmocka unit testing framework
Andreas Schneider b163a84
BuildArch:      noarch
Andreas Schneider b163a84
Andreas Schneider b163a84
%description -n cmocka-doc
Andreas Schneider b163a84
This package provides the API documentation for the cmocka unit testing
Andreas Schneider b163a84
framework.
Andreas Schneider b163a84
Andreas Schneider e35201d
%prep
Andreas Schneider 61c8309
%autosetup -p1
4761124
Andreas Schneider e35201d
%build
329d630
# This package uses -Wl,-wrap to wrap calls at link time.  This is incompatible
329d630
# with LTO.
329d630
# Disable LTO
329d630
%define _lto_cflags %{nil}
329d630
Andreas Schneider e35201d
%cmake \
Andreas Schneider e35201d
  -DWITH_STATIC_LIB=ON \
Andreas Schneider 8f4409a
  -DWITH_CMOCKERY_SUPPORT=ON \
Andreas Schneider 3bd6426
  -DUNIT_TESTING=ON
Andreas Schneider e35201d
Andreas Schneider 3bd6426
%cmake_build
Andreas Schneider 3bd6426
%__cmake --build %{__cmake_builddir} --target docs
Andreas Schneider e35201d
Andreas Schneider e35201d
%install
Andreas Schneider 3bd6426
%cmake_install
Andreas Schneider 8f4409a
ln -s libcmocka.so %{buildroot}%{_libdir}/libcmockery.so
Andreas Schneider e35201d
387b915
%ldconfig_scriptlets -n libcmocka
Andreas Schneider e35201d
Andreas Schneider e35201d
%check
Andreas Schneider 3bd6426
%ctest
Andreas Schneider e35201d
Andreas Schneider e35201d
%files -n libcmocka
Andreas Schneider 61c8309
%doc AUTHORS README.md ChangeLog
Andreas Schneider 61c8309
%license COPYING
Andreas Schneider e35201d
%{_libdir}/libcmocka.so.*
Andreas Schneider e35201d
Andreas Schneider e35201d
%files -n libcmocka-devel
Andreas Schneider e35201d
%{_includedir}/cmocka.h
Andreas Schneider 8f4409a
%{_includedir}/cmocka_pbc.h
Andreas Schneider 8f4409a
%{_includedir}/cmockery/cmockery.h
Andreas Schneider 8f4409a
%{_includedir}/cmockery/pbc.h
Andreas Schneider e35201d
%{_libdir}/libcmocka.so
Andreas Schneider 8f4409a
%{_libdir}/libcmockery.so
Andreas Schneider 0742237
%{_libdir}/pkgconfig/cmocka.pc
Andreas Schneider 2892fd7
%{_libdir}/cmake/cmocka/cmocka-config*.cmake
Andreas Schneider e35201d
Andreas Schneider b163a84
%files -n cmocka-doc
Andreas Schneider b163a84
%doc %{__cmake_builddir}/doc/html
Andreas Schneider b163a84
Andreas Schneider e35201d
%changelog
59d3908
* Wed Jan 24 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.7-4
59d3908
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
59d3908
a5a62e0
* Fri Jan 19 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.7-3
a5a62e0
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
a5a62e0
1e960ef
* Wed Jul 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.7-2
1e960ef
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
1e960ef
Andreas Schneider 2892fd7
* Tue Feb 28 2023 Andreas Schneider <asn@redhat.com> - 1.1.7-1
Andreas Schneider 2892fd7
- Update to version 1.1.7
Andreas Schneider 2892fd7
  * Update ignore list for source tarball generation
Andreas Schneider 2892fd7
  * Added new assert macros to compare 2 double given an epsilon
Andreas Schneider 2892fd7
  * Added meson build system
Andreas Schneider 2892fd7
  * Added header with version to TAP13 output
Andreas Schneider 2892fd7
  * Fixed issues with MSVC
Andreas Schneider 2892fd7
  * Fixed TAP output for skipped tests
Andreas Schneider 2892fd7
  * Fixed issue with fail_msg
Andreas Schneider 2892fd7
  * CMake generated configs for find_package(cmocka)
Andreas Schneider 2892fd7
  * Documentation improvements
Andreas Schneider 2892fd7
0a1e631
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.5-13
0a1e631
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
0a1e631
e79e130
* Wed Jul 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.5-12
e79e130
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
e79e130
5abd6e5
* Wed Jan 19 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.5-11
5abd6e5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
5abd6e5
4422d4e
* Wed Jul 21 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.5-10
4422d4e
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
4422d4e
Andreas Schneider b163a84
* Mon Apr 19 2021 Andreas Schneider <asn@redhat.com> - 1.1.5-9
Andreas Schneider b163a84
- Split out a cmocka-doc package
Andreas Schneider b163a84
54ef563
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.5-8
54ef563
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
54ef563
Andreas Schneider 3bd6426
* Wed Aug 05 2020 Andreas Schneider <asn@redhat.com> - 1.1.5-7
Andreas Schneider 3bd6426
- Correctly build with new cmake macros
Andreas Schneider 3bd6426
b47e2c9
* Sat Aug 01 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.5-6
b47e2c9
- Second attempt - Rebuilt for
b47e2c9
  https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
b47e2c9
5f79b10
* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.5-5
5f79b10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
5f79b10
329d630
* Wed Jul  1 2020 Jeff Law <law@redhat.com> - 1.1.5-4
329d630
- Disable LTO
329d630
b0142ff
* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.5-3
b0142ff
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
b0142ff
6533e74
* Wed Jul 24 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.5-2
6533e74
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
6533e74
Andreas Schneider bac15ff
* Thu Mar 28 2019 Andreas Schneider <asn@redhat.com> - 1.1.5-1
Andreas Schneider bac15ff
- Update to version 1.1.5
Andreas Schneider bac15ff
f7c2d08
* Thu Jan 31 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.3-2
f7c2d08
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
f7c2d08
Andreas Schneider ae7ba6f
* Thu Sep 27 2018 Andreas Schneider <asn@redhat.com> - 1.1.3-1
Andreas Schneider ae7ba6f
- Update to version 1.1.3
Andreas Schneider ae7ba6f
Andreas Schneider 61c8309
* Wed Aug 29 2018 Andreas Schneider <asn@redhat.com> - 1.1.2-1
Andreas Schneider 61c8309
- Update to version 1.1.2
Andreas Schneider 61c8309
d39e8b3
* Thu Jul 12 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.1-9
d39e8b3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
d39e8b3
e93e92b
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.1-8
e93e92b
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
e93e92b
0e7700b
* Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.1-7
0e7700b
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
0e7700b
0d6f891
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.1-6
0d6f891
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
0d6f891
4761124
* Tue Mar 28 2017 Than Ngo <than@redhat.com> - 1.1.0-5
4761124
- added workaround for gcc7 bug on ppc64le temporary 
4761124
9b1c917
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.0-4
9b1c917
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
9b1c917
Jakub Hrozek 2432ffe
* Wed Sep 21 2016 Jakub Hrozek <jhrozek@redhat.com> - 1.1.0-1
Jakub Hrozek 2432ffe
- Update to version 1.1.0
Jakub Hrozek 2432ffe
    * Added support to catch multiple exceptions
Jakub Hrozek 2432ffe
    * Added support to verify call ordering
Jakub Hrozek 2432ffe
    * Added support to pass initial data to test cases
Jakub Hrozek 2432ffe
    * Added will_return_maybe() for ignoring mock returns
Jakub Hrozek 2432ffe
    * Added subtests for groups using TAP output
Jakub Hrozek 2432ffe
    * Added support to write multiple XML files for groups
Jakub Hrozek 2432ffe
    * Improved documentation
Jakub Hrozek 2432ffe
    * Fixed XML output generataion
Jakub Hrozek 2432ffe
    * Fixed Windows builds with VS2015
Jakub Hrozek 2432ffe
a9d58ba
* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.1-3
a9d58ba
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
a9d58ba
db16dbb
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.1-2
db16dbb
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
db16dbb
Andreas Schneider 8f15ac2
* Thu Mar 12 2015 Andreas Schneider <asn@redhat.com> - 1.0.1-1
Andreas Schneider 8f15ac2
- Update to version 1.0.1:
Andreas Schneider 8f15ac2
  * Added a macro for assert_ptr_equal().
Andreas Schneider 8f15ac2
  * Fixed test_realloc() if 0 size is passed.
Andreas Schneider 8f15ac2
  * Fixed objects packaging bug.
Andreas Schneider 8f15ac2
  * Fixed building with newer gcc versions.
Andreas Schneider 8f15ac2
Andreas Schneider 8f4409a
* Mon Feb 16 2015 Andreas Schneider <asn@redhat.com> - 1.0.0-1
Andreas Schneider 8f4409a
- Update to version 1.0.0:
Andreas Schneider 8f4409a
  * Added new test runner with group fixtures. The old runner is deprecated
Andreas Schneider 8f4409a
  * Added an extensible message output formatter
Andreas Schneider 8f4409a
  * Added jUnit XML message output
Andreas Schneider 8f4409a
  * Added subunit message output
Andreas Schneider 8f4409a
  * Added Test Anything Protocol message output
Andreas Schneider 8f4409a
  * Added skip() command
Andreas Schneider 8f4409a
  * Added test_realloc()
Andreas Schneider 8f4409a
  * Added a cmockery compat header
Andreas Schneider 8f4409a
  * Fixed a lot of bugs on Windows
Andreas Schneider 8f4409a
5f30613
* Sat Aug 16 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.4.1-3
5f30613
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
5f30613
1ea04c1
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.4.1-2
1ea04c1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
1ea04c1
Andreas Schneider 14a4372
* Mon May 26 2014 - Andreas Schneider <asn@redhat.com> - 0.4.1-1
Andreas Schneider 14a4372
- Update to version 0.4.1.
Andreas Schneider 14a4372
Andreas Schneider 140f728
* Fri Apr 11 2014 - Andreas Schneider <asn@redhat.com> - 0.4.0-1
Andreas Schneider 140f728
- Update to version 0.4.0.
Andreas Schneider 140f728
Andreas Schneider 68df794
* Wed Nov 06 2013 - Andreas Schneider <asn@redhat.com> - 0.3.2-1
Andreas Schneider 68df794
- Update to version 0.3.2.
Andreas Schneider 68df794
- Include API documentation.
Andreas Schneider 68df794
0aeb855
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.3.1-2
0aeb855
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
0aeb855
Andreas Schneider b7f8497
* Wed Jul 10 2013 - Andreas Schneider <asn@redhat.com> - 0.3.0-2
Andreas Schneider b7f8497
- Update to version 0.3.1.
Andreas Schneider b7f8497
- Fixed cmocka issues on big endian.
Andreas Schneider b7f8497
- resolves: #975044
Andreas Schneider b7f8497
Andreas Schneider 0742237
* Wed Jun 05 2013 - Andreas Schneider <asn@redhat.com> - 0.3.0-1
Andreas Schneider 0742237
- Update to version 0.3.0.
Andreas Schneider 0742237
9c9e0ce
* Wed Feb 13 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.2.0-4
9c9e0ce
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
9c9e0ce
Andreas Schneider e35201d
* Fri Jan 18 2013 - Andreas Schneider <asn@redhat.com> - 0.2.0-3
Andreas Schneider e35201d
- Fixed typo in Source URL.
Andreas Schneider e35201d
Andreas Schneider e35201d
* Thu Jan 17 2013 - Andreas Schneider <asn@redhat.com> - 0.2.0-2
Andreas Schneider e35201d
- Fixed Source URL.
Andreas Schneider e35201d
- Fixed package groups.
Andreas Schneider e35201d
Andreas Schneider e35201d
* Tue Jan 15 2013 - Andreas Schneider <asn@redhat.com> - 0.2.0-1
Andreas Schneider e35201d
- Initial version 0.2.0