forked from Kitware/VTK
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCTestCustom.cmake.in
216 lines (171 loc) · 9.06 KB
/
CTestCustom.cmake.in
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
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
set(CTEST_CUSTOM_MAXIMUM_NUMBER_OF_ERRORS 1000)
set(CTEST_CUSTOM_MAXIMUM_NUMBER_OF_WARNINGS 1000)
list(APPEND CTEST_CUSTOM_MEMCHECK_IGNORE
# Issues in third party glut library
VTK::RenderingExternalCxx-TestGLUTRenderWindow
VTK::IOVPICCxx-TestVPICReader
VTK::RenderingFreeTypeFontConfigCxx-TestSystemFontRendering
VTK::GeovisGDALCxx-TestRasterReprojectionFilter
# The PLY code does out of range ops but that is just how
# it is architected currently. It stores every value into
# uint, int, and double but typically only uses the
# value that makes sense for the type read in. Code needs
# to be reworked eventually but the out of range values
# are likely not being used.
VTK::IOPLYCxx-TestPLYWriter
VTK::IOPLYCxx-TestPLYWriterString
VTK::IOPLYCxx-TestPLYReaderTextureUVPoints
VTK::IOPLYCxx-TestPLYReaderTextureUVFaces
# TestLinePlotDouble intentionally uses very large doubles
# even though the implementation of the class is largely
# float. Fixing this requires reworking a few classes to
# use doubles everywhere (which they generally should)
# when that is done this can be removed.
# The key classes impacted are vtkPlotPoints and the
# Draw calls in Context2D
VTK::ChartsCoreCxx-TestLinePlotDouble
# loguru looks like it leaks the thread name but apparently
# it eventually does free the memory. See
# https://github.com/emilk/loguru/issues/132
# for some reason only this test seems to report it
VTK::FiltersParallelDIY2Cxx-TestRedistributeDataSetFilter
)
list(APPEND CTEST_CUSTOM_WARNING_MATCH
"{standard input}:[0-9][0-9]*: Warning: ")
list(APPEND CTEST_CUSTOM_WARNING_EXCEPTION
# classes that have been marked deprecated
# and will be removed in the future
# To be remove din VTK 9.0
"vtkTemporalStreamTracer"
# Java compilation warnings that don't matter.
"^1 warning$"
"bootstrap class path not set in conjunction with -source"
# OSX has deprecated openGL but we still use it
# and probably will not update the code but replace it
# with vulklan/moltenVK in the future
"Cocoa.*deprecated"
"NSOpenGL.*deprecated"
# C4275 carries with it a note that we don't care about. std::exception is
# the main culprit here.
"vcruntime_exception.h.*: note: see declaration of 'std::exception'"
# C4702 warning (unreachable code) caused by intentional abort() used
# in test which prevents the return statement from being called.
"TestLoggerDisableSignalHandler.*unreachable code"
# GetVersion is deprecated, but its use is OK.
"sysinfoapi.h.*: note: see declaration of 'GetVersion'"
# Suppress notes from template instantiation backtraces.
"note: see reference to (class|function) template instantiation"
"note: while compiling class template member function"
# This is secondary output from clang, not indicating the warning per se.
"[0-9]* warnings? generated"
"note: \\(skipping [0-9]* expansions in backtrace"
"note: expanded from (here|macro)"
# This is secondary output from MSVC, not indicate the warning per se.
"note: see declaration of"
"note: see previous definition of"
# function cast in vtkLogger/loguru
"vtkLogger.cxx.*: warning: cast between incompatible function types"
# Qt headers cause C4127 warnings with MSVC. Nothing we can do to fix them.
"[Qq]t([Cc]ore|[Gg]ui|[Tt]est|[Ww]idgets).*(warning|note)"
# Qt has some functions marked as `__forceinline` which MSVC refuses to inline.
"[Qq]t.*warning C4714"
"[Qq]t.*note: see declaration of"
# Python notes triggered from MPI4Py Cython-generated code.
"include/python3.*: note:"
# macOS warnings about dependencies htat are newer than the CI target
# version.
"ld: warning: dylib \\(/Applications/Xcode.*\\.app/Contents/Developer/Library/Frameworks/.*\\) was built for newer macOS version \\(.*\\) than being linked \\(.*\\)"
# Warning notes from Xcode.
"/Applications/Xcode.*: note:"
# Ignore moc-generated code (and rcc and uic).
"\\.dir[/\\\\][^/\\\\]*_autogen"
# Intel compilers warn about large functions, but we don't usually care.
"remark #11074: Inlining inhibited by limit (max-total-size|max-size)"
# Ignore the suggestion line for more information too.
"remark #11076: To get full report use"
# clang-tidy ignores
"vtkParse.tab.c.*bugprone-sizeof-expression"
"vtkParse.tab.c.*bugprone-suspicious-include"
"mocs_compilation.cpp.*bugprone-suspicious-include"
)
set(cdash_show_third_party_warnings "@VTK_ENABLE_CDASH_THIRD_PARTY_WARNINGS@")
if (NOT cdash_show_third_party_warnings)
list(APPEND CTEST_CUSTOM_WARNING_EXCEPTION
# issue with exodus but exodus is not included in the note
# should these issues get fixed in exodus then remove this
# suppression
"note: '__builtin___snprintf_chk'"
# HDF5 lex/yacc sources compilation lacks the "ThirdParty" part of the path.
"hl/src/H5LT(parse|analyze)"
# Suppress ThirdParty source code from displaying warnings.
"[Tt]hird[Pp]arty"
# clang will often give multiline warnings from macro expansions,
# where the first part has "warning:" and subsequent parts have "note:"
# and those will sometimes expand into systems headers. When this occurs
# for ThirdParty code, we want it suppressed too. Do so here for headers within Xcode.
"Xcode\\.app/Contents/Developer.+note:"
# Suppress Remote module source code from displaying warnings.
# Suppress modules individually as just "Remote" is a common pattern
"[Rr]emote.[Mm]oment[Ii]nvariants"
"[Rr]emote.[Pp]oisson[Rr]econstruction"
"[Rr]emote.[Pp]owercrust"
# sometimes we use system third party headers with issues
# in this case liblas
"include/liblas"
# in this case a redefinition of strndup between netcdf and
# /usr/include/x86_64-linux-gnu/bits/string2.h but the warning
# does not include ThirdParty in the line
"bits/string2\\.h"
# some windows link warnings related to hdf5 that do not include
# ThirdParty in the message
"H5.*\\.c\\.obj : warning LNK4221"
# ThirdParty xdmf2 uses sbrk which has been marked deprecated but
# produces a warning without ThirdParty ala
# /usr/include/unistd.h:587:7: note: 'sbrk' has been explicitly marked deprecated here
"note: 'sbrk' has been explicitly marked deprecated here"
# libproj source code includes the line
# return 0; /* suppresses a warning */
# which is listed as context for another warning
# and causes a match due to the work warning in it
"return 0; /\\* suppresses a warning \\*/"
# boost graph lib causes a warning on gcc with code that
# boost uses internally. An example for you template fans is
# /source/Infovis/BoostGraphAlgorithms/Testing/Cxx/TestBoostAdapter.cxx:221:47: warning: '*((void*)(& ei)+32).__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<long unsigned int, boost::property<boost::edge_index_t, unsigned int> >*, std::vector<boost::detail::stored_edge_property<long unsigned int, boost::property<boost::edge_index_t, unsigned int> >, std::allocator<boost::detail::stored_edge_property<long unsigned int, boost::property<boost::edge_index_t, unsigned int> > > > >::_M_current' may be used uninitialized in this function [-Wmaybe-uninitialized]
"[Bb]oost[Gg]raph.*edge_property.*may be used uninitialized"
# Boost.Graph uses deprecated Boost headers internally.
"define BOOST_BIND_GLOBAL_PLACEHOLDERS to retain the current behavior"
# Warnings due to DIY
"xmemory.*: warning C4996:.*Default Bounds constructor"
# vtkm uses deprecated TBB headers
"TBB Warning: tbb/task.h is deprecated"
# vtkm related warnings, someone working on vtkm shoudl fix these and once fixed
# remove these suppressions
"struct VTKM_DEPRECATED"
"vtkm::filter"
# eigen uses this internal header from CUDA that should not be used.
# [-Wcpp]
"host_defines.h is an internal header file and must not be used directly. This file will be removed in a future CUDA release. Please use cuda_runtime_api.h or cuda_runtime.h instead"
# warnings from moc generated code such as
# GUISupport/Qt/GUISupportQt_autogen/EWIEGA46WW/moc_QVTKInteractorInternal.cpp:73:55: warning: redundant parentheses surrounding declarator [-Wredundant-parens]
"autogen.*moc.*redundant parentheses"
# third party hdf5
# if(NULL == (*full_name = (char *)H5MM_malloc(path1_len + path2_len + 2 + 2))) /* Extra "+2" to quiet GCC warning - 2019/07/05, QAK */
"H5MM.*quiet GCC warning"
# Ignore diy2 warnings
"vtkdiy2"
# missing overrides may be suppressed, but the superclass shows up as a match on some systems
# it makes no sense to suppress the offending class but report the superclass
# vtkPolyDataAlgorithm.h:91:3: note: overridden virtual function is here
"note: overridden virtual function is here"
# Warnings from template instantiations. Remove once cmake/cmake!4766 is releasted.
"x(memory0|utility)\\([0-9]+\\): warning C4244"
)
endif ()
list(APPEND CTEST_CUSTOM_COVERAGE_EXCLUDE
"vtk[^\\.]+(Java|Python).cxx"
".*Testing.Cxx.*cxx"
".*Testing.Cxx.*h"
".*moc_.*cxx"
# Exclude files from the Utilities directories
".*/Utilities/.*"
".*/ThirdParty/.*")