#*************************************************************************** # _ _ ____ _ # Project ___| | | | _ \| | # / __| | | | |_) | | # | (__| |_| | _ <| |___ # \___|\___/|_| \_\_____| # # Copyright (C) Daniel Stenberg, , et al. # # This software is licensed as described in the file COPYING, which # you should have received as part of this distribution. The terms # are also available at https://curl.se/docs/copyright.html. # # You may opt to use, copy, modify, merge, publish, distribute and/or sell # copies of the Software, and permit persons to whom the Software is # furnished to do so, under the terms of the COPYING file. # # This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY # KIND, either express or implied. # # SPDX-License-Identifier: curl # ########################################################################### add_custom_target(testdeps) add_subdirectory(data) add_subdirectory(libtest) add_subdirectory(server) add_subdirectory(unit) function(add_runtests targetname test_flags) # Use a special '$TFLAGS' placeholder as last argument which will be # replaced by the contents of the environment variable in runtests.pl. # This is a workaround for CMake's limitation where commands executed by # 'make' or 'ninja' cannot portably reference environment variables. string(REPLACE " " ";" test_flags_list "${test_flags}") add_custom_target(${targetname} COMMAND "${PERL_EXECUTABLE}" "${CMAKE_CURRENT_SOURCE_DIR}/runtests.pl" ${test_flags_list} "\$TFLAGS" DEPENDS testdeps VERBATIM USES_TERMINAL ) endfunction() add_runtests(test-quiet "-a -s") add_runtests(test-am "-a -am") add_runtests(test-full "-a -p -r") # !flaky means that it'll skip all tests using the flaky keyword add_runtests(test-nonflaky "-a -p !flaky") add_runtests(test-ci "-a -p !flaky -r -rm") add_runtests(test-torture "-a -t") add_runtests(test-event "-a -e")