mirror of
https://gitlab.kitware.com/vtk/vtk-m
synced 2024-10-08 03:18:58 +00:00
80 lines
2.3 KiB
CMake
80 lines
2.3 KiB
CMake
##=============================================================================
|
|
##
|
|
## Copyright (c) Kitware, Inc.
|
|
## All rights reserved.
|
|
## See LICENSE.txt for details.
|
|
##
|
|
## This software is distributed WITHOUT ANY WARRANTY; without even
|
|
## the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
|
## PURPOSE. See the above copyright notice for more information.
|
|
##
|
|
##=============================================================================
|
|
|
|
# We need this CMake versions for tests
|
|
cmake_minimum_required(VERSION 3.12..3.15 FATAL_ERROR)
|
|
|
|
# Read the files from the build directory that contain
|
|
# host information ( name, parallel level, etc )
|
|
include("$ENV{CI_PROJECT_DIR}/build/CIState.cmake")
|
|
ctest_read_custom_files("${CTEST_BINARY_DIRECTORY}")
|
|
|
|
# Pick up from where the configure left off.
|
|
ctest_start(APPEND)
|
|
|
|
set(test_exclusions
|
|
# placeholder for tests to exclude provided by the env
|
|
$ENV{CTEST_EXCLUSIONS}
|
|
)
|
|
|
|
string(REPLACE " " ";" test_exclusions "${test_exclusions}")
|
|
string(REPLACE ";" "|" test_exclusions "${test_exclusions}")
|
|
if (test_exclusions)
|
|
set(test_exclusions EXCLUDE "(${test_exclusions})")
|
|
endif ()
|
|
|
|
if (CMAKE_VERSION VERSION_GREATER_EQUAL 3.21)
|
|
set(junit_args OUTPUT_JUNIT "${CTEST_BINARY_DIRECTORY}/junit.xml")
|
|
endif()
|
|
|
|
if (CMAKE_VERSION VERSION_GREATER_EQUAL 3.17)
|
|
set(repeat_args REPEAT "UNTIL_PASS:${CTEST_REPEAT_UNTIL_PASS}")
|
|
endif()
|
|
|
|
set(PARALLEL_LEVEL "10")
|
|
if (DEFINED ENV{CTEST_MAX_PARALLELISM})
|
|
set(PARALLEL_LEVEL $ENV{CTEST_MAX_PARALLELISM})
|
|
endif()
|
|
|
|
if (DEFINED ENV{TEST_INCLUSIONS})
|
|
set(test_inclusions INCLUDE $ENV{TEST_INCLUSIONS})
|
|
unset(test_exclusions)
|
|
endif()
|
|
|
|
|
|
ctest_test(APPEND
|
|
PARALLEL_LEVEL ${PARALLEL_LEVEL}
|
|
RETURN_VALUE test_result
|
|
${test_exclusions}
|
|
${test_inclusions}
|
|
${repeat_args}
|
|
${junit_args}
|
|
)
|
|
message(STATUS "ctest_test RETURN_VALUE: ${test_result}")
|
|
|
|
if(VTKm_ENABLE_PERFORMANCE_TESTING)
|
|
file(GLOB note_files
|
|
"${CTEST_BINARY_DIRECTORY}/benchmark_*.stdout"
|
|
"${CTEST_BINARY_DIRECTORY}/compare_*.stdout"
|
|
"${CTEST_BINARY_DIRECTORY}/$ENV{CI_COMMIT_SHA}_*.json")
|
|
list(APPEND CTEST_NOTES_FILES ${note_files})
|
|
endif()
|
|
|
|
if(NOT DEFINED ENV{GITLAB_CI_EMULATION})
|
|
ctest_submit(PARTS Test Notes)
|
|
message(STATUS "Test submission done")
|
|
endif()
|
|
|
|
if (test_result)
|
|
message(FATAL_ERROR "Failed to test")
|
|
endif ()
|