SET(EXTRA_CFLAGS_common "${EXTRA_CFLAGS_common} ${flag}")
ENDFOREACH(flag)
+IF("${COVERAGE}" STREQUAL "on")
+ ADD_DEFINITIONS("-DTTRACE_COVERAGE")
+ENDIF()
+
ADD_LIBRARY(${TTRACE} SHARED ${SRCS_ttrace}
src/trace.c
)
+
SET_TARGET_PROPERTIES(${TTRACE} PROPERTIES SOVERSION ${MAJORVER})
SET_TARGET_PROPERTIES(${TTRACE} PROPERTIES VERSION ${FULLVER})
SET_TARGET_PROPERTIES(${TTRACE} PROPERTIES COMPILE_FLAGS ${EXTRA_CFLAGS_common})
BuildRequires: pkgconfig(gmock)
BuildRequires: cmake
+%if 0%{?gcov:1}
+BuildRequires: lcov
+%define TTRACE_COVERAGE on
+%else
+%define TTRACE_COVERAGE off
+%endif
+
%define keepstatic 1
# tizen_profile_name is for optional features that are not built in Tizen Public OBS.
%cmake . -DCMAKE_INSTALL_PREFIX=%{_prefix} -DLIBDIR=%{_libdir} -DINCLUDEDIR=%{_includedir} \
-DTTRACE_PROFILE=%{TTRACE_PROFILE} -DTTRACE_TIZEN_VERSION_MAJOR=%{TTRACE_TIZEN_VERSION_MAJOR} \
-DMAJORVER=${MAJORVER} -DFULLVER=%{version} \
- -DATRACE_VERSION=%{ATRACE_VERSION} -DATRACE_HELPER_VERSION=%{ATRACE_HELPER_VERSION}
+ -DATRACE_VERSION=%{ATRACE_VERSION} -DATRACE_HELPER_VERSION=%{ATRACE_HELPER_VERSION} \
+ -DCOVERAGE=%{TTRACE_COVERAGE}
make %{?jobs:-j%jobs}
%if 0%{?gcov:1}
%check
(cd test && LD_LIBRARY_PATH=../ ctest -V)
+%if 0%{?gcov:1}
+lcov -c --ignore-errors graph --no-external -q -d . -o ttrace.info
+genhtml ttrace.info -o ttrace.out
+%endif
%install
rm -rf %{buildroot}
if (g_trace_handle_fd < 0) {
TTRACE_LOG("Fail to open trace file: %s(%d)", strerror(errno), errno);
/*
- * If ftrace debugfs is not mounted, ttrace does not call traceInit() anymore.
- * we should decide how to handle if file permission is not given properly. keep try? or Nerver try agin?
+ * If ftrace debugfs is not mounted, ttrace does not call traceInit() anymore.
+ * we should decide how to handle if file permission is not given properly. keep try? or Nerver try agin?
*/
if (errno == ENOENT)
g_trace_handle_fd = TRACE_FILE_NOT_EXIST;
static inline uint64_t isTagEnabled(uint64_t cur_tag)
{
+#ifdef TTRACE_COVERAGE
+ return 1;
+#endif
+
if (g_trace_handle_fd == TRACE_FILE_NOT_EXIST)
return 0;
/* if no tag is enabled, trace all tags. */