@@ -70,7 +70,8 @@ def test_addon_suppress_inline_project(tmpdir):
70
70
assert ret == 0 , stdout
71
71
72
72
73
- def test_suppress_inline ():
73
+ # TODO: remove overrides when this is fully working
74
+ def __test_suppress_inline (extra_args ):
74
75
args = [
75
76
'-q' ,
76
77
'--template=simple' ,
@@ -81,15 +82,53 @@ def test_suppress_inline():
81
82
'whole-program/odr2.cpp'
82
83
]
83
84
85
+ args += extra_args
86
+
84
87
ret , stdout , stderr = cppcheck (args , cwd = __script_dir )
85
88
lines = stderr .splitlines ()
86
89
assert lines == []
87
90
assert stdout == ''
88
91
assert ret == 0 , stdout
89
92
90
93
91
- def test_suppress_inline_project (tmpdir ):
92
- compile_db = __create_compile_commands (tmpdir , [
94
+ def test_suppress_inline ():
95
+ __test_suppress_inline (['-j1' , '--no-cppcheck-build-dir' ])
96
+
97
+
98
+ @pytest .mark .xfail (strict = True )
99
+ def test_suppress_inline_j ():
100
+ __test_suppress_inline (['-j2' , '--no-cppcheck-build-dir' ])
101
+
102
+
103
+ def test_suppress_inline_builddir (tmp_path ):
104
+ build_dir = tmp_path / 'b1'
105
+ os .mkdir (build_dir )
106
+ __test_suppress_inline (['--cppcheck-build-dir={}' .format (build_dir ), '-j1' ])
107
+
108
+
109
+ def test_suppress_inline_builddir_cached (tmp_path ):
110
+ build_dir = tmp_path / 'b1'
111
+ os .mkdir (build_dir )
112
+ __test_suppress_inline (['--cppcheck-build-dir={}' .format (build_dir ), '-j1' ])
113
+ __test_suppress_inline (['--cppcheck-build-dir={}' .format (build_dir ), '-j1' ])
114
+
115
+
116
+ def test_suppress_inline_builddir_j (tmp_path ):
117
+ build_dir = tmp_path / 'b1'
118
+ os .mkdir (build_dir )
119
+ __test_suppress_inline (['--cppcheck-build-dir={}' .format (build_dir ), '-j2' ])
120
+
121
+
122
+ def test_inline_suppr_builddir_j_cached (tmp_path ):
123
+ build_dir = tmp_path / 'b1'
124
+ os .mkdir (build_dir )
125
+ __test_suppress_inline (['--cppcheck-build-dir={}' .format (build_dir ), '-j2' ])
126
+ __test_suppress_inline (['--cppcheck-build-dir={}' .format (build_dir ), '-j2' ])
127
+
128
+
129
+ # TODO: remove overrides when it is fully working
130
+ def __test_suppress_inline_project (tmp_path , extra_args ):
131
+ compile_db = __create_compile_commands (str (tmp_path ), [
93
132
os .path .join (__script_dir , 'whole-program' , 'odr1.cpp' ),
94
133
os .path .join (__script_dir , 'whole-program' , 'odr2.cpp' )
95
134
])
@@ -103,13 +142,51 @@ def test_suppress_inline_project(tmpdir):
103
142
'--project={}' .format (compile_db )
104
143
]
105
144
145
+ args += extra_args
146
+
106
147
ret , stdout , stderr = cppcheck (args , cwd = __script_dir )
107
148
lines = stderr .splitlines ()
108
149
assert lines == []
109
150
assert stdout == ''
110
151
assert ret == 0 , stdout
111
152
112
153
154
+
155
+ def test_suppress_inline_project (tmp_path ):
156
+ __test_suppress_inline_project (tmp_path , ['-j1' , '--no-cppcheck-build-dir' ])
157
+
158
+
159
+ @pytest .mark .xfail (strict = True )
160
+ def test_suppress_inline_project_j (tmp_path ):
161
+ __test_suppress_inline_project (tmp_path , ['-j2' , '--no-cppcheck-build-dir' ])
162
+
163
+
164
+ def test_suppress_inline_project_builddir (tmp_path ):
165
+ build_dir = tmp_path / 'b1'
166
+ os .mkdir (build_dir )
167
+ __test_suppress_inline_project (tmp_path , ['--cppcheck-build-dir={}' .format (build_dir ), '-j1' ])
168
+
169
+
170
+ def test_suppress_inline_project_builddir_cached (tmp_path ):
171
+ build_dir = tmp_path / 'b1'
172
+ os .mkdir (build_dir )
173
+ __test_suppress_inline_project (tmp_path , ['--cppcheck-build-dir={}' .format (build_dir ), '-j1' ])
174
+ __test_suppress_inline_project (tmp_path , ['--cppcheck-build-dir={}' .format (build_dir ), '-j1' ])
175
+
176
+
177
+ def test_suppress_inline_project_builddir_j (tmp_path ):
178
+ build_dir = tmp_path / 'b1'
179
+ os .mkdir (build_dir )
180
+ __test_suppress_inline_project (tmp_path , ['--cppcheck-build-dir={}' .format (build_dir ), '-j2' ])
181
+
182
+
183
+ def test_suppress_inline_project_builddir_j_cached (tmp_path ):
184
+ build_dir = tmp_path / 'b1'
185
+ os .mkdir (build_dir )
186
+ __test_suppress_inline_project (tmp_path , ['--cppcheck-build-dir={}' .format (build_dir ), '-j2' ])
187
+ __test_suppress_inline_project (tmp_path , ['--cppcheck-build-dir={}' .format (build_dir ), '-j2' ])
188
+
189
+
113
190
@pytest .mark .parametrize ("builddir" , (False ,True ))
114
191
def test_addon_rerun (tmp_path , builddir ):
115
192
"""Rerun analysis and ensure that misra CTU works; with and without build dir"""
0 commit comments