You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tsfile.apache.org by ha...@apache.org on 2024/08/01 04:15:16 UTC
(tsfile) 01/01: try
This is an automated email from the ASF dual-hosted git repository.
haonan pushed a commit to branch code_coverage_v2
in repository https://gitbox.apache.org/repos/asf/tsfile.git
commit f2492e73f5aa2b2628f5e96c64df3874e2a8fb18
Author: HTHou <hh...@outlook.com>
AuthorDate: Thu Aug 1 12:14:52 2024 +0800
try
---
.github/workflows/code-coverage.yml | 15 ++++++++-------
cpp/CMakeLists.txt | 10 +++++++---
cpp/pom.xml | 9 +++++++++
cpp/src/CMakeLists.txt | 12 +++++++++---
cpp/test/CMakeLists.txt | 7 ++++++-
5 files changed, 39 insertions(+), 14 deletions(-)
diff --git a/.github/workflows/code-coverage.yml b/.github/workflows/code-coverage.yml
index 29076c3c..deda813a 100644
--- a/.github/workflows/code-coverage.yml
+++ b/.github/workflows/code-coverage.yml
@@ -3,6 +3,7 @@ on:
push:
branches:
- develop
+ - code_coverage_v2
paths-ignore:
- 'docs/**'
pull_request:
@@ -26,10 +27,10 @@ jobs:
restore-keys: ${{ runner.os }}-m2-
- name: Test
run: |
- ./mvnw -B -P with-java,with-cpp,with-python,with-code-coverage clean verify
- ./mvnw -B -P with-code-coverage post-integration-test
- - name: Upload coverage reports to codecov
- uses: codecov/codecov-action@v4
- with:
- token: ${{ secrets.CODECOV_TOKEN }}
- files: ./code-coverage/target/jacoco-merged-reports/jacoco.xml
+ ./mvnw -B -P with-cpp,with-code-coverage clean verify
+ ll cpp/target/build/test
+# - name: Upload coverage reports to codecov
+# uses: codecov/codecov-action@v4
+# with:
+# token: ${{ secrets.CODECOV_TOKEN }}
+# files: ./code-coverage/target/jacoco-merged-reports/jacoco.xml
diff --git a/cpp/CMakeLists.txt b/cpp/CMakeLists.txt
index afca5202..185b3905 100644
--- a/cpp/CMakeLists.txt
+++ b/cpp/CMakeLists.txt
@@ -33,7 +33,7 @@ if(DEFINED ENV{CXX})
message("cmake using: CXX=${CMAKE_CXX_COMPILER}")
endif()
-if(DEFINED ENV{CC})
+if(DEFINED ENV{CC})
set(CMAKE_C_COMPILER $ENV{CC})
message("cmake using: CC=${CMAKE_C_COMPILER}")
endif()
@@ -44,6 +44,11 @@ if (${DEBUG_SE})
message("add_definitions -DDEBUG_SE=1")
endif()
+if (${COV_ENABLED})
+ add_definitions(-DCOV_ENABLED=1)
+ message("add_definitions -DCOV_ENABLED=1")
+endif()
+
message("build type: ${BUILD_TYPE}")
if (CMAKE_BUILD_TYPE STREQUAL "Debug")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O0 -g")
@@ -74,8 +79,7 @@ configure_file(
"${PROJECT_BINARY_DIR}/cmake_config.h"
)
-set(TESTS_ENABLED OFF)
add_subdirectory(test)
if(TESTS_ENABLED)
add_dependencies(TsFile_Test tsfile)
-endif()
\ No newline at end of file
+endif()
diff --git a/cpp/pom.xml b/cpp/pom.xml
index 8f563255..2654abb2 100644
--- a/cpp/pom.xml
+++ b/cpp/pom.xml
@@ -69,7 +69,10 @@
<configuration>
<options>
<option>-DBUILD_PHASE=test-compile</option>
+ <option>${cmake.addition.option}</option>
</options>
+ <sourcePath/>
+ <targetPath/>
</configuration>
</execution>
<!-- Compile the test code -->
@@ -119,6 +122,12 @@
</plugins>
</build>
<profiles>
+ <profile>
+ <id>with-code-coverage</id>
+ <properties>
+ <cmake.addition.option>-DCOV_ENABLED=ON</cmake.addition.option>
+ </properties>
+ </profile>
<!-- When running on jenkins, download the sonar build-wrapper, so we can do a code analysis -->
<profile>
<id>jenkins-build</id>
diff --git a/cpp/src/CMakeLists.txt b/cpp/src/CMakeLists.txt
index 9f323c77..0d7825a1 100644
--- a/cpp/src/CMakeLists.txt
+++ b/cpp/src/CMakeLists.txt
@@ -18,7 +18,6 @@ under the License.
]]
message("Running in src diectory")
include(${PROJECT_SOURCE_DIR}/cmake/build_function.cmake)
-
add_subdirectory(common)
add_subdirectory(compress)
add_subdirectory(cwrapper)
@@ -29,7 +28,14 @@ add_subdirectory(utils)
add_subdirectory(writer)
add_library(tsfile SHARED)
-target_link_libraries(tsfile common_obj compress_obj cwrapper_obj file_obj read_obj write_obj )
+target_link_libraries(tsfile common_obj compress_obj cwrapper_obj file_obj read_obj write_obj)
+#if (${COV_ENABLED})
+# message("Enable code cov...")
+# target_link_libraries(tsfile common_obj compress_obj cwrapper_obj file_obj read_obj write_obj -L/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/15.0.0/lib/darwin -lclang_rt.profile_osx)
+#else()
+# message("Disable code cov...")
+# target_link_libraries(tsfile common_obj compress_obj cwrapper_obj file_obj read_obj write_obj)
+#endif()
set(LIBTSFILE_PROJECT_VERSION 1.0)
set(LIBTSFILE_SO_VERSION 1.0)
@@ -53,4 +59,4 @@ install(TARGETS tsfile LIBRARY DESTINATION ${LIBTSFILE_SDK_DIR})
# if(CMAKE_SYSTEM_NAME MATCHES "Darwin")
# add_custom_command(TARGET tsfile POST_BUILD COMMAND ${CMAKE_INSTALL_NAME_TOOL} -change `otool -L ${LIBRARY_OUTPUT_PATH}/libtsfile.dylib | grep liblz4 | sed 's/dylib.*/dylib/g'` ${my_lz4_lib} ${LIBRARY_OUTPUT_PATH}/libtsfile.dylib)
# add_custom_command(TARGET tsfile POST_BUILD COMMAND ${CMAKE_INSTALL_NAME_TOOL} -change `otool -L ${LIBRARY_OUTPUT_PATH}/libtsfile.dylib | grep libz | sed 's/dylib.*/dylib/g'` ${my_z_lib} ${LIBRARY_OUTPUT_PATH}/libtsfile.dylib)
-# endif()
\ No newline at end of file
+# endif()
diff --git a/cpp/test/CMakeLists.txt b/cpp/test/CMakeLists.txt
index 91fa71c5..6091e9ac 100644
--- a/cpp/test/CMakeLists.txt
+++ b/cpp/test/CMakeLists.txt
@@ -74,6 +74,11 @@ file(GLOB_RECURSE TEST_SRCS
"compress/*_test.cc"
"writer/*_test.cc"
)
+if (${COV_ENABLED})
+ message("Enable code cov...")
+ add_compile_options(-fprofile-instr-generate -fcoverage-mapping)
+endif ()
+
add_executable(TsFile_Test ${TEST_SRCS})
target_link_libraries(
TsFile_Test
@@ -84,4 +89,4 @@ target_link_libraries(
set_target_properties(TsFile_Test PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${LIBTSFILE_SDK_DIR})
include(GoogleTest)
-gtest_discover_tests(TsFile_Test)
\ No newline at end of file
+gtest_discover_tests(TsFile_Test)