1 set(CTEST_CUSTOM_MAXIMUM_NUMBER_OF_ERRORS 1000)
2 set(CTEST_CUSTOM_MAXIMUM_NUMBER_OF_WARNINGS 1000)
4 list(APPEND CTEST_CUSTOM_MEMCHECK_IGNORE
5 # Issues in third party glut library
6 VTK::RenderingExternalCxx-TestGLUTRenderWindow
7 VTK::IOVPICCxx-TestVPICReader
8 VTK::RenderingFreeTypeFontConfigCxx-TestSystemFontRendering
9 VTK::GeovisGDALCxx-TestRasterReprojectionFilter
11 # The PLY code does out of range ops but that is just how
12 # it is architected currently. It stores every value into
13 # uint,
int, and
double but typically only uses the
14 # value that makes sense
for the type read in. Code needs
15 # to be reworked eventually but the out of range values
16 # are likely not being used.
17 VTK::IOPLYCxx-TestPLYWriter
18 VTK::IOPLYCxx-TestPLYWriterString
19 VTK::IOPLYCxx-TestPLYReaderTextureUVPoints
20 VTK::IOPLYCxx-TestPLYReaderTextureUVFaces
22 # TestLinePlotDouble intentionally uses very large doubles
23 # even though the implementation of the
class is largely
24 #
float. Fixing
this requires reworking a few classes to
25 # use doubles everywhere (which they generally should)
26 # when that is done
this can be removed.
28 # Draw calls in Context2D
29 VTK::ChartsCoreCxx-TestLinePlotDouble
31 # loguru looks like it leaks the thread name but apparently
32 # it eventually does free the memory. See
34 #
for some reason only
this test seems to report it
35 VTK::FiltersParallelDIY2Cxx-TestRedistributeDataSetFilter
38 list(APPEND CTEST_CUSTOM_WARNING_MATCH
39 "{standard input}:[0-9][0-9]*: Warning: ")
41 list(APPEND CTEST_CUSTOM_WARNING_EXCEPTION
42 # classes that have been marked deprecated
43 # and will be removed in the future
44 # To be
remove din VTK 9.0
45 "vtkTemporalStreamTracer" 47 # Java compilation warnings that don
't matter. 49 "bootstrap class path not set in conjunction with -source" 51 # OSX has deprecated openGL but we still use it 52 # and probably will not update the code but replace it 53 # with vulklan/moltenVK in the future 55 "NSOpenGL.*deprecated" 57 # C4275 carries with it a note that we don't care about. std::exception is
58 # the main culprit here.
59 "vcruntime_exception.h.*: note: see declaration of 'std::exception'" 61 # C4702 warning (unreachable code) caused by intentional abort() used
62 # in test which prevents the
return statement from being called.
63 "TestLoggerDisableSignalHandler.*unreachable code" 65 # GetVersion is deprecated, but its use is OK.
66 "sysinfoapi.h.*: note: see declaration of 'GetVersion'" 68 # Suppress notes from
template instantiation backtraces.
69 "note: see reference to (class|function) template instantiation" 70 "note: while compiling class template member function" 72 # This is secondary output from clang, not indicating the warning per se.
73 "[0-9]* warnings? generated" 74 "note: \\(skipping [0-9]* expansions in backtrace" 75 "note: expanded from (here|macro)" 77 # This is secondary output from MSVC, not indicate the warning per se.
78 "note: see declaration of" 79 "note: see previous definition of" 81 # Ignore macro expansion lines from GCC
82 "note: in expansion of macro" 84 #
function cast in vtkLogger/loguru
85 "vtkLogger.cxx.*: warning: cast between incompatible function types" 87 # Qt headers cause C4127 warnings with MSVC. Nothing we can
do to fix them.
88 "[Qq]t([Cc]ore|[Gg]ui|[Tt]est|[Ww]idgets).*(warning|note)" 89 # Qt has some functions marked as `__forceinline` which MSVC refuses to
inline.
90 "[Qq]t.*warning C4714" 91 "[Qq]t.*note: see declaration of" 93 # Python notes triggered from MPI4Py Cython-generated code.
94 "include/python3.*: note:" 96 # macOS warnings about dependencies htat are newer than the CI target
98 "ld: warning: dylib \\(/Applications/Xcode.*\\.app/Contents/Developer/Library/Frameworks/.*\\) was built for newer macOS version \\(.*\\) than being linked \\(.*\\)" 100 # Warning notes from Xcode.
101 "/Applications/Xcode.*: note:" 103 # Ignore moc-generated code (and rcc and uic).
104 "\\.dir[/\\\\][^/\\\\]*_autogen" 106 # Intel compilers warn about large functions, but we don
't usually care. 107 "remark #11074: Inlining inhibited by limit (max-total-size|max-size)" 108 # Ignore the suggestion line for more information too. 109 "remark #11076: To get full report use" 112 "vtkParse.tab.c.*bugprone-sizeof-expression" 113 "vtkParse.tab.c.*bugprone-suspicious-include" 114 "mocs_compilation.cpp.*bugprone-suspicious-include" 115 "vtkkwiml/test/test_.*: warning: .* \\[modernize-redundant-void-arg\\]" 117 # Ignore warnings from the standard library. 118 "warning:.*__builtin_memcpy.*stringop-overflow=" 119 "note: at offset .* into destination object" 121 # Ignore some tidy warnings from wrapper code. 122 "vtk[^\\.]+(Java|Python).cxx:.*\\[(readability-redundant-string-init)\\]" 124 # Ignore some doxygen warnings 125 "warning: documented symbol 'template class .*
' was not declared or defined." 126 "vtkContext2D.h:.*: warning: argument '.*
' of command @param is not found in the argument list of vtkContext2D::DrawMarkers" 127 "vtkMultiThreshold.h:.*: warning: argument '.*
' of command @param is not found in the argument list of vtkMultiThreshold::AddIntervalSet" 128 "QQuickVTKRenderWindow.h:.*: warning: QQuickVTKRenderWindow::captureScreenshot has @param documentation sections but no arguments" 129 "vtkInherits.h:.*: warning: documented symbol 'static vtk::ParentClasses.*::value
' was not declared or defined." 130 "vtkPolyhedron.h:.*: warning: vtkPolyhedron::GetCellFaces has @param documentation sections but no arguments" 132 # Ignore bits from gcc-12 stdlib. There seem to be some serious issues in GCC 133 # 12 diagnostics. These come from the `quay.io/pypa/manylinux_2_28_x86_64` 134 # container as of now. 135 "/opt/rh/gcc-toolset-12" 138 set(cdash_show_third_party_warnings "") 139 if (NOT cdash_show_third_party_warnings) 140 list(APPEND CTEST_CUSTOM_WARNING_EXCEPTION 141 # issue with exodus but exodus is not included in the note 142 # should these issues get fixed in exodus then remove this 144 "note: '__builtin___snprintf_chk
'" 146 # HDF5 lex/yacc sources compilation lacks the "ThirdParty" part of the path. 147 "hl/src/H5LT(parse|analyze)" 149 # Suppress ThirdParty source code from displaying warnings. 152 # Suppress MetaIO warnings. 155 # clang will often give multiline warnings from macro expansions, 156 # where the first part has "warning:" and subsequent parts have "note:" 157 # and those will sometimes expand into systems headers. When this occurs 158 # for ThirdParty code, we want it suppressed too. Do so here for headers within Xcode. 159 "Xcode\\.app/Contents/Developer.+note:" 161 # Suppress Remote module source code from displaying warnings. 162 # Suppress modules individually as just "Remote" is a common pattern 163 "[Rr]emote.[Mm]oment[Ii]nvariants" 164 "[Rr]emote.[Pp]oisson[Rr]econstruction" 165 "[Rr]emote.[Pp]owercrust" 167 # sometimes we use system third party headers with issues 168 # in this case liblas 171 # in this case a redefinition of strndup between netcdf and 172 # /usr/include/x86_64-linux-gnu/bits/string2.h but the warning 173 # does not include ThirdParty in the line 176 # some windows link warnings related to hdf5 that do not include 177 # ThirdParty in the message 178 "H5.*\\.c\\.obj : warning LNK4221" 180 # ThirdParty xdmf2 uses sbrk which has been marked deprecated but 181 # produces a warning without ThirdParty ala 182 # /usr/include/unistd.h:587:7: note: 'sbrk
' has been explicitly marked deprecated here 183 "note: 'sbrk
' has been explicitly marked deprecated here" 185 # libproj source code includes the line 186 # return 0; /* suppresses a warning */ 187 # which is listed as context for another warning 188 # and causes a match due to the work warning in it 189 "return 0; /\\* suppresses a warning \\*/" 191 # boost graph lib causes a warning on gcc with code that 192 # boost uses internally. An example for you template fans is 193 # /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] 194 "[Bb]oost[Gg]raph.*edge_property.*may be used uninitialized" 196 # Boost.Graph uses deprecated Boost headers internally. 197 "define BOOST_BIND_GLOBAL_PLACEHOLDERS to retain the current behavior" 199 # Boost.Math is C++14; ignore warnings for now. 200 "boost/math/tools/config.hpp.*: warning: .*minimum language standard" 202 # Warnings due to DIY 203 "xmemory.*: warning C4996:.*Default Bounds constructor" 205 # vtkm uses deprecated TBB headers 206 "TBB Warning: tbb/task.h is deprecated" 208 # vtkm related warnings, someone working on vtkm should fix these and once fixed 209 # remove these suppressions 210 "struct VTKM_DEPRECATED" 213 # eigen uses this internal header from CUDA that should not be used. 215 "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" 217 # warnings from moc generated code such as 218 # GUISupport/Qt/GUISupportQt_autogen/EWIEGA46WW/moc_QVTKInteractorInternal.cpp:73:55: warning: redundant parentheses surrounding declarator [-Wredundant-parens] 219 "autogen.*moc.*redundant parentheses" 222 # if(NULL == (*full_name = (char *)H5MM_malloc(path1_len + path2_len + 2 + 2))) /* Extra "+2" to quiet GCC warning - 2019/07/05, QAK */ 223 "H5MM.*quiet GCC warning" 225 # Ignore diy2 warnings 228 # missing overrides may be suppressed, but the superclass shows up as a match on some systems 229 # it makes no sense to suppress the offending class but report the superclass 230 # vtkPolyDataAlgorithm.h:91:3: note: overridden virtual function is here 231 "note: overridden virtual function is here" 233 # Warnings from template instantiations. Remove once cmake/cmake!4766 is releasted. 234 "x(memory0|utility)\\([0-9]+\\): warning C4244" 236 # Timeout errors of SCCACHE are common cases for long builds such as VTK+VTKm+CUDA 237 "sccache: warning: The server looks like it shut down unexpectedly, compiling locally instead" 239 # Ignore warnings from Apple's
new linker about duplicate rpath flags.
240 "ld: warning: duplicate -rpath" 242 # Libxml2 has an ignored warning in a line with a
string containing `warning`
243 "xmlVFormatLegacyError.*validity warning" 247 # CI-specific warning suppressions. 249 # Some of our CI ends up generating warnings that don't really matter. Of 250 # particular interest are warnings which have different behavior in older 251 # compilers than modern ones. It's not really all that important to cater to 252 # old, broken warning implementations when newer compilers tell us when we 253 # aren't doing things properly. 254 if (NOT
"$ENV{CI}" STREQUAL
"")
255 # Warning exclusions for old compilers and dependencies. 256 if (
"$ENV{CMAKE_CONFIGURATION}" MATCHES
"mindeps")
258 if (
"$ENV{CMAKE_CONFIGURATION}" MATCHES
"el7")
259 list(APPEND CTEST_CUSTOM_WARNING_EXCEPTION
260 # Deprecated classes trigger
"usage" warnings in methods marked with
261 # either `=
default` or `=
delete` generated implementations. This is not
262 # helpful, so just ignore them all.
263 "Wdeprecated-declarations" 268 # For some reason, warning flags aren't working here. 269 if (
"$ENV{CMAKE_CONFIGURATION}" MATCHES
"_ext_vtk")
270 list(APPEND CTEST_CUSTOM_WARNING_EXCEPTION
271 "Wstringop-overflow=" 272 "note: destination object allocated here" 273 "note: destination object '.*' of size .*" 276 "note: source object '.*' of size .*" 277 "note: at offset .* into source object '.*' of size .*" 280 if ("$ENV{CMAKE_CONFIGURATION}
" MATCHES "wasm
") 281 list(APPEND CTEST_CUSTOM_WARNING_EXCEPTION 282 # Emscripten tends to use bleeding edge versions of clang. 283 # Suppress warnings from clang's c++ headers about deprecated features. 284 "note:
'[a-z]?strstream' has been explicitly marked deprecated here
" 285 "note:
'char_traits<vtkfmt::detail::char8_type>' has been explicitly marked deprecated here
" 286 "warning:
'char_traits<vtkfmt::detail::char8_type>' is deprecated
" 291 list(APPEND CTEST_CUSTOM_COVERAGE_EXCLUDE 292 "vtk[^\\.]+(Java|Python).cxx
" 297 # Exclude files from the Utilities directories