Normalize API tests.
[alexxy/gromacs.git] / api / gmxapi / cpp / workflow / tests / .clang-tidy
1 # List of rationales for check suppressions (where known).
2 # This have to precede the list because inline comments are not
3 # supported by clang-tidy.
4 #
5 #         -cppcoreguidelines-non-private-member-variables-in-classes,
6 #         -misc-non-private-member-variables-in-classes,
7 # We intend a gradual transition to conform to this guideline, but it
8 # is not practical to implement yet.
9 #
10 #         -readability-isolate-declaration,
11 # Declarations like "int a, b;" are readable. Some forms are not, and
12 # those might reasonably be suggested against during code review.
13 #
14 #         -cppcoreguidelines-avoid-c-arrays,
15 # C arrays are still necessary in many places with legacy code
16 #
17 #         -cppcoreguidelines-avoid-magic-numbers,
18 #         -readability-magic-numbers,
19 # We have many legitimate use cases for magic numbers
20 #
21 #         -cppcoreguidelines-macro-usage,
22 # We do use too many macros, and we should fix many of them, but there
23 # is no reasonable way to suppress the check e.g. in src/config.h and
24 # configuring the build is a major legitimate use of macros.
25 #
26 #         -cppcoreguidelines-narrowing-conversions,
27 #         -bugprone-narrowing-conversions
28 # We have many cases where int is converted to float and we don't care
29 # enough about such potential loss of precision to use explicit casts
30 # in large numbers of places.
31 #
32 #         -google-readability-avoid-underscore-in-googletest-name
33 # We need to use underscores for readability for our legacy types
34 # and command-line parameter names
35 #
36 #         -misc-no-recursion
37 # We have way too many functions and methods relying on recursion
38 #
39 #         -cppcoreguidelines-avoid-non-const-global-variables
40 # Test code relies on exported and globally accessible variables.
41 Checks:  clang-diagnostic-*,-clang-analyzer-*,-clang-analyzer-security.insecureAPI.strcpy,
42          bugprone-*,misc-*,readability-*,performance-*,mpi-*,
43          -readability-inconsistent-declaration-parameter-name,
44          -readability-function-size,-readability-else-after-return,
45          modernize-use-nullptr,modernize-use-emplace,
46          modernize-make-unique,modernize-make-shared,
47          modernize-avoid-bind,
48          modernize-use-override,
49          modernize-redundant-void-arg,modernize-use-bool-literals,
50          cppcoreguidelines-*,-cppcoreguidelines-pro-*,-cppcoreguidelines-owning-memory,
51          -cppcoreguidelines-no-malloc,-cppcoreguidelines-special-member-functions,
52          -cppcoreguidelines-avoid-goto,
53          google-*,-google-build-using-namespace,-google-explicit-constructor,
54          -google-readability-function-size,-google-readability-todo,-google-runtime-int,
55          -cppcoreguidelines-non-private-member-variables-in-classes,
56          -misc-non-private-member-variables-in-classes,
57          -readability-isolate-declaration,
58          -cppcoreguidelines-avoid-c-arrays,
59          -cppcoreguidelines-avoid-magic-numbers,
60          -readability-magic-numbers,
61          -cppcoreguidelines-macro-usage,
62          -cppcoreguidelines-narrowing-conversions,
63          -bugprone-narrowing-conversions,
64          -google-readability-avoid-underscore-in-googletest-name,
65          -cppcoreguidelines-init-variables,
66          -misc-no-recursion,
67          -cppcoreguidelines-avoid-non-const-global-variables
68 HeaderFilterRegex: .*
69 CheckOptions:
70   - key:           cppcoreguidelines-special-member-functions.AllowSoleDefaultDtor
71     value:         1
72   - key:           modernize-make-unique.IncludeStyle
73     value:         google
74   - key:           modernize-make-shared.IncludeStyle
75     value:         google
76   - key:           readability-implicit-bool-conversion.AllowIntegerConditions
77     value:         1
78   - key:           readability-implicit-bool-conversion.AllowPointerConditions
79     value:         1
80   - key:           bugprone-dangling-handle.HandleClasses
81     value:         std::basic_string_view; nonstd::sv_lite::basic_string_view
82 # Permit passing shard pointers by value for sink parameters
83   - key:           performance-unnecessary-copy-initialization.AllowedTypes
84     value:         shared_ptr
85   - key:           performance-unnecessary-value-param.AllowedTypes
86     value:         shared_ptr