Coverage only mode 68/235868/3
authorKrzysztof Jackiewicz <k.jackiewicz@samsung.com>
Fri, 22 May 2020 14:47:26 +0000 (16:47 +0200)
committerKrzysztof Jackiewicz <k.jackiewicz@samsung.com>
Mon, 15 Jun 2020 15:08:08 +0000 (17:08 +0200)
Additional "COVERAGE_ONLY" build type for skipping key-manager binaries and
RPMs. Translates to debug build with additional "coverage_only" flag.

Build key-manager with --define "build_type COVERAGE_ONLY".

Change-Id: I1e4a762b14d611ea6ad170f8b63f13af541fd8b1

CMakeLists.txt
packaging/key-manager.spec

index 339b05d..cf33344 100644 (file)
@@ -124,6 +124,7 @@ PKG_CHECK_MODULES(KEY_MANAGER_DEP
     ${EXTRA_KM_DEPS}
 )
 
+IF (NOT DEFINED COVERAGE_ONLY)
 ADD_SUBDIRECTORY(data)
 ADD_SUBDIRECTORY(doc)
 ADD_SUBDIRECTORY(src)
@@ -131,4 +132,6 @@ ADD_SUBDIRECTORY(build)
 ADD_SUBDIRECTORY(systemd)
 ADD_SUBDIRECTORY(misc)
 ADD_SUBDIRECTORY(upgrade)
+ENDIF (NOT DEFINED COVERAGE_ONLY)
+
 ADD_SUBDIRECTORY(unit-tests)
\ No newline at end of file
index c787dd3..5ec0938 100644 (file)
@@ -3,6 +3,11 @@
 %global watchdog_notify_sec  20
 %global tz_backend_enabled %{?tz_backend:%tz_backend}%{!?tz_backend:OFF}
 %{!?build_type:%global build_type RELEASE}
+%global coverage_only 0
+%if %{build_type} == COVERAGE_ONLY
+    %global build_type DEBUG
+    %global coverage_only 1
+%endif
 
 Name:       key-manager
 Summary:    Central Key Manager and utilities
@@ -209,12 +214,20 @@ export LDFLAGS+="-Wl,--rpath=%{_libdir},-Bsymbolic-functions"
         -DUNIT_TESTS_DIR=%{unit_tests_dir} \
         -DMISC_DIR=%{misc_dir} \
         -DCOVERAGE_DIR=%{coverage_dir} \
+%if %{coverage_only}
+        -DCOVERAGE_ONLY=ON \
+%endif
         -DDUMP_LEGACY_DB_LIBNAME=%{dump_legacy_db_libname}
 
 make %{?jobs:-j%jobs}
 
 %install
 %make_install
+
+###############################################################################
+%if ! %{coverage_only}
+###############################################################################
+
 %install_service multi-user.target.wants central-key-manager.service
 %install_service sockets.target.wants central-key-manager-api-control.socket
 %install_service sockets.target.wants central-key-manager-api-storage.socket
@@ -222,6 +235,10 @@ make %{?jobs:-j%jobs}
 %install_service sockets.target.wants central-key-manager-api-encryption.socket
 cp -a %{SOURCE1001} %{SOURCE1002} %{SOURCE1003} %{SOURCE1004} %{buildroot}%{_datadir}/
 
+#################### ! %{coverage_only} #######################################
+%endif
+###############################################################################
+
 %pre
 # tzplatform-get sync breaked because of on-development situation. comment out just for temporary
 # fail if runtime dir variable is different than compilation time variable
@@ -292,6 +309,10 @@ fi
 %postun -n libkey-manager-common -p %{sbin_dir}/ldconfig
 %postun -n libkey-manager-client -p %{sbin_dir}/ldconfig
 
+###############################################################################
+%if ! %{coverage_only}
+###############################################################################
+
 %files -n key-manager
 %manifest key-manager.manifest
 %license LICENSE
@@ -372,6 +393,10 @@ fi
 %{bin_dir}/ckm_generate_db
 %misc_dir
 
+#################### ! %{coverage_only} #######################################
+%endif
+###############################################################################
+
 %files -n key-manager-unit-tests
 %manifest key-manager-unit-tests.manifest
 %license LICENSE