]> git.ipfire.org Git - thirdparty/snapper.git/commitdiff
In Travis, build with coverage enabled
authorMartin Vidner <mvidner@suse.cz>
Fri, 10 Jan 2020 11:50:02 +0000 (12:50 +0100)
committerMartin Vidner <mvidner@suse.cz>
Fri, 10 Jan 2020 13:11:12 +0000 (14:11 +0100)
.travis.tumbleweed.sh
Dockerfile.tumbleweed
snapper.spec.in

index 8e3a8605904470df56cd82a187604007f2800978..526ed0fc2f56367392347b6ef2208b8c8de15581 100755 (executable)
@@ -13,7 +13,7 @@ make package
 # Moreover it does not work in a Docker container (it fails when trying to mount
 # /proc and /sys in the chroot).
 cp package/* /usr/src/packages/SOURCES/
-rpmbuild -bb -D "jobs `nproc`" package/*.spec
+rpmbuild -bb --with coverage -D "jobs `nproc`" package/*.spec
 
 # test the %pre/%post scripts by installing/updating/removing the built packages
 # ignore the dependencies to make the test easier, as a smoke test it's good enough
@@ -22,10 +22,16 @@ rpm -iv --force --nodeps /usr/src/packages/RPMS/*/*.rpm
 # smoke test, make sure snapper at least starts
 snapper --version
 
-# run the integration test
-cd /usr/lib*/snapper/testsuite
+# Run the integration test
+# Running it in the source tree ensures that the coverage report finds it
+pushd /usr/src/packages/BUILD/snapper-*/testsuite-real
 ./setup-and-run-all
-cd -
+popd
+
+# Coverage report
+pushd /usr/src/packages/BUILD/snapper-*
+make coverage
+popd
 
 rpm -Uv --force --nodeps /usr/src/packages/RPMS/*/*.rpm
 # get the plain package names and remove all packages at once
index 49598155e21773bc2639b2743b985148e6ca653e..75ec506677b265006efd060ab6d64d27db00b48d 100644 (file)
@@ -17,6 +17,7 @@ RUN RUBY_VERSION=ruby:`rpm --eval '%{rb_ver}'` && \
   e2fsprogs-devel \
   gcc-c++ \
   grep \
+  lcov \
   libacl-devel \
   libboost_system-devel \
   libboost_test-devel \
@@ -29,6 +30,7 @@ RUN RUBY_VERSION=ruby:`rpm --eval '%{rb_ver}'` && \
   libxslt \
   obs-service-source_validator \
   pam-devel \
+  perl-JSON \
   rpm-build \
   "rubygem($RUBY_VERSION:ruby-dbus)" \
   which
index 226a5b88802657c1998b891c6713a870d7523cbb..49ce5bd865c4c8e5fe245638a5bc3ea6c97c9e2c 100644 (file)
@@ -20,6 +20,9 @@
   %define _fillupdir /var/adm/fillup-templates
 %endif
 
+# optionally build with test coverage reporting
+%bcond_with coverage
+
 Name:           snapper
 Version:        @VERSION@
 Release:        0
@@ -76,6 +79,9 @@ BuildRequires:  json-c-devel
 %else
 BuildRequires:  libjson-c-devel
 %endif
+%if %{with coverage}
+BuildRequires:  lcov
+%endif
 Requires:       diffutils
 Requires:       libsnapper@LIBVERSION_MAJOR@ = %version
 %if 0%{?suse_version}
@@ -100,6 +106,9 @@ export CXXFLAGS="%{optflags} -DNDEBUG"
 autoreconf -fi
 %configure \
        --docdir="%{_defaultdocdir}/snapper"                            \
+%if %{with coverage}
+       --enable-coverage \
+%endif
 %if 0%{?suse_version} <= 1310
        --disable-rollback                                                      \
 %endif