@@ -213,6 +213,7 @@ class TestInfo(NamedTuple):
213
213
project : ProjectInfo
214
214
override_compiler : bool = False
215
215
extra_analyzer_config : str = ""
216
+ extra_checkers : str = ""
216
217
is_reference_build : bool = False
217
218
strictness : int = 0
218
219
@@ -233,13 +234,16 @@ class RegressionTester:
233
234
"""
234
235
A component aggregating all of the project testing.
235
236
"""
237
+
236
238
def __init__ (self , jobs : int , projects : List [ProjectInfo ],
237
239
override_compiler : bool , extra_analyzer_config : str ,
240
+ extra_checkers : str ,
238
241
regenerate : bool , strictness : bool ):
239
242
self .jobs = jobs
240
243
self .projects = projects
241
244
self .override_compiler = override_compiler
242
245
self .extra_analyzer_config = extra_analyzer_config
246
+ self .extra_checkers = extra_checkers
243
247
self .regenerate = regenerate
244
248
self .strictness = strictness
245
249
@@ -252,6 +256,7 @@ def test_all(self) -> bool:
252
256
TestInfo (project ,
253
257
self .override_compiler ,
254
258
self .extra_analyzer_config ,
259
+ self .extra_checkers ,
255
260
self .regenerate , self .strictness ))
256
261
if self .jobs <= 1 :
257
262
return self ._single_threaded_test_all (projects_to_test )
@@ -305,10 +310,12 @@ class ProjectTester:
305
310
"""
306
311
A component aggregating testing for one project.
307
312
"""
313
+
308
314
def __init__ (self , test_info : TestInfo , silent : bool = False ):
309
315
self .project = test_info .project
310
316
self .override_compiler = test_info .override_compiler
311
317
self .extra_analyzer_config = test_info .extra_analyzer_config
318
+ self .extra_checkers = test_info .extra_checkers
312
319
self .is_reference_build = test_info .is_reference_build
313
320
self .strictness = test_info .strictness
314
321
self .silent = silent
@@ -414,6 +421,8 @@ def scan_build(self, directory: str, output_dir: str,
414
421
if 'SA_ADDITIONAL_CHECKERS' in os .environ :
415
422
all_checkers = (all_checkers + ',' +
416
423
os .environ ['SA_ADDITIONAL_CHECKERS' ])
424
+ if self .extra_checkers != "" :
425
+ all_checkers += "," + self .extra_checkers
417
426
418
427
# Run scan-build from within the patched source directory.
419
428
cwd = os .path .join (directory , PATCHED_SOURCE_DIR_NAME )
0 commit comments