Compare commits

...

No commits in common. "c8s" and "c10s" have entirely different histories.
c8s ... c10s

6 changed files with 253 additions and 47 deletions

5
.gitignore vendored
View File

@ -1,2 +1,3 @@
SOURCES/check-0.12.0.tar.gz
/check-0.12.0.tar.gz
/0.10.0.tar.gz
/0.11.0.tar.gz
/check-*.tar.gz

8
README.md Normal file
View File

@ -0,0 +1,8 @@
# check
[Check](https://libcheck.github.io/check/) is a unit test framework for C. It
features a simple interface for defining unit tests, putting little in the way
of the developer. Tests are run in a separate address space, so Check can
catch both assertion failures and code errors that cause segmentation faults
or other signals. The output from unit tests can be used within source code
editors and IDEs.

View File

@ -1,5 +1,5 @@
--- tests/check_check_master.c.orig 2018-01-29 20:33:55.033001412 -0700
+++ tests/check_check_master.c 2018-01-29 20:34:31.501879454 -0700
--- check-0.11.0/tests/check_check_master.c.orig 2018-01-29 20:33:55.033001412 -0700
+++ check-0.11.0/tests/check_check_master.c 2018-01-29 20:34:31.501879454 -0700
@@ -214,7 +214,7 @@ static master_test_t master_tests[] = {
{ "Simple Tests", "test_ck_assert_ldouble_ge", CK_FAILURE, CK_MSG_TEXT, "Assertion 'x >= y' failed: x == 2.5, y == 3" },
{ "Simple Tests", "test_ck_assert_ldouble_ge_with_mod", CK_FAILURE, CK_MSG_TEXT, "Assertion '2%d >= 3%f' failed: 2%d == 0, 3%f == 1" },
@ -9,8 +9,8 @@
{ "Simple Tests", "test_ck_assert_ldouble_eq_tol_with_mod", CK_FAILURE, CK_MSG_TEXT, "Assertion 'fabsl(2%f - 3%d) < 2%p' failed: 3%d == 1, 2%f == 0, 2%p == 0" },
{ "Simple Tests", "test_ck_assert_ldouble_ne_tol", CK_FAILURE, CK_MSG_TEXT, "Assertion 'fabsl(y - x) >= t' failed: x == 0.001, y == 0.002, t == 0.01" },
{ "Simple Tests", "test_ck_assert_ldouble_ne_tol_with_mod", CK_FAILURE, CK_MSG_TEXT, "Assertion 'fabsl(3%f - 3%d) >= 3%p' failed: 3%d == 1, 3%f == 1, 3%p == 1" },
--- tests/check_check_sub.c.orig 2017-10-20 06:44:10.000000000 -0600
+++ tests/check_check_sub.c 2018-01-29 20:33:55.034001409 -0700
--- check-0.11.0/tests/check_check_sub.c.orig 2017-10-20 06:44:10.000000000 -0600
+++ check-0.11.0/tests/check_check_sub.c 2018-01-29 20:33:55.034001409 -0700
@@ -1812,7 +1812,7 @@ START_TEST(test_ck_assert_ldouble_eq_tol
y*=10.0l;
t*=10.0l;

View File

@ -1,23 +1,42 @@
%bcond mingw %[0%{?fedora}]
Name: check
Version: 0.12.0
Release: 2%{?dist}
Version: 0.15.2
Release: 17%{?dist}
Summary: A unit test framework for C
Source0: https://github.com/libcheck/%{name}/archive/%{version}/%{name}-%{version}.tar.gz
License: LGPLv2+
URL: http://libcheck.github.io/check/
License: LGPL-2.1-or-later
URL: https://libcheck.github.io/check/
VCS: https://github.com/libcheck/check
# The upstream tarball includes an index.html and the web/ folder with files
# licensed CC-BY-NC. This license is not allowed in Fedora
# Our tarball are the same sources with index.html and web/ removed.
# Easiest way to verify: unpack both tarballs and run
# diff -r check-0.15.2 upstream-check-0.15.2
# Source0: {vcs}/archive/{version}/{name}-{version}.tar.gz
Source0: %{name}-%{version}.tar.gz
# Only needed for autotools in Fedora
Patch0: %{name}-0.11.0-info-in-builddir.patch
# Fix test failures due to varying floating point behavior across platforms
Patch1: %{name}-0.11.0-fp.patch
BuildRequires: cmake
BuildRequires: gcc
BuildRequires: libtool
BuildRequires: make
BuildRequires: patchutils
BuildRequires: pkgconfig
BuildRequires: texinfo
%if ! 0%{?rhel}
BuildRequires: pkgconfig(libsubunit)
%endif
BuildRequires: texinfo, texlive-tex, graphviz
Requires(post): info
Requires(preun): info
%if %{with mingw}
BuildRequires: mingw32-filesystem >= 95
BuildRequires: mingw32-gcc-c++
BuildRequires: mingw64-filesystem >= 95
BuildRequires: mingw64-gcc-c++
%endif
%description
Check is a unit test framework for C. It features a simple interface for
@ -28,8 +47,8 @@ The output from unit tests can be used within source code editors and IDEs.
%package devel
Summary: Libraries and headers for developing programs with check
Requires: pkgconfig
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: %{name}-static%{?_isa} = %{version}-%{release}
%description devel
Libraries and headers for developing programs with check
@ -42,7 +61,7 @@ Static libraries of check.
%package checkmk
Summary: Translate concise versions of test suites into C programs
License: BSD
License: checkmk
BuildArch: noarch
Requires: %{name} = %{version}-%{release}
@ -50,74 +69,123 @@ Requires: %{name} = %{version}-%{release}
The checkmk binary translates concise versions of test suites into C
programs suitable for use with the Check unit test framework.
%if %{with mingw}
%package -n mingw32-check
Summary: Libraries and headers for developing programs with check
BuildArch: noarch
%description -n mingw32-check
MinGW libraries and headers for developing programs with check
%package -n mingw64-check
Summary: Libraries and headers for developing programs with check
BuildArch: noarch
%description -n mingw64-check
MinGW libraries and headers for developing programs with check
%{?mingw_debug_package}
%endif
%prep
%setup -q
%if 0%{?fedora}
%patch0 -p1 -b .info-in-builddir
%patch -P0 -p1 -b .info-in-builddir
%endif
%patch1
%patch -P1 -p1
# Fix detection of various time-related function declarations
sed -e '/DECLS(\[a/s|)|,,,[AC_INCLUDES_DEFAULT\n[#include <time.h>\n #include <sys/time.h>]]&|' \
-i configure.ac
# Get rid of version control files
find . -name .cvsignore -exec rm {} +
find . -name .cvsignore -delete
# Regenerate configure due to patch 0
autoreconf -ivf
%build
%configure
# Fix libdir for the cmake build
sed -i 's,set(libdir .*),set(libdir "%{_libdir}"),' CMakeLists.txt
# Get rid of undesirable hardcoded rpaths
%build
# The autotools build does not create the cmake files.
# The cmake build does not create the info or aclocal files.
# Therefore we build with both and combine the results to get everything.
mkdir autotools_build
cd autotools_build
%global _configure ../configure
%configure --disable-timeout-tests
# Get rid of undesirable hardcoded rpaths; workaround libtool reordering
# -Wl,--as-needed after all the libraries.
sed -e 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' \
-e 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' \
-e 's|CC="\(.*g..\)"|CC="\1 -Wl,--as-needed"|' \
-i libtool
make %{?_smp_mflags}
%make_build
cd -
%cmake -DCHECK_ENABLE_TIMEOUT_TESTS:BOOL=OFF
%cmake_build
%if %{with mingw}
%mingw_configure
%mingw_make %{?_smp_mflags}
%endif
%install
make DESTDIR=$RPM_BUILD_ROOT install
rm -f $RPM_BUILD_ROOT%{_libdir}/*.la
rm -rf $RPM_BUILD_ROOT%{_infodir}/dir
rm -rf $RPM_BUILD_ROOT%{_docdir}/%{name}
cd autotools_build
%make_install
rm -rf %{buildroot}%{_libdir}
rm -rf %{buildroot}%{_infodir}/dir
rm -rf %{buildroot}%{_docdir}/%{name}
cd -
%cmake_install
# The library does not really depend on -pthread
sed -i 's/ -pthread//' %{buildroot}%{_libdir}/pkgconfig/check.pc
%if %{with mingw}
%mingw_make_install
%mingw_debug_install_post
rm -rf $RPM_BUILD_ROOT%{mingw32_bindir}/checkmk
rm -rf $RPM_BUILD_ROOT%{mingw64_bindir}/checkmk
rm -rf $RPM_BUILD_ROOT%{mingw32_infodir}/
rm -rf $RPM_BUILD_ROOT%{mingw64_infodir}/
rm -f $RPM_BUILD_ROOT%{mingw32_mandir}/man1/checkmk.1*
rm -f $RPM_BUILD_ROOT%{mingw64_mandir}/man1/checkmk.1*
%endif
%check
cd autotools_build
export LD_LIBRARY_PATH=$PWD/src/.libs
%ifnarch s390x
make check
%endif
# Don't need to package the sh, log or trs files
# when we scoop the other checkmk/test files for doc
rm -rf checkmk/test/check_checkmk*
# these files are empty
rm -rf checkmk/test/empty_input
cd -
%post
/sbin/ldconfig
if [ -e %{_infodir}/%{name}.info* ]; then
/sbin/install-info \
--entry='* Check: (check). A unit testing framework for C.' \
%{_infodir}/%{name}.info %{_infodir}/dir || :
fi
%postun -p /sbin/ldconfig
%preun
if [ $1 = 0 -a -e %{_infodir}/%{name}.info* ]; then
/sbin/install-info --delete %{_infodir}/%{name}.info %{_infodir}/dir || :
fi
%ldconfig_scriptlets
%files
%doc AUTHORS ChangeLog
%doc AUTHORS NEWS
%license COPYING.LESSER
%{_libdir}/libcheck.so.*
%{_libdir}/libcheck.so.0*
%{_infodir}/check*
%files devel
%doc doc/example
%{_includedir}/check.h
%{_includedir}/check_stdint.h
%{_libdir}/cmake/check/
%{_libdir}/libcheck.so
%{_libdir}/pkgconfig/check.pc
%{_datadir}/aclocal/check.m4
@ -133,9 +201,138 @@ fi
%{_bindir}/checkmk
%{_mandir}/man1/checkmk.1*
%if %{with mingw}
%files -n mingw32-check
%license COPYING.LESSER
%{mingw32_bindir}/libcheck-0.dll
%{mingw32_includedir}/check.h
%{mingw32_includedir}/check_stdint.h
%{mingw32_libdir}/libcheck.a
%{mingw32_libdir}/libcheck.dll.a
%{mingw32_libdir}/pkgconfig/check.pc
%{mingw32_datadir}/aclocal/check.m4
%{mingw32_docdir}
%files -n mingw64-check
%license COPYING.LESSER
%{mingw64_bindir}/libcheck-0.dll
%{mingw64_includedir}/check.h
%{mingw64_includedir}/check_stdint.h
%{mingw64_libdir}/libcheck.a
%{mingw64_libdir}/libcheck.dll.a
%{mingw64_libdir}/pkgconfig/check.pc
%{mingw64_datadir}/aclocal/check.m4
%{mingw64_docdir}
%endif
%changelog
* Mon Jun 25 2018 Petr Viktorin <pviktori@redhat.com> - 0.12.0-2
- Build without subunit support
* Tue Oct 29 2024 Troy Dawson <tdawson@redhat.com> - 0.15.2-17
- Bump release for October 2024 mass rebuild:
Resolves: RHEL-64018
* Mon Jun 24 2024 Troy Dawson <tdawson@redhat.com> - 0.15.2-16
- Bump release for June 2024 mass rebuild
* Wed Jun 05 2024 Peter Hutterer <peter.hutterer@redhat.com> 0.15.2-15
- Remove the CC-BY-NC index.html file from the tarball (#2290306)
* Tue Jun 04 2024 Peter Hutterer <peter.hutterer@redhat.com> 0.15.2-14
- Remove the CC-BY-NC website from the tarball (#2290306)
* Tue May 21 2024 Jerry James <loganjerry@gmail.com> - 0.15.2-13
- Fix check-devel for cmake users (rhbz#2161231)
- Simplify conditional logic for mingw
* Tue Jan 23 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.15.2-12
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Fri Jan 19 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.15.2-11
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Wed Jul 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 0.15.2-10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Fri Jul 14 2023 Jerry James <loganjerry@gmail.com> - 0.15.2-9
- Update deprecated %%patch macro usage
* Mon Feb 13 2023 Marc-André Lureau <marcandre.lureau@redhat.com> - 0.15.2-9
- Add optional Fedora mingw packages.
* Wed Jan 18 2023 Fedora Release Engineering <releng@fedoraproject.org> - 0.15.2-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Tue Nov 22 2022 Jerry James <loganjerry@gmail.com> - 0.15.2-7
- Convert License tags to SPDX
* Wed Jul 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0.15.2-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Wed Jan 19 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0.15.2-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Sat Oct 16 2021 Jerry James <loganjerry@gmail.com> - 0.15.2-5
- Fix pkgconfig file on 64-bit systems (bz 2014748)
* Wed Jul 21 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.15.2-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Mon Mar 01 2021 Tomas Popela <tpopela@redhat.com> - 0.15.2-3
- Don't build with subunit support in RHEL
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.15.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Sun Aug 9 2020 Jerry James <loganjerry@gmail.com> - 0.15.2-1
- Version 0.15.2
- Drop upstreamed -fail-macros patch
* Mon Aug 3 2020 Jerry James <loganjerry@gmail.com> - 0.15.1-3
- Add -fail-macros patch
* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.15.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Thu Jul 23 2020 Jerry James <loganjerry@gmail.com> - 0.15.1-1
- Version 0.15.1
- Drop upstreamed -format-spec patch
* Tue Jun 23 2020 Jerry James <loganjerry@gmail.com> - 0.15.0-2
- Drop -attribute-format patch, causes other issues (bz 1850198)
* Mon Jun 22 2020 Jerry James <loganjerry@gmail.com> - 0.15.0-1
- Version 0.15.0
- Add -formatspec and -attribute-format patches
- Build with both cmake and autotools
* Fri Jan 31 2020 Tom Callaway <spot@fedoraproject.org> - 0.14.0-3
- disable tests on s390x
* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.14.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Mon Jan 27 2020 Tom Callaway <spot@fedoraproject.org> - 0.14.0-1
- update to 0.14.0
* Mon Dec 2 2019 Tom Callaway <spot@fedoraproject.org> - 0.13.0-2
- package NEWS instead of the obsolete ChangeLog file
* Tue Oct 22 2019 Tom Callaway <spot@fedoraproject.org> - 0.13.0-1
- update to 0.13.0
* Wed Jul 24 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.12.0-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Thu Jan 31 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.12.0-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Mon Jul 23 2018 Jerry James <loganjerry@gmail.com> - 0.12.0-3
- Disable unreliable timeout tests (sometimes fail on busy builders)
* Thu Jul 12 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.12.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.12.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Mon Jan 29 2018 Jerry James <loganjerry@gmail.com> - 0.12.0-1
- Update to 0.12.0

View File

@ -1,6 +1,6 @@
--- !Policy
product_versions:
- rhel-8
- rhel-10
decision_context: osci_compose_gate
rules:
- !PassingTestCaseRule {test_case_name: desktop-qe.desktop-ci.tier1-gating.functional}

View File

@ -1 +1 @@
SHA512 (check-0.12.0.tar.gz) = f7b6452b69f999a90e86a8582d980c0c1b74ba5629ee34455724463ba62bfe3501ad0415aa771170f5c638a7a253f123bf87cbef25aadc6569a7a3a4d10fce90
SHA512 (check-0.15.2.tar.gz) = 956b9c4df2d2c75c57de5feae402388d84a342c03ce1300d8dee87385caff1979294ea3265505b622d0e0c684683bc30ffe22b8435e610fec4321bd114ae235b