CTestCustom.cmake
Go to the documentation of this file.
1 list(APPEND CTEST_CUSTOM_MEMCHECK_IGNORE
2  # Issues in third party glut library
3  VTK::RenderingExternalCxx-TestGLUTRenderWindow
4  VTK::IOVPICCxx-TestVPICReader
5  VTK::RenderingFreeTypeFontConfigCxx-TestSystemFontRendering
6  VTK::GeovisGDALCxx-TestRasterReprojectionFilter
7 
8  # The PLY code does out of range ops but that is just how
9  # it is architected currently. It stores every value into
10  # uint, int, and double but typically only uses the
11  # value that makes sense for the type read in. Code needs
12  # to be reworked eventually but the out of range values
13  # are likely not being used.
14  VTK::IOPLYCxx-TestPLYWriter
15  VTK::IOPLYCxx-TestPLYWriterString
16  VTK::IOPLYCxx-TestPLYReaderTextureUVPoints
17  VTK::IOPLYCxx-TestPLYReaderTextureUVFaces
18 
19  # TestLinePlotDouble intentionally uses very large doubles
20  # even though the implementation of the class is largely
21  # float. Fixing this requires reworking a few classes to
22  # use doubles everywhere (which they generally should)
23  # when that is done this can be removed.
24  # The key classes impacted are vtkPlotPoints and the
25  # Draw calls in Context2D
26  VTK::ChartsCoreCxx-TestLinePlotDouble
27 
28  # loguru looks like it leaks the thread name but apparently
29  # it eventually does free the memory. See
30  # https://github.com/emilk/loguru/issues/132
31  # for some reason only this test seems to report it
32  VTK::FiltersParallelDIY2Cxx-TestRedistributeDataSetFilter
33 )
34 
35 list(APPEND CTEST_CUSTOM_WARNING_MATCH
36  "{standard input}:[0-9][0-9]*: Warning: ")
37 
38 list(APPEND CTEST_CUSTOM_WARNING_EXCEPTION
39  # classes that have been marked deprecated
40  # and will be removed in the future
41  # To be remove din VTK 9.0
42  "vtkTemporalStreamTracer"
43 
44  # Java compilation warnings that don't matter.
45  "^1 warning$"
46  "bootstrap class path not set in conjunction with -source"
47 
48  # OSX has deprecated openGL but we still use it
49  # and probably will not update the code but replace it
50  # with vulklan/moltenVK in the future
51  "Cocoa.*deprecated"
52  "NSOpenGL.*deprecated"
53 
54  # C4275 carries with it a note that we don't care about. std::exception is
55  # the main culprit here.
56  "vcruntime_exception.h.*: note: see declaration of 'std::exception'"
57 
58  # GetVersion is deprecated, but its use is OK.
59  "sysinfoapi.h.*: note: see declaration of 'GetVersion'"
60 
61  # Suppress notes from template instantiation backtraces.
62  "note: see reference to (class|function) template instantiation"
63  "note: while compiling class template member function"
64 
65  # This is secondary output from clang, not indicating the warning per se.
66  "[0-9]* warnings? generated"
67  "note: \\(skipping [0-9]* expansions in backtrace"
68  "note: expanded from (here|macro)"
69 
70  # This is secondary output from MSVC, not indicate the warning per se.
71  "note: see declaration of"
72  "note: see previous definition of"
73 
74  # function cast in vtkLogger/loguru
75  "vtkLogger.cxx.*: warning: cast between incompatible function types"
76 
77  # Qt headers cause C4127 warnings with MSVC. Nothing we can do to fix them.
78  "[Qq]t([Cc]ore|[Gg]ui|[Tt]est|[Ww]idgets).*(warning|note)"
79  # Qt has some functions marked as `__forceinline` which MSVC refuses to inline.
80  "[Qq]t.*warning C4714"
81  "[Qq]t.*note: see declaration of"
82 
83  # Ignore moc-generated code (and rcc and uic).
84  "\\.dir[/\\\\][^/\\\\]*_autogen"
85 
86  # Ignore diy2 warnings
87  "vtkdiy2"
88 
89  # Intel compilers warn about large functions, but we don't usually care.
90  "remark #11074: Inlining inhibited by limit (max-total-size|max-size)"
91  # Ignore the suggestion line for more information too.
92  "remark #11076: To get full report use"
93  )
94 
95 set(cdash_show_third_party_warnings "")
96 if (NOT cdash_show_third_party_warnings)
97  list(APPEND CTEST_CUSTOM_WARNING_EXCEPTION
98  # issue with exodus but exodus is not included in the note
99  # should these issues get fixed in exodus then remove this
100  # suppression
101  "note: '__builtin___snprintf_chk'"
102 
103  # HDF5 lex/yacc sources compilation lacks the "ThirdParty" part of the path.
104  "hl/src/H5LT(parse|analyze)"
105 
106  # Suppress ThirdParty source code from displaying warnings.
107  "[Tt]hird[Pp]arty"
108 
109  # Suppress Remote module source code from displaying warnings.
110  # Suppress modules individually as just "Remote" is a common pattern
111  "[Rr]emote.[Mm]oment[Ii]nvariants"
112  "[Rr]emote.[Pp]oisson[Rr]econstruction"
113  "[Rr]emote.[Pp]owercrust"
114 
115  # sometimes we use system third party headers with issues
116  # in this case liblas
117  "include/liblas"
118 
119  # in this case a redefinition of strndup between netcdf and
120  # /usr/include/x86_64-linux-gnu/bits/string2.h but the warning
121  # does not include ThirdParty in the line
122  "bits/string2\\.h"
123 
124  # some windows link warnings related to hdf5 that do not include
125  # ThirdParty in the message
126  "H5.*\\.c\\.obj : warning LNK4221"
127 
128  # ThirdParty xdmf2 uses sbrk which has been marked deprecated but
129  # produces a warning without ThirdParty ala
130  # /usr/include/unistd.h:587:7: note: 'sbrk' has been explicitly marked deprecated here
131  "note: 'sbrk' has been explicitly marked deprecated here"
132 
133  # libproj source code includes the line
134  # return 0; /* suppresses a warning */
135  # which is listed as context for another warning
136  # and causes a match due to the work warning in it
137  "return 0; /\\* suppresses a warning \\*/"
138 
139  # boost graph lib causes a warning on gcc with code that
140  # boost uses internally. An example for you template fans is
141  # /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]
142  "[Bb]oost[Gg]raph.*edge_property.*may be used uninitialized"
143 
144  # Warnings due to DIY
145  "xmemory.*: warning C4996:.*Default Bounds constructor"
146 
147  # vtkm related warnings, someone working on vtkm shoudl fix these and once fixed
148  # remove these suppressions
149  "struct VTKM_DEPRECATED"
150  "vtkm::filter"
151 
152  # eigen uses this internal header from CUDA that should not be used.
153  # [-Wcpp]
154  "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"
155 
156  # warnings from moc generated code such as
157  # GUISupport/Qt/GUISupportQt_autogen/EWIEGA46WW/moc_QVTKInteractorInternal.cpp:73:55: warning: redundant parentheses surrounding declarator [-Wredundant-parens]
158  "autogen.*moc.*redundant parentheses"
159 
160  # third party hdf5
161  # if(NULL == (*full_name = (char *)H5MM_malloc(path1_len + path2_len + 2 + 2))) /* Extra "+2" to quiet GCC warning - 2019/07/05, QAK */
162  "H5MM.*quiet GCC warning"
163 
164  # missing overrides may be suppressed, but the superclass shows up as a match on some systems
165  # it makes no sense to suppress the offending class but report the superclass
166  # vtkPolyDataAlgorithm.h:91:3: note: overridden virtual function is here
167  "note: overridden virtual function is here"
168 
169  # Warnings from template instantiations. Remove once cmake/cmake!4766 is releasted.
170  "x(memory0|utility)\\([0-9]+\\): warning C4244"
171  )
172 endif ()
173 
174 list(APPEND CTEST_CUSTOM_COVERAGE_EXCLUDE
175  "vtk[^\\.]+(Java|Python).cxx"
176  ".*Testing.Cxx.*cxx"
177  ".*Testing.Cxx.*h"
178  ".*moc_.*cxx"
179 
180  # Exclude files from the Utilities directories
181  ".*/Utilities/.*"
182  ".*/ThirdParty/.*")