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 217 218 219 220 221 222 223 224 225 226 227 228 229 230
|
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"
# Ignore some tidy warnings from wrapper code.
"vtk[^\\.]+(Java|Python).cxx:.*\\[(readability-redundant-string-init)\\]"
# Ignore some doxygen warnings
"warning: documented symbol 'template class .*' was not declared or defined."
"vtkContext2D.h:.*: warning: argument '.*' of command @param is not found in the argument list of vtkContext2D::DrawMarkers"
"vtkMultiThreshold.h:.*: warning: argument '.*' of command @param is not found in the argument list of vtkMultiThreshold::AddIntervalSet"
)
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"
# Suppress MetaIO warnings.
"MetaIO/vtkmetaio"
# 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 should 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"
# Timeout errors of SCCACHE are common cases for long builds such as VTK+VTKm+CUDA
"sccache: warning: The server looks like it shut down unexpectedly, compiling locally instead"
)
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/.*")
|