Skip to content

Commit

Permalink
Merge pull request rafaelsteil#43 from LeSpocky/tests
Browse files Browse the repository at this point in the history
Remove valgrind tests, let CTest/CDash do that
  • Loading branch information
LeSpocky authored Jul 12, 2018
2 parents 1ad46b6 + 413205b commit 51a4bc0
Show file tree
Hide file tree
Showing 3 changed files with 62 additions and 105 deletions.
1 change: 1 addition & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ add_subdirectory("src")

# test
enable_testing()
include(CTest)
add_subdirectory("test")

# cmake package stuff
Expand Down
29 changes: 29 additions & 0 deletions contrib/libcgi.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
set(CTEST_PROJECT_NAME "libcgi")
set(CTEST_NIGHTLY_START_TIME "01:00:00 UTC")

set(CTEST_SITE "tiffy")
set(CTEST_SOURCE_DIRECTORY "/home/alex/src/libcgi")
set(CTEST_BINARY_DIRECTORY "build/${CTEST_PROJECT_NAME}")

set(ENV{CFLAGS} "--coverage")
set(CTEST_CMAKE_GENERATOR "Unix Makefiles")
set(CTEST_USE_LAUNCHERS 1)

set(CTEST_COVERAGE_COMMAND "gcov")
set(CTEST_MEMORYCHECK_COMMAND "/usr/bin/valgrind")

#set(CTEST_MEMORYCHECK_TYPE "ThreadSanitizer")

set(CTEST_DROP_METHOD "http")
set(CTEST_DROP_SITE "localhost")
set(CTEST_DROP_LOCATION "/cdash/submit.php?project=${CTEST_PROJECT_NAME}")
set(CTEST_DROP_SITE_CDASH TRUE)

#ctest_start("Continuous")
ctest_start("Experimental")
ctest_configure()
ctest_build()
ctest_test()
ctest_coverage()
ctest_memcheck()
#ctest_submit()
137 changes: 32 additions & 105 deletions test/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -10,23 +10,23 @@ add_executable(cgi-test
target_link_libraries(cgi-test
${PROJECT_NAME}
)
add_test(escape_special_chars
cgi-test escape_special_chars
add_test(NAME cgi_escape_special_chars
COMMAND cgi-test escape_special_chars
)
add_test(process_data
cgi-test process_data
add_test(NAME cgi_process_data
COMMAND cgi-test process_data
)
add_test(param_multiple
cgi-test param_multiple
add_test(NAME cgi_param_multiple
COMMAND cgi-test param_multiple
)
add_test(process_form
cgi-test process_form
add_test(NAME cgi_process_form
COMMAND cgi-test process_form
)
add_test(ltrim
cgi-test ltrim
add_test(NAME cgi_ltrim
COMMAND cgi-test ltrim
)
add_test(rtrim
cgi-test rtrim
add_test(NAME cgi_rtrim
COMMAND cgi-test rtrim
)

# slist
Expand All @@ -37,26 +37,26 @@ add_executable(cgi-test-slist
target_link_libraries(cgi-test-slist
${PROJECT_NAME}
)
add_test(slist_add
cgi-test-slist add
add_test(NAME cgi_slist_add
COMMAND cgi-test-slist add
)
add_test(slist_delete_zero
cgi-test-slist deletezero
add_test(NAME cgi_slist_delete_zero
COMMAND cgi-test-slist deletezero
)
add_test(slist_delete_one
cgi-test-slist deleteone
add_test(NAME cgi_slist_delete_one
COMMAND cgi-test-slist deleteone
)
add_test(slist_delete_two
cgi-test-slist deletetwo
add_test(NAME cgi_slist_delete_two
COMMAND cgi-test-slist deletetwo
)
add_test(slist_delete_three
cgi-test-slist deletethree
add_test(NAME cgi_slist_delete_three
COMMAND cgi-test-slist deletethree
)
add_test(slist_get_item
cgi-test-slist get
add_test(NAME cgi_slist_get_item
COMMAND cgi-test-slist get
)
add_test(slist_process_data
cgi-test-slist processdata
add_test(NAME cgi_slist_process_data
COMMAND cgi-test-slist processdata
)

# trim
Expand All @@ -68,85 +68,12 @@ add_executable(cgi-test-trim
target_link_libraries(cgi-test-trim
${PROJECT_NAME}
)
add_test(test_ltrim
cgi-test-trim ltrim
add_test(NAME cgi_trim_ltrim
COMMAND cgi-test-trim ltrim
)
add_test(test_rtrim
cgi-test-trim rtrim
add_test(NAME cgi_trim_rtrim
COMMAND cgi-test-trim rtrim
)
add_test(test_trim
cgi-test-trim trim
add_test(NAME cgi_trim_trim
COMMAND cgi-test-trim trim
)

# additional tests with valgrind
find_program(VALGRIND NAMES valgrind)
if(NOT VALGRIND-NOTFOUND)
message(STATUS "VALGRIND: ${VALGRIND}")

add_test(NAME valgrind_escape_special_chars
COMMAND ${VALGRIND} --leak-check=full --error-exitcode=1
$<TARGET_FILE:cgi-test> escape_special_chars
)
add_test(NAME valgrind_process_data
COMMAND ${VALGRIND} --leak-check=full --error-exitcode=1
$<TARGET_FILE:cgi-test> process_data
)
add_test(NAME valgrind_param_multiple
COMMAND ${VALGRIND} --leak-check=full --error-exitcode=1
$<TARGET_FILE:cgi-test> param_multiple
)
add_test(NAME valgrind_process_form
COMMAND ${VALGRIND} --leak-check=full --error-exitcode=1
$<TARGET_FILE:cgi-test> process_form
)
add_test(NAME valgrind_ltrim
COMMAND ${VALGRIND} --leak-check=full --error-exitcode=1
$<TARGET_FILE:cgi-test> ltrim
)
add_test(NAME valgrind_rtrim
COMMAND ${VALGRIND} --leak-check=full --error-exitcode=1
$<TARGET_FILE:cgi-test> rtrim
)

add_test(NAME valgrind_slist_add
COMMAND ${VALGRIND} --leak-check=full --error-exitcode=1
$<TARGET_FILE:cgi-test-slist> add
)
add_test(NAME valgrind_slist_delete_zero
COMMAND ${VALGRIND} --leak-check=full --error-exitcode=1
$<TARGET_FILE:cgi-test-slist> deletezero
)
add_test(NAME valgrind_slist_delete_one
COMMAND ${VALGRIND} --leak-check=full --error-exitcode=1
$<TARGET_FILE:cgi-test-slist> deleteone
)
add_test(NAME valgrind_slist_delete_two
COMMAND ${VALGRIND} --leak-check=full --error-exitcode=1
$<TARGET_FILE:cgi-test-slist> deletetwo
)
add_test(NAME valgrind_slist_delete_three
COMMAND ${VALGRIND} --leak-check=full --error-exitcode=1
$<TARGET_FILE:cgi-test-slist> deletethree
)
add_test(NAME valgrind_slist_get_item
COMMAND ${VALGRIND} --leak-check=full --error-exitcode=1
$<TARGET_FILE:cgi-test-slist> get
)
add_test(NAME valgrind_slist_process_data
COMMAND ${VALGRIND} --leak-check=full --error-exitcode=1
$<TARGET_FILE:cgi-test-slist> processdata
)

add_test(NAME valgrind_test_ltrim
COMMAND ${VALGRIND} --leak-check=full --error-exitcode=1
$<TARGET_FILE:cgi-test-trim> ltrim
)
add_test(NAME valgrind_test_rtrim
COMMAND ${VALGRIND} --leak-check=full --error-exitcode=1
$<TARGET_FILE:cgi-test-trim> rtrim
)
add_test(NAME valgrind_test_trim
COMMAND ${VALGRIND} --leak-check=full --error-exitcode=1
$<TARGET_FILE:cgi-test-trim> trim
)
endif(NOT VALGRIND-NOTFOUND)

0 comments on commit 51a4bc0

Please sign in to comment.