@@ -51,11 +51,27 @@ def test_addon_suppress_inline():
5151 __test_addon_suppress_inline (['-j1' ])
5252
5353
54+ # TODO: inline suppressions currently do not work with whole program analysis and addons - see #12835
55+ # whole program analysis requires a build dir with -j
5456@pytest .mark .xfail (strict = True )
5557def test_addon_suppress_inline_j ():
5658 __test_addon_suppress_inline (['-j2' ])
5759
5860
61+ def test_addon_suppress_inline_builddir (tmpdir ):
62+ build_dir = os .path .join (tmpdir , 'b1' )
63+ os .mkdir (build_dir )
64+ __test_addon_suppress_inline (['-j1' , '--cppcheck-build-dir={}' .format (build_dir )])
65+
66+
67+ # TODO: inline suppressions currently do not work with whole program analysis and addons - see #12835
68+ @pytest .mark .xfail (strict = True )
69+ def test_addon_suppress_inline_builddir_j (tmpdir ):
70+ build_dir = os .path .join (tmpdir , 'b1' )
71+ os .mkdir (build_dir )
72+ __test_addon_suppress_inline (['-j2' , '--cppcheck-build-dir={}' .format (build_dir )])
73+
74+
5975def __test_addon_suppress_inline_project (tmpdir , extra_args ):
6076 compile_db = __create_compile_commands (tmpdir , [
6177 os .path .join (__script_dir , 'whole-program' , 'whole1.c' ),
@@ -84,11 +100,27 @@ def test_addon_suppress_inline_project(tmpdir):
84100 __test_addon_suppress_inline_project (tmpdir , ['-j1' ])
85101
86102
103+ # TODO: inline suppressions currently do not work with whole program analysis and addons - see #12835
104+ # whole program analysis requires a build dir with -j
87105@pytest .mark .xfail (strict = True )
88106def test_addon_suppress_inline_project_j (tmpdir ):
89107 __test_addon_suppress_inline_project (tmpdir , ['-j2' ])
90108
91109
110+ def test_addon_suppress_inline_project_builddir (tmpdir ):
111+ build_dir = os .path .join (tmpdir , 'b1' )
112+ os .mkdir (build_dir )
113+ __test_addon_suppress_inline_project (tmpdir , ['-j1' , '--cppcheck-build-dir={}' .format (build_dir )])
114+
115+
116+ # TODO: inline suppressions currently do not work with whole program analysis and addons - see #12835
117+ @pytest .mark .xfail (strict = True )
118+ def test_addon_suppress_inline_project_builddir_j (tmpdir ):
119+ build_dir = os .path .join (tmpdir , 'b1' )
120+ os .mkdir (build_dir )
121+ __test_addon_suppress_inline_project (tmpdir , ['-j2' , '--cppcheck-build-dir={}' .format (build_dir )])
122+
123+
92124def __test_suppress_inline (extra_args ):
93125 args = [
94126 '-q' ,
@@ -114,11 +146,27 @@ def test_suppress_inline():
114146 __test_suppress_inline (['-j1' ])
115147
116148
149+ # TODO: inline suppressions do not work with whole program analysis and -j
150+ # whole program analysis requires a build dir with -j
117151@pytest .mark .xfail (strict = True )
118152def test_suppress_inline_j ():
119153 __test_suppress_inline (['-j2' ])
120154
121155
156+ def test_suppress_inline_builddir (tmpdir ):
157+ build_dir = os .path .join (tmpdir , 'b1' )
158+ os .mkdir (build_dir )
159+ __test_suppress_inline (['-j1' , '--cppcheck-build-dir={}' .format (build_dir )])
160+
161+
162+ # TODO: inline suppressions do not work with whole program analysis and -j
163+ @pytest .mark .xfail (strict = True )
164+ def test_suppress_inline_builddir_j (tmpdir ):
165+ build_dir = os .path .join (tmpdir , 'b1' )
166+ os .mkdir (build_dir )
167+ __test_suppress_inline (['-j2' , '--cppcheck-build-dir={}' .format (build_dir )])
168+
169+
122170def __test_suppress_inline_project (tmpdir , extra_args ):
123171 compile_db = __create_compile_commands (tmpdir , [
124172 os .path .join (__script_dir , 'whole-program' , 'odr1.cpp' ),
@@ -148,11 +196,25 @@ def test_suppress_inline_project(tmpdir):
148196 __test_suppress_inline_project (tmpdir , ['-j1' ])
149197
150198
199+ # whole program analysis requires a build dir with -j
151200@pytest .mark .xfail (strict = True )
152201def test_suppress_inline_project_j (tmpdir ):
153202 __test_suppress_inline_project (tmpdir , ['-j2' ])
154203
155204
205+ def test_suppress_inline_project_builddir (tmpdir ):
206+ build_dir = os .path .join (tmpdir , 'b1' )
207+ os .mkdir (build_dir )
208+ __test_suppress_inline_project (tmpdir , ['-j1' , '--cppcheck-build-dir={}' .format (build_dir )])
209+
210+ # TODO: inline suppressions do not work with whole program analysis and -j
211+ @pytest .mark .xfail (strict = True )
212+ def test_suppress_inline_project_builddir_j (tmpdir ):
213+ build_dir = os .path .join (tmpdir , 'b1' )
214+ os .mkdir (build_dir )
215+ __test_suppress_inline_project (tmpdir , ['-j2' , '--cppcheck-build-dir={}' .format (build_dir )])
216+
217+
156218def __test_checkclass (extra_args ):
157219 args = [
158220 '-q' ,
@@ -179,11 +241,18 @@ def test_checkclass():
179241 __test_checkclass (['-j1' ])
180242
181243
244+ # whole program analysis requires a build dir with -j
182245@pytest .mark .xfail (strict = True )
183246def test_checkclass_j ():
184247 __test_checkclass (['-j2' ])
185248
186249
250+ def test_checkclass_builddir (tmpdir ):
251+ build_dir = os .path .join (tmpdir , 'b1' )
252+ os .mkdir (build_dir )
253+ __test_checkclass (['--cppcheck-build-dir={}' .format (build_dir )])
254+
255+
187256def __test_checkclass_project (tmpdir , extra_args ):
188257 odr_file_1 = os .path .join (__script_dir , 'whole-program' , 'odr1.cpp' )
189258
@@ -216,6 +285,13 @@ def test_checkclass_project(tmpdir):
216285 __test_checkclass_project (tmpdir , ['-j1' ])
217286
218287
288+ # whole program analysis requires a build dir with -j
219289@pytest .mark .xfail (strict = True )
220290def test_checkclass_project_j (tmpdir ):
221- __test_checkclass_project (tmpdir , ['-j2' ])
291+ __test_checkclass_project (tmpdir , ['-j2' ])
292+
293+
294+ def test_checkclass_project_builddir (tmpdir ):
295+ build_dir = os .path .join (tmpdir , 'b1' )
296+ os .mkdir (build_dir )
297+ __test_checkclass_project (tmpdir , ['-j1' , '--cppcheck-build-dir={}' .format (build_dir )])
0 commit comments