summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEdward Thomson <ethomson@edwardthomson.com>2018-08-24 11:23:19 +0100
committerEdward Thomson <ethomson@edwardthomson.com>2018-09-06 11:18:58 +0100
commita2d73f5643814cddf90d5bf489332e14ada89ab8 (patch)
tree5995ec7f805d26cf85aaddbf8277d7fa3b3f07fe
parentbaa5c20d0815441cac2d2135d2b0190cb543e637 (diff)
downloadlibgit2-a2d73f5643814cddf90d5bf489332e14ada89ab8.tar.gz
clar: introduce CLAR_XML option
Introduce a CLAR_XML option, to run the `ctest` commands with the new `-r` flag to clar. Permitted values are `OFF`, `ON` and a directory to write the XML test results to.
-rw-r--r--CMakeLists.txt2
-rw-r--r--tests/CMakeLists.txt24
2 files changed, 21 insertions, 5 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index d9c0a1fbf..a888c5a5f 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -62,6 +62,8 @@ OPTION(USE_EXT_HTTP_PARSER "Use system HTTP_Parser if available" ON)
OPTION(DEBUG_POOL "Enable debug pool allocator" OFF)
OPTION(ENABLE_WERROR "Enable compilation with -Werror" OFF)
OPTION(USE_BUNDLED_ZLIB "Use the bundled version of zlib" OFF)
+ SET(CLAR_XML "OFF" CACHE STRING
+ "Writes test results in XML format. One of ON, OFF or the directory to write to; this does not affect the output executables, this only affects the behavior of the ctest command.")
IF (UNIX AND NOT APPLE)
OPTION(ENABLE_REPRODUCIBLE_BUILDS "Enable reproducible builds" OFF)
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
index 950250418..792e6b5ff 100644
--- a/tests/CMakeLists.txt
+++ b/tests/CMakeLists.txt
@@ -54,8 +54,22 @@ IF (MSVC_IDE)
SET_SOURCE_FILES_PROPERTIES("precompiled.c" COMPILE_FLAGS "/Ycprecompiled.h")
ENDIF ()
-ADD_TEST(offline "${libgit2_BINARY_DIR}/libgit2_clar" -v -xonline)
-ADD_TEST(online "${libgit2_BINARY_DIR}/libgit2_clar" -v -sonline)
-ADD_TEST(gitdaemon "${libgit2_BINARY_DIR}/libgit2_clar" -v -sonline::push)
-ADD_TEST(ssh "${libgit2_BINARY_DIR}/libgit2_clar" -v -sonline::push -sonline::clone::ssh_cert -sonline::clone::ssh_with_paths)
-ADD_TEST(proxy "${libgit2_BINARY_DIR}/libgit2_clar" -v -sonline::clone::proxy_credentials_in_url -sonline::clone::proxy_credentials_request)
+IF (CLAR_XML)
+ IF (CLAR_XML STREQUAL "ON")
+ SET(XML_PATH "")
+ ELSE ()
+ SET(XML_PATH "${CLAR_XML}/")
+ ENDIF ()
+
+ SET(TESTS_OFFLINE_XML "-r${XML_PATH}results_offline.xml")
+ SET(TESTS_ONLINE_XML "-r${XML_PATH}results_online.xml")
+ SET(TESTS_GITDAEMON_XML "-r${XML_PATH}results_gitdaemon.xml")
+ SET(TESTS_SSH_XML "-r${XML_PATH}results_ssh.xml")
+ SET(TESTS_PROXY_XML "-r${XML_PATH}results_proxy.xml")
+ENDIF ()
+
+ADD_TEST(offline "${libgit2_BINARY_DIR}/libgit2_clar" -v ${TESTS_OFFLINE_XML} -xonline)
+ADD_TEST(online "${libgit2_BINARY_DIR}/libgit2_clar" -v ${TESTS_ONLINE_XML} -sonline)
+ADD_TEST(gitdaemon "${libgit2_BINARY_DIR}/libgit2_clar" -v ${TESTS_GITDAEMON_XML} -sonline::push)
+ADD_TEST(ssh "${libgit2_BINARY_DIR}/libgit2_clar" -v ${TESTS_SSH_XML} -sonline::push -sonline::clone::ssh_cert -sonline::clone::ssh_with_paths)
+ADD_TEST(proxy "${libgit2_BINARY_DIR}/libgit2_clar" -v ${TESTS_PROXY_XML} -sonline::clone::proxy_credentials_in_url -sonline::clone::proxy_credentials_request)