diff --git a/.fmf/version b/.fmf/version deleted file mode 100644 index d00491f..0000000 --- a/.fmf/version +++ /dev/null @@ -1 +0,0 @@ -1 diff --git a/.gitignore b/.gitignore index f28941f..a93fb6d 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1 @@ -cppunit-1.12.1.tar.gz -cppunit-1.12.1.tar.gz -cppunit-1.13.2.tar.gz -/cppunit-1.14.0.tar.gz -/cppunit-1.15.0.tar.gz -/cppunit-1.15.1.tar.gz +cppunit-1.12.0.tar.gz diff --git a/changelog b/changelog deleted file mode 100644 index 56b16be..0000000 --- a/changelog +++ /dev/null @@ -1,146 +0,0 @@ -* Mon Nov 21 2022 David Tardon - 1.15.1-8 -- Convert license to SPDX - -* Wed Jul 20 2022 Fedora Release Engineering - 1.15.1-7 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild - -* Wed Jan 19 2022 Fedora Release Engineering - 1.15.1-6 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild - -* Tue Jan 26 2021 Fedora Release Engineering - 1.15.1-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild - -* Mon Jul 27 2020 Fedora Release Engineering - 1.15.1-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild - -* Tue Jan 28 2020 Fedora Release Engineering - 1.15.1-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild - -* Wed Dec 25 2019 David Tardon - 1.15.1-2 -- try again - -* Wed Dec 25 2019 David Tardon - 1.15.1-1 -- new upstream release - -* Sat Dec 21 2019 David Tardon - 1.15.0-1 -- new upstream release - -* Wed Jul 24 2019 Fedora Release Engineering - 1.14.0-8 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild - -* Thu Jan 31 2019 Fedora Release Engineering - 1.14.0-7 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild - -* Thu Jul 12 2018 Fedora Release Engineering - 1.14.0-6 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild - -* Thu Jun 28 2018 Rex Dieter - 1.14.0-5 -- use %%make_build %%make_install %%ldconfig_scriptlets -- -devel: tighten dep on main pkg with %%_isa - -* Wed Feb 07 2018 Fedora Release Engineering - 1.14.0-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild - -* Wed Aug 02 2017 Fedora Release Engineering - 1.14.0-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild - -* Wed Jul 26 2017 Fedora Release Engineering - 1.14.0-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild - -* Tue May 02 2017 David Tardon - 1.14.0-1 -- new upstream release - -* Fri Feb 10 2017 Fedora Release Engineering - 1.13.2-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild - -* Sat Feb 13 2016 David Tardon - 1.13.2-2 -- drop obsolete cppunit-config - -* Sat Feb 13 2016 David Tardon - 1.13.2-1 -- switch to new upstream - -* Wed Feb 03 2016 Fedora Release Engineering - 1.12.1-17 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild - -* Wed Jun 17 2015 Fedora Release Engineering - 1.12.1-16 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild - -* Sat Apr 11 2015 David Tardon - 1.12.1-15 -- rebuild for yet another C++ ABI break - -* Fri Feb 20 2015 David Tardon - 1.12.1-14 -- rebuild for C++ stdlib ABI change in gcc5 - -* Sat Aug 16 2014 Fedora Release Engineering - 1.12.1-13 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild - -* Sat Jun 07 2014 Fedora Release Engineering - 1.12.1-12 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild - -* Tue May 20 2014 David Tardon - 1.12.1-11 -- rhbz#925193 add support for aarch64 - -* Sat Aug 03 2013 Fedora Release Engineering - 1.12.1-10 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild - -* Wed Feb 13 2013 Fedora Release Engineering - 1.12.1-9 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild - -* Wed Jul 18 2012 Fedora Release Engineering - 1.12.1-8 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild - -* Thu Jan 12 2012 Fedora Release Engineering - 1.12.1-7 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild - -* Wed Oct 05 2011 Caolán McNamara - 1.12.1-6 -- add sf#2912630 fix for unused argument warnings - -* Tue Jun 28 2011 Steven M. Parrish - 1.12.1-5 -- Fix for bug 452340 - -* Tue Feb 08 2011 Fedora Release Engineering - 1.12.1-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild - -* Fri Jul 24 2009 Fedora Release Engineering - 1.12.1-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild - -* Tue Feb 24 2009 Fedora Release Engineering - 1.12.1-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild - -* Thu Sep 18 2008 Patrice Dumas 1.12.1-1 -- Update to 1.12.1 - -* Tue Feb 19 2008 Fedora Release Engineering - 1.12.0-5 -- Autorebuild for GCC 4.3 - -* Mon Dec 17 2007 Patrice Dumas 1.12.0-4 -- remove libdir reference to cppunit-config, should fix multiarch conflict - (#340951) -- fix encoding and remove windows related files in examples -- keep timestamps - -* Mon Jan 29 2007 Patrice Dumas 1.12.0-3 -- add rightly files to -devel (#224106) -- add necessary requires for -devel (#224106) -- ship examples - -* Sun Sep 10 2006 Patrice Dumas 1.12.0-2 -- rebuild for FC6 - -* Wed Jul 5 2006 Patrice Dumas 1.12.0-1 -- update to 1.12 - -* Sun May 21 2006 Patrice Dumas 1.11.6-1 -- update to 1.11.6 - -* Wed Dec 21 2005 Patrice Dumas 1.11.4-1 -- update - -* Mon Aug 15 2005 Tom "spot" Callaway 1.11.0-2 -- various cleanups - -* Mon Jul 4 2005 Patrice Dumas 1.11.0-1 -- update using the fedora template - -* Sat Apr 14 2001 Bastiaan Bakker -- Initial release diff --git a/cppunit-1.12.0-nolibdir.patch b/cppunit-1.12.0-nolibdir.patch new file mode 100644 index 0000000..4786f13 --- /dev/null +++ b/cppunit-1.12.0-nolibdir.patch @@ -0,0 +1,13 @@ +diff -up cppunit-1.12.0/cppunit-config.in.nolibdir cppunit-1.12.0/cppunit-config.in +--- cppunit-1.12.0/cppunit-config.in.nolibdir 2007-10-21 11:19:40.000000000 +0200 ++++ cppunit-1.12.0/cppunit-config.in 2007-10-21 11:20:01.000000000 +0200 +@@ -87,9 +87,6 @@ if test "$echo_cflags" = "yes"; then + fi + + if test "$echo_libs" = "yes"; then +- if test @libdir@ != /usr/lib ; then +- my_linker_flags="-L@libdir@" +- fi + echo ${my_linker_flags} -lcppunit @LIBADD_DL@ + fi + diff --git a/cppunit.spec b/cppunit.spec index e45bbca..3397a05 100644 --- a/cppunit.spec +++ b/cppunit.spec @@ -1,32 +1,27 @@ -%global apiversion 1.15 - Name: cppunit -Version: 1.15.1 -Release: %autorelease +Version: 1.12.0 +Release: 5%{?dist} Summary: C++ unit testing framework # no license in files -License: LGPL-2.1-or-later -Url: https://www.freedesktop.org/wiki/Software/cppunit/ -Source: https://dev-www.libreoffice.org/src/%{name}-%{version}.tar.gz +License: LGPLv2+ +Group: Development/Libraries +Url: http://cppunit.sourceforge.net/ +Source: http://downloads.sourceforge.net/cppunit/cppunit-%{version}.tar.gz +Patch0: cppunit-1.12.0-nolibdir.patch -# Backport patch to run tests in deterministic order -# https://gerrit.libreoffice.org/c/cppunit/+/123963 -Patch: run-tests-in-deterministic-order.patch - -BuildRequires: doxygen -BuildRequires: gcc-c++ -BuildRequires: graphviz -BuildRequires: make +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) +BuildRequires: doxygen, graphviz %description CppUnit is the C++ port of the famous JUnit framework for unit testing. -Test output is in XML for automatic testing and GUI based for supervised -tests. +Test output is in XML for automatic testing and GUI based for supervised tests. %package devel Summary: Libraries and headers for cppunit development -Requires: %{name}%{?_isa} = %{version}-%{release} +Group: Development/Libraries +Requires: pkgconfig, automake +Requires: %{name} = %{version}-%{release} %description devel This package contains the libraries and headers necessary for developing @@ -34,58 +29,105 @@ programs that use cppunit. %package doc Summary: HTML formatted API documention for cppunit +Group: Documentation %description doc The cppunit-doc package contains HTML formatted API documention generated by the popular doxygen documentation generation tool. %prep -%autosetup -p1 +%setup -q +%patch0 -p1 -b .nolibdir +for file in THANKS ChangeLog NEWS; do + iconv -f latin1 -t utf8 < $file > ${file}.utf8 + touch -r $file ${file}.utf8 + mv ${file}.utf8 $file +done %build -%configure --enable-doxygen --disable-static --disable-silent-rules --disable-werror -sed -i \ - -e 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' \ - -e 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' \ - libtool - -%make_build +export LDFLAGS=-ldl +%configure --enable-doxygen --disable-static +make %{?_smp_mflags} %install -%make_install - -rm %{buildroot}%{_libdir}/*.la +rm -rf $RPM_BUILD_ROOT +make install DESTDIR=$RPM_BUILD_ROOT INSTALL='install -p' +rm $RPM_BUILD_ROOT%{_libdir}/*.la # remove double of doc -rm -rf %{buildroot}%{_datadir}/doc/cppunit %{buildroot}%{_datadir}/%{name}/html +rm -rf $RPM_BUILD_ROOT%{_datadir}/cppunit + +# ensure that timestamp of cppunit-config is the same for all arches +touch -r cppunit-config.in.nolibdir $RPM_BUILD_ROOT%{_bindir}/cppunit-config # clean up examples rm -rf __dist-examples __dist-examples-dir cp -a examples __dist-examples make -C __dist-examples distclean # Makefile.am files are left as documentation -find __dist-examples \( -name Makefile.in -o -name .gitignore -o -name '*.opt' -o -name '*.sln' -o -name '*.vcproj' \) -exec rm {} \; +find __dist-examples \( -name Makefile.in -o -name .cvsignore -o -name '*.dsw' -o -name '*.dsp' \) -exec rm {} \; +chmod a-x __dist-examples/qt/run.bat mkdir __dist-examples-dir mv __dist-examples __dist-examples-dir/examples +%clean +rm -rf $RPM_BUILD_ROOT -%ldconfig_scriptlets +%post -p /sbin/ldconfig + +%postun -p /sbin/ldconfig %files -%doc AUTHORS NEWS README THANKS TODO BUGS doc/FAQ -%license COPYING +%defattr(-,root,root,-) +%doc AUTHORS COPYING NEWS README THANKS ChangeLog TODO BUGS doc/FAQ %{_bindir}/DllPlugInTester -%{_libdir}/libcppunit-%{apiversion}.so.1 -%{_libdir}/libcppunit-%{apiversion}.so.1.* +%{_libdir}/libcppunit*.so.* %files devel +%defattr(-,root,root,-) +%{_bindir}/cppunit-config %{_includedir}/cppunit %{_libdir}/libcppunit.so +%{_datadir}/aclocal/cppunit.m4 +%{_mandir}/man1/cppunit-config.1* %{_libdir}/pkgconfig/cppunit.pc %files doc -%license COPYING +%defattr(-,root,root,-) %doc __dist-examples-dir/examples/ -%doc doc/html +%doc doc/html/ %changelog -%autochangelog +* Tue Feb 19 2008 Fedora Release Engineering - 1.12.0-5 +- Autorebuild for GCC 4.3 + +* Mon Dec 17 2007 Patrice Dumas 1.12.0-4 +- remove libdir reference to cppunit-config, should fix multiarch conflict + (#340951) +- fix encoding and remove windows related files in examples +- keep timestamps + +* Mon Jan 29 2007 Patrice Dumas 1.12.0-3 +- add rightly files to -devel (#224106) +- add necessary requires for -devel (#224106) +- ship examples + +* Sun Sep 10 2006 Patrice Dumas 1.12.0-2 +- rebuild for FC6 + +* Wed Jul 5 2006 Patrice Dumas 1.12.0-1 +- update to 1.12 + +* Sun May 21 2006 Patrice Dumas 1.11.6-1 +- update to 1.11.6 + +* Wed Dec 21 2005 Patrice Dumas 1.11.4-1 +- update + +* Mon Aug 15 2005 Tom "spot" Callaway 1.11.0-2 +- various cleanups + +* Mon Jul 4 2005 Patrice Dumas 1.11.0-1 +- update using the fedora template + +* Sat Apr 14 2001 Bastiaan Bakker +- Initial release diff --git a/gating.yaml b/gating.yaml deleted file mode 100644 index ce3cdc1..0000000 --- a/gating.yaml +++ /dev/null @@ -1,19 +0,0 @@ ---- !Policy -product_versions: - - fedora-* -decision_context: bodhi_update_push_stable -subject_type: koji_build -rules: - - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.tier0.functional} ---- !Policy -product_versions: - - rhel-8 -decision_context: osci_compose_gate -rules: - - !PassingTestCaseRule {test_case_name: baseos-ci.brew-build.tier1.functional} ---- !Policy -product_versions: - - rhel-9 -decision_context: osci_compose_gate -rules: - - !PassingTestCaseRule {test_case_name: baseos-ci.brew-build.tier1.functional} diff --git a/plans/ci.fmf b/plans/ci.fmf deleted file mode 100644 index 3fd3ab7..0000000 --- a/plans/ci.fmf +++ /dev/null @@ -1,5 +0,0 @@ -summary: CI Gating Plan -discover: - how: fmf -execute: - how: tmt diff --git a/run-tests-in-deterministic-order.patch b/run-tests-in-deterministic-order.patch deleted file mode 100644 index 2942e42..0000000 --- a/run-tests-in-deterministic-order.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 64eaa35c2de99581e522608e841defffb4b2923b Mon Sep 17 00:00:00 2001 -From: Stephan Bergmann -Date: Thu, 21 Oct 2021 11:14:34 +0200 -Subject: [PATCH] Run tests in deterministic order - -LibreOffice already benefits from this (see - -"external/cppunit: Run tests in deterministic order", especially as otherwise -the order in which tests happened to get run differed between --disable-lto and ---enable-lto builds. - -Change-Id: I87d6d7cb0f4c2f6a0ea1ac3ba3d48b4e089eb5c7 -Reviewed-on: https://gerrit.libreoffice.org/c/cppunit/+/123963 -Tested-by: Stephan Bergmann -Reviewed-by: Stephan Bergmann ---- - -diff --git a/src/cppunit/TestFactoryRegistry.cpp b/src/cppunit/TestFactoryRegistry.cpp -index 35448a6..3b68d58 100644 ---- a/src/cppunit/TestFactoryRegistry.cpp -+++ b/src/cppunit/TestFactoryRegistry.cpp -@@ -143,12 +143,20 @@ - void - TestFactoryRegistry::addTestToSuite( TestSuite *suite ) - { -+ std::multimap sorted; - for ( Factories::iterator it = m_factories.begin(); - it != m_factories.end(); - ++it ) - { - TestFactory *factory = *it; -- suite->addTest( factory->makeTest() ); -+ Test *test = factory->makeTest(); -+ sorted.insert({test->getName(), test}); -+ } -+ // In the unlikely case of multiple Tests with identical names, those will -+ // still be added in random order: -+ for (auto const &i: sorted) -+ { -+ suite->addTest( i.second ); - } - } - diff --git a/sources b/sources index d35f7ad..67cd4c2 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (cppunit-1.15.1.tar.gz) = 0feb47faec451357bb4c4e287efa17bb60fd3ad966d5350e9f25b414aaab79e94921024b0c0497672f8d3eeb22a599213d2d71d9e1d28b243b3e37f3a9a43691 +7493718733ded49a96cf763c5d3eea7f cppunit-1.12.0.tar.gz diff --git a/tests/Sanity/basic-test/hello.cpp b/tests/Sanity/basic-test/hello.cpp deleted file mode 100644 index 51fdecd..0000000 --- a/tests/Sanity/basic-test/hello.cpp +++ /dev/null @@ -1,92 +0,0 @@ -#include - -#include -#include -#include -#include -#include -#include -#include -#include - -using namespace std; - -class Math -{ -public: - int Addition (int x, int y); -}; - -int -Math::Addition (int x, int y) -{ - return (x + y); -} - -class Test:public - CPPUNIT_NS::TestCase -{ - CPPUNIT_TEST_SUITE (Test); - CPPUNIT_TEST (testAddition); - CPPUNIT_TEST_SUITE_END (); - -public: - void - setUp (void); - void - tearDown (void); - -protected: - void - testAddition (void); - -private: - Math * - mTestObj; -}; - -void -Test::testAddition (void) -{ - CPPUNIT_ASSERT (5 == mTestObj->Addition (2, 3)); -} - -void -Test::setUp (void) -{ - mTestObj = new Math (); -} - -void -Test::tearDown (void) -{ - delete mTestObj; -} - -CPPUNIT_TEST_SUITE_REGISTRATION (Test); - -int -main (int ac, char **av) -{ - CPPUNIT_NS::TestResult controller; - - CPPUNIT_NS::TestResultCollector result; - controller.addListener (&result); - - CPPUNIT_NS::BriefTestProgressListener progress; - controller.addListener (&progress); - - CPPUNIT_NS::TestRunner runner; - runner. - addTest (CPPUNIT_NS::TestFactoryRegistry::getRegistry ().makeTest ()); - runner.run (controller); - - CPPUNIT_NS::CompilerOutputter compileroutputter (&result, std::cerr); - compileroutputter.write (); - - ofstream xmlFileOut ("output.xml"); - CPPUNIT_NS::XmlOutputter xmlOut (&result, xmlFileOut); - xmlOut.write (); - - return result.wasSuccessful ()? 0 : 1; -} diff --git a/tests/Sanity/basic-test/main.fmf b/tests/Sanity/basic-test/main.fmf deleted file mode 100644 index ed785d1..0000000 --- a/tests/Sanity/basic-test/main.fmf +++ /dev/null @@ -1,15 +0,0 @@ -summary: cppunit basic test -description: '' -contact: Edjunior Machado -component: - - cppunit -test: ./runtest.sh -framework: beakerlib -require: - - bash - - coreutils - - gcc-c++ - - cppunit-devel -duration: 1h -extra-summary: /tools/cppunit/Sanity/basic-test -extra-task: /tools/cppunit/Sanity/basic-test diff --git a/tests/Sanity/basic-test/runtest.sh b/tests/Sanity/basic-test/runtest.sh deleted file mode 100755 index 4d9e0aa..0000000 --- a/tests/Sanity/basic-test/runtest.sh +++ /dev/null @@ -1,56 +0,0 @@ -#!/bin/bash -# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# runtest.sh of /tools/cppunit/Sanity/basic-test -# Description: cppunit basic test -# Author: Edjunior Machado -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# Copyright (c) 2021 Red Hat, Inc. -# -# This program is free software: you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation, either version 2 of -# the License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be -# useful, but WITHOUT ANY WARRANTY; without even the implied -# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR -# PURPOSE. See the GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see http://www.gnu.org/licenses/. -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -# Include Beaker environment -. /usr/share/beakerlib/beakerlib.sh || exit 1 - -PACKAGE="cppunit" - -rlJournalStart - rlPhaseStartSetup - rlAssertRpm $PACKAGE - rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory" - rlRun "cp hello.cpp $TmpDir" - rlRun "pushd $TmpDir" - rlPhaseEnd - - rlPhaseStartTest - rlRun "g++ -Wall -o hello hello.cpp -lcppunit" - rlAssertExists "hello" - rlRun "./hello > hello.log" - rlRun "cat hello.log" - rlAssertGrep 'Test::testAddition : OK' hello.log - rlRun "cat output.xml" - rlAssertGrep 'Test::testAddition' output.xml - rlPhaseEnd - - rlPhaseStartCleanup - rlRun "popd" - rlRun "rm -r $TmpDir" 0 "Removing tmp directory" - rlPhaseEnd -rlJournalPrintText -rlJournalEnd