forked from lanl/Draco
-
Notifications
You must be signed in to change notification settings - Fork 0
/
CTestCustom.cmake
156 lines (127 loc) · 5.56 KB
/
CTestCustom.cmake
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
#-----------------------------*-cmake-*----------------------------------------#
# file CTestCustom.cmake
# brief Custom configuration for CTest/CDash.
# note Copyright (C) 2016-2019 Los Alamos National Laboratory, LLC.
# All rights reserved
#------------------------------------------------------------------------------#
# This file must be found in the root build tree.
# http://www.vtk.org/Wiki/CMake_Testing_With_CTest
# https://www.rad.upenn.edu/sbia/software/doxygen/basis/trunk/html/CTestCustom_8cmake_source.html
# specialization for machines
if( APPLE )
set( CTEST_CUSTOM_WARNING_EXCEPTION
${CTEST_CUSTOM_WARNING_EXCEPTION}
"has no symbols"
)
endif()
# Add extra options by specifying MEMORYCHECK_COMMAND_OPTIONS and
# MEMORYCHECK_SUPPRESSIONS_FILE.
set( MEMORYCHECK_SUPPRESSIONS_FILE
"${CTEST_SCRIPT_DIRECTORY}/valgrind_suppress.txt"
CACHE FILEPATH
"File that contains suppressions for the memory checker" )
# Files for exclusion:
set( CTEST_CUSTOM_MEMCHECK_IGNORE ${CTEST_CUSTOM_MEMCHECK_IGNORE} )
# CTEST_CUSTOM_COVERAGE_EXCLUDE is a list of regular expressions. Any file name
# that matches any of the regular expressions in the list is excluded from the
# reported coverage data.
set( CTEST_CUSTOM_COVERAGE_EXCLUDE
${CTEST_CUSTOM_COVERAGE_EXCLUDE}
# don't report on actual unit tests
"/tests/"
"tests.cpp"
"tests/tst*.cpp"
"/src/pkg/tests/tstXercesConfig.cpp"
)
# @brief Specify additional files which should be considered for coverage
# report.
#
# Note that the expressions here are globbing expression as interpreted by
# CMake's file(GLOB) command, not regular expressions.
set( CTEST_EXTRA_COVERAGE_GLOB ${CTEST_EXTRA_COVERAGE_GLOB} )
foreach( extension IN ITEMS cc hh )
list (APPEND CTEST_EXTRA_COVERAGE_GLOB
"${PROJECT_SOURCE_DIR}/src/*\\.${extension}" )
endforeach()
# specify maximum number of warnings to display
# set( CTEST_CUSTOM_MAXIMUM_NUMBER_OF_WARNINGS "100" )
set( CTEST_CUSTOM_MAXIMUM_PASSED_TEST_OUTPUT_SIZE "1024" ) # bytes (1 kB)
set( CTEST_CUSTOM_MAXIMUM_FAILED_TEST_OUTPUT_SIZE "102400" ) # bytes (100 kB)
##---------------------------------------------------------------------------##
## Errors
##---------------------------------------------------------------------------##
## @brief Match expressions for error messages.
# set( CTEST_CUSTOM_ERROR_MATCH
# ${CTEST_CUSTOM_ERROR_MATCH} # keep current error matches
# "[0-9][0-9]*: ERROR " # add match expressions on separate lines
# "[0-9][0-9]*: [Ee]rror "
# )
## @brief Match expressions for ignored error messages.
# set( CTEST_CUSTOM_ERROR_EXCEPTION
# ${CTEST_CUSTOM_ERROR_EXCEPTION} # keep current error exceptions
# # "ExampleExec-1.0" # add exception expressions on separate lines
# )
# specify maximum number of errors to display
#set( CTEST_CUSTOM_MAXIMUM_NUMBER_OF_ERRORS "100" )
##---------------------------------------------------------------------------##
## Warnings
##---------------------------------------------------------------------------##
# Extra matches for warnings:
# set( CTEST_CUSTOM_WARNING_MATCH
# ${CTEST_CUSTOM_WARNING_MATCH}
# "{standard input}:[0-9][0-9]*: [Ww]arning: "
# "{standard input}:[0-9][0-9]*: WARNING: "
# )
# specialization for machines
# if( "@CMAKE_SYSTEM@" MATCHES "OSF" )
# set( CTEST_CUSTOM_WARNING_EXCEPTION
# ${CTEST_CUSTOM_WARNING_EXCEPTION}
# "XdmfDOM"
# "XdmfExpr"
# )
# endif()
#------------------------------------------------------------------------------#
# EXAMPLES FROM LAPACK
# SET(CTEST_CUSTOM_WARNING_EXCEPTION ${CTEST_CUSTOM_WARNING_EXCEPTION})
# Common warning when linking ATLAS built with GNU Fortran 4.1 and building with
# GNU Fortran 4.4. It can be safely ignored.
#
# "libgfortran.*may conflict with libgfortran"
# Harmless warning often seen on IRIX
#
# "WARNING 84 : .*libm.* is not used for resolving any symbol"
# Warnings caused by sun compilers when building code to only run on your native
# platform
#
# "xarch=native on this architecture implies -xarch=.*which generates code that does not run"
# Harmless warnings from the Intel compiler on Windows
# "ipo: warning #11010: file format not recognized for .*\\.exe\\.embed\\.manifest\\.res"
# "LINK : warning LNK4224: /INCREMENTAL:YES is no longer supported; ignored"
# Warnings caused by string truncation in the test code. The truncation is
# intentional
#
# "Character string truncated to length 1 on assignment"
# Exceptions
# set( CTEST_CUSTOM_WARNING_EXCEPTION
# ${CTEST_CUSTOM_WARNING_EXCEPTION}
# "tcl8.4.5/[^/]+/../[^/]+/[^.]+.c[:\"]"
# "Utilities/vtkmpeg2/"
# "warning LNK44221blahblah"
# "myspecial/path/to/something/"
# "myvendorexception"
# )
#------------------------------------------------------------------------------#
##---------------------------------------------------------------------------##
## Tests
##---------------------------------------------------------------------------##
# @brief Specify tests which should be ignored during the test stage.
# set( CTEST_CUSTOM_TESTS_IGNORE ${CTEST_CUSTOM_TESTS_IGNORE} "" )
# @brief Specify command to execute before execution of any test during test stage.
# set( CTEST_CUSTOM_PRE_TEST ${CTEST_CUSTOM_PRE_TEST} "" )
# ## @brief Specify command to execute at the end of the test stage.
# set( CTEST_CUSTOM_POST_TEST ${CTEST_CUSTOM_POST_TEST} "" )
##---------------------------------------------------------------------------##
# Code Coverage and Dynamic Analysis Settings
#
# See http://www.vtk.org/Wiki/CMake_Testing_With_CTest#Dynamic_Analysis
##---------------------------------------------------------------------------##