190 lines
6.5 KiB
Diff
190 lines
6.5 KiB
Diff
|
|
From cb27a1612fdba43b94e9af1232da4378205c4c8a Mon Sep 17 00:00:00 2001
|
||
|
|
From: haozi007 <liuhao27@huawei.com>
|
||
|
|
Date: Sat, 13 Jun 2020 10:32:28 +0800
|
||
|
|
Subject: [PATCH 08/10] change tests name
|
||
|
|
|
||
|
|
1. change name of tests
|
||
|
|
2. default to run tests after build
|
||
|
|
3. use option to manage gcov
|
||
|
|
|
||
|
|
Signed-off-by: haozi007 <liuhao27@huawei.com>
|
||
|
|
---
|
||
|
|
CMakeLists.txt | 6 +--
|
||
|
|
cmake/checker.cmake | 2 +-
|
||
|
|
cmake/set_build_flags.cmake | 4 +-
|
||
|
|
src/CMakeLists.txt | 4 --
|
||
|
|
tests/CMakeLists.txt | 54 ++++++++++++++---------
|
||
|
|
tests/{json_llt.cpp => libocispec_ut.cpp} | 4 +-
|
||
|
|
tests/{log_llt.cpp => log_ut.cpp} | 0
|
||
|
|
7 files changed, 39 insertions(+), 35 deletions(-)
|
||
|
|
rename tests/{json_llt.cpp => libocispec_ut.cpp} (97%)
|
||
|
|
rename tests/{log_llt.cpp => log_ut.cpp} (100%)
|
||
|
|
|
||
|
|
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||
|
|
index dcb4232..53e985f 100644
|
||
|
|
--- a/CMakeLists.txt
|
||
|
|
+++ b/CMakeLists.txt
|
||
|
|
@@ -85,10 +85,8 @@ add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/third_party)
|
||
|
|
|
||
|
|
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/src)
|
||
|
|
|
||
|
|
-# llt and gcoverage
|
||
|
|
-if (LCR_GCOV)
|
||
|
|
- add_subdirectory(tests)
|
||
|
|
-endif()
|
||
|
|
+# ut and gcoverage
|
||
|
|
+add_subdirectory(tests)
|
||
|
|
|
||
|
|
# install all files
|
||
|
|
install(FILES ${CMAKE_BINARY_DIR}/conf/lcr.pc
|
||
|
|
diff --git a/cmake/checker.cmake b/cmake/checker.cmake
|
||
|
|
index 20ad917..7f8e9cc 100644
|
||
|
|
--- a/cmake/checker.cmake
|
||
|
|
+++ b/cmake/checker.cmake
|
||
|
|
@@ -69,7 +69,7 @@ find_library(LIBYAJL_LIBRARY yajl
|
||
|
|
HINTS ${PC_LIBYAJL_LIBDIR} ${PC_LIBYAJL_LIBRARY_DIRS})
|
||
|
|
_CHECK(LIBYAJL_LIBRARY "LIBYAJL_LIBRARY-NOTFOUND" "libyajl.so")
|
||
|
|
|
||
|
|
-if (LCR_GCOV)
|
||
|
|
+if (ENABLE_GCOV)
|
||
|
|
pkg_check_modules(PC_GTEST "gtest")
|
||
|
|
find_path(GTEST_INCLUDE_DIR gtest/gtest.h
|
||
|
|
HINTS ${PC_GTEST_INCLUDEDIR} ${PC_GTEST_INCLUDE_DIRS})
|
||
|
|
diff --git a/cmake/set_build_flags.cmake b/cmake/set_build_flags.cmake
|
||
|
|
index 9aab5e1..87cab3e 100644
|
||
|
|
--- a/cmake/set_build_flags.cmake
|
||
|
|
+++ b/cmake/set_build_flags.cmake
|
||
|
|
@@ -29,8 +29,8 @@ set(CMAKE_EXE_LINKER_FLAGS "-Wl,-E -Wl,-z,relro -Wl,-z,now -Wl,-z,noexecstack -W
|
||
|
|
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D__FILENAME__='\"$(subst ${CMAKE_SOURCE_DIR}/,,$(abspath $<))\"'")
|
||
|
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D__FILENAME__='\"$(subst ${CMAKE_SOURCE_DIR}/,,$(abspath $<))\"'")
|
||
|
|
|
||
|
|
-option(LCR_GCOV "set lcr gcov option" OFF)
|
||
|
|
-if (LCR_GCOV)
|
||
|
|
+option(ENABLE_GCOV "set lcr gcov option" OFF)
|
||
|
|
+if (ENABLE_GCOV)
|
||
|
|
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -fprofile-arcs -ftest-coverage")
|
||
|
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -fprofile-arcs -ftest-coverage")
|
||
|
|
SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -lgcov")
|
||
|
|
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
|
||
|
|
index 5e09c93..6ed2d95 100644
|
||
|
|
--- a/src/CMakeLists.txt
|
||
|
|
+++ b/src/CMakeLists.txt
|
||
|
|
@@ -103,10 +103,6 @@ if (CMAKE_TOOLCHAIN_FILE)
|
||
|
|
target_link_libraries(liblcr ${EXTRAL_LINK_LIBS})
|
||
|
|
endif()
|
||
|
|
|
||
|
|
-if (LCR_GCOV)
|
||
|
|
- target_link_libraries(liblcr -lgcov)
|
||
|
|
-endif()
|
||
|
|
-
|
||
|
|
# install all files
|
||
|
|
install(TARGETS liblcr
|
||
|
|
LIBRARY DESTINATION ${LIB_INSTALL_DIR_DEFAULT} PERMISSIONS OWNER_READ OWNER_EXECUTE GROUP_READ GROUP_EXECUTE)
|
||
|
|
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
|
||
|
|
index ca6d164..58a6fad 100644
|
||
|
|
--- a/tests/CMakeLists.txt
|
||
|
|
+++ b/tests/CMakeLists.txt
|
||
|
|
@@ -61,38 +61,48 @@ endmacro()
|
||
|
|
|
||
|
|
# --------------- testcase add here -----------------
|
||
|
|
# api testcase
|
||
|
|
-_DEFINE_NEW_TEST(log_llt log_testcase)
|
||
|
|
-_DEFINE_NEW_TEST(json_llt json_testcase)
|
||
|
|
+_DEFINE_NEW_TEST(log_ut log_testcase)
|
||
|
|
+_DEFINE_NEW_TEST(libocispec_ut json_testcase)
|
||
|
|
+
|
||
|
|
|
||
|
|
# mock test for run lcov to generate html
|
||
|
|
-add_executable(mock_llt main.cpp)
|
||
|
|
-target_include_directories(mock_llt PUBLIC
|
||
|
|
+add_executable(mock_ut main.cpp)
|
||
|
|
+target_include_directories(mock_ut PUBLIC
|
||
|
|
${GTEST_INCLUDE_DIR}
|
||
|
|
PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}
|
||
|
|
)
|
||
|
|
-target_link_libraries(mock_llt
|
||
|
|
+target_link_libraries(mock_ut
|
||
|
|
gtest
|
||
|
|
pthread
|
||
|
|
)
|
||
|
|
-add_dependencies(mock_llt log_llt json_llt)
|
||
|
|
-
|
||
|
|
-set(result isula_libutils.info)
|
||
|
|
-set(result_dir lcr_gcovs)
|
||
|
|
-set(target_dir src/CMakeFiles/isula_libutils.dir)
|
||
|
|
+add_dependencies(mock_ut log_ut libocispec_ut)
|
||
|
|
|
||
|
|
-# generate gcov
|
||
|
|
+# run ut and gcov
|
||
|
|
+if (ENABLE_GCOV)
|
||
|
|
+ set(result isula_libutils.info)
|
||
|
|
+ set(result_dir lcr_gcovs)
|
||
|
|
+ set(target_dir src/CMakeFiles/isula_libutils.dir)
|
||
|
|
|
||
|
|
-add_custom_command(TARGET mock_llt
|
||
|
|
- POST_BUILD
|
||
|
|
- COMMAND ${CMAKE_COMMAND} -E remove -f ${result}
|
||
|
|
- COMMAND ${CMAKE_COMMAND} -E make_directory ${result_dir}
|
||
|
|
- COMMAND "ctest"
|
||
|
|
- COMMAND ${CMD_LCOV} --gcov-tool ${CMD_GCOV} --exclude "/usr/*" --exclude "*/src/utils.c" --exclude "*/json/*" -d ${CMAKE_BINARY_DIR}/${target_dir} -c -o ${result}
|
||
|
|
- COMMAND ${CMD_GENHTML} --ignore-errors source -o ${result_dir} ${result}
|
||
|
|
- COMMAND ${CMAKE_COMMAND} -E echo LLT finish
|
||
|
|
- VERBATIM
|
||
|
|
- WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/tests
|
||
|
|
- )
|
||
|
|
+ add_custom_command(TARGET mock_ut
|
||
|
|
+ POST_BUILD
|
||
|
|
+ COMMAND ${CMAKE_COMMAND} -E remove -f ${result}
|
||
|
|
+ COMMAND ${CMAKE_COMMAND} -E make_directory ${result_dir}
|
||
|
|
+ COMMAND "ctest"
|
||
|
|
+ COMMAND ${CMD_LCOV} --gcov-tool ${CMD_GCOV} --exclude "/usr/*" --exclude "*/src/utils.c" --exclude "*/json/*" -d ${CMAKE_BINARY_DIR}/${target_dir} -c -o ${result}
|
||
|
|
+ COMMAND ${CMD_GENHTML} --ignore-errors source -o ${result_dir} ${result}
|
||
|
|
+ COMMAND ${CMAKE_COMMAND} -E echo run gcov finish
|
||
|
|
+ VERBATIM
|
||
|
|
+ WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/tests
|
||
|
|
+ )
|
||
|
|
+else()
|
||
|
|
+ add_custom_command(TARGET mock_ut
|
||
|
|
+ PRE_BUILD
|
||
|
|
+ COMMAND "ctest"
|
||
|
|
+ COMMAND ${CMAKE_COMMAND} -E echo UT finish
|
||
|
|
+ VERBATIM
|
||
|
|
+ WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/tests
|
||
|
|
+ )
|
||
|
|
+endif()
|
||
|
|
|
||
|
|
# --------------- testcase add finish -----------------
|
||
|
|
|
||
|
|
diff --git a/tests/json_llt.cpp b/tests/libocispec_ut.cpp
|
||
|
|
similarity index 97%
|
||
|
|
rename from tests/json_llt.cpp
|
||
|
|
rename to tests/libocispec_ut.cpp
|
||
|
|
index 9622ed4..58a1f52 100644
|
||
|
|
--- a/tests/json_llt.cpp
|
||
|
|
+++ b/tests/libocispec_ut.cpp
|
||
|
|
@@ -30,7 +30,7 @@
|
||
|
|
#include "read_file.h"
|
||
|
|
#include "oci_runtime_hooks.h"
|
||
|
|
|
||
|
|
-TEST(json_testcase, test_oci_runtime_spec_hooks)
|
||
|
|
+TEST(libocispec_testcase, test_oci_runtime_spec_hooks)
|
||
|
|
{
|
||
|
|
const char *fname = "./ocihook.json";
|
||
|
|
oci_runtime_spec_hooks *hooks = nullptr;
|
||
|
|
@@ -79,7 +79,7 @@ TEST(json_testcase, test_oci_runtime_spec_hooks)
|
||
|
|
free(jstr);
|
||
|
|
}
|
||
|
|
|
||
|
|
-TEST(json_testcase, test_json_readfile)
|
||
|
|
+TEST(libocispec_testcase, test_json_readfile)
|
||
|
|
{
|
||
|
|
const char *fname = "./ocihook.json";
|
||
|
|
const char *not_exist = "/tmp/not_exist.json";
|
||
|
|
diff --git a/tests/log_llt.cpp b/tests/log_ut.cpp
|
||
|
|
similarity index 100%
|
||
|
|
rename from tests/log_llt.cpp
|
||
|
|
rename to tests/log_ut.cpp
|
||
|
|
--
|
||
|
|
2.25.1
|
||
|
|
|