CTestCustom.cmake
Go to the documentation of this file.
1 ##============================================================================
2 ## The contents of this file are covered by the Viskores license. See
3 ## LICENSE.txt for details.
4 ##
5 ## By contributing to this file, all contributors agree to the Developer
6 ## Certificate of Origin Version 1.1 (DCO 1.1) as stated in DCO.txt.
7 ##============================================================================
8 
9 ##============================================================================
10 ## Copyright (c) Kitware, Inc.
11 ## All rights reserved.
12 ## See LICENSE.txt for details.
13 ##
14 ## This software is distributed WITHOUT ANY WARRANTY; without even
15 ## the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
16 ## PURPOSE. See the above copyright notice for more information.
17 ##============================================================================
18 
19 list(APPEND CTEST_CUSTOM_WARNING_EXCEPTION
20  ".*warning: ignoring loop annotation.*"
21  ".*warning: Included by graph for.*not generated, too many nodes. Consider increasing DOT_GRAPH_MAX_NODES.*"
22 
23  # disable doxygen warnings about no matching members caused by auto keyword
24  ".*warning: no matching file member found for.*"
25 
26  # disable doxygen warning from VISKORES_DEPRECATED usage
27  ".*warning: Found.*while parsing initializer list!.*"
28 
29  # disable doxygen warning about potential recursion.
30  ".*warning: Detected potential recursive class relation between .*"
31 
32  # disable doxygen warning about not generating graph
33  ".*warning: Included by graph for"
34 
35  # Doxygen warns when creating output directory:
36  "Notice: Output directory.*does not exist. I have created it for you."
37 
38  # disable doxygen warnings from CONTRIBUTING.md, CodingConventions.md.
39  # these files are really intended for Gitlab, hence we don't want to use
40  # doxygen tags in them.
41  "CONTRIBUTING.md.*warning"
42  "CodingConventions.md.*warning"
43 
44  # disable static/dynamic weak symbol warnings
45  ".*ld: warning: direct access in function.*"
46 
47  # disable nvlink warnings about arch not found
48  # These indicate that a flag like -arch is missing from the link command.
49  # I am seeing these for the Kokkos builds, and I don't want to fight the
50  # compiler flags there, so I'm just going to suppress those.
51  ".*nvlink warning.*SM Arch.*not found in.*"
52 
53  # Disable warning from Macos linker that seems to be a side effect of how
54  # GitHub Actions provisions its macos VMs.
55  ".*truncating -dylib_current_version to fit in 32-bit space used by old mach-o format.*"
56 
57  # Disable warnings about third party libraries.
58  # Normally compilers do not generate warnings for includes using -isystem,
59  # however, that is not always the case, specially in exotic systems such as
60  # OLCF Ascent/Summit
61  "viskores/thirdparty"
62 
63  # Disable a particular warning that comes from DIY and GCC 12. The warning seems incorrect.
64  "12/bits/stl_vector.h:988:50: warning: pointer used after"
65  "12/bits/new_allocator.h:158:33: note: call to"
66 
67  # This is a warning about not being able to write all the information necessary tracing
68  # debugging those variables. This is not an important warning for the builds in our CI.
69  # (Developers can resolve the issue if they need to by using a parameter like
70  # `--param=max-vartrack-size=600000`. See
71  # https://stackoverflow.com/questions/23499909/adjust-variable-tracking-assignment-length)
72  "note: variable tracking size limit exceeded"
73 
74  # Disable warning that can happen in the standard lib from the loguru
75  # third party library. This is a note that can get flagged because it
76  # happens in a file outside of the thirdparty directory.
77  ".*'__builtin___snprintf_chk' output between 5 and 12 bytes.*"
78 
79  ".*warning: template-id not allowed for constructor.*"
80 )
81 
82 list(APPEND CTEST_CUSTOM_WARNING_MATCH
83  # Let CUDA compiler warn us about recursive functions we should avoid.
84  ".*nvlink warning.*"
85  )
86 
87 ## Sometimes a few test hangs in HIP disable repeat until_pass for HIP builds
88 set(CTEST_REPEAT_UNTIL_PASS 3)
89 if (NOT x""x STREQUAL xx)
90  set(CTEST_REPEAT_UNTIL_PASS 0)
91 endif()
92 
93 set(Viskores_ENABLE_PERFORMANCE_TESTING "")
94 
95 # Fail on warnings without stopping the build
96 # Set maximum number of warnings to 0 to make the build fail on any warning
97 set(CTEST_CUSTOM_MAXIMUM_NUMBER_OF_WARNINGS 0)