[infer][threadsafety] Run ThreadSafety as part of the checkers

Summary: Now, running `infer -a checkers -- ...` will also run the ThreadSafety checker

Reviewed By: sblackshear

Differential Revision: D4691330

fbshipit-source-id: 04fc781
master
Jeremy Dubreil 8 years ago committed by Facebook Github Bot
parent 30ae60461e
commit 047bb6796a

@ -16,7 +16,6 @@ module F = Format
(** Flags to activate checkers. *) (** Flags to activate checkers. *)
let active_procedure_checkers () = let active_procedure_checkers () =
let checkers_enabled = Config.checkers_enabled in
let java_checkers = let java_checkers =
let l = let l =
@ -29,18 +28,18 @@ let active_procedure_checkers () =
Checkers.callback_find_deserialization, false; Checkers.callback_find_deserialization, false;
CheckTraceCallSequence.callback_check_trace_call_sequence, false; CheckTraceCallSequence.callback_check_trace_call_sequence, false;
Dataflow.callback_test_dataflow, false; Dataflow.callback_test_dataflow, false;
FragmentRetainsViewChecker.callback_fragment_retains_view, checkers_enabled; FragmentRetainsViewChecker.callback_fragment_retains_view, Config.checkers_enabled;
SqlChecker.callback_sql, false; SqlChecker.callback_sql, false;
Eradicate.callback_eradicate, Config.eradicate; Eradicate.callback_eradicate, Config.eradicate;
BoundedCallTree.checker, Config.crashcontext; BoundedCallTree.checker, Config.crashcontext;
JavaTaintAnalysis.checker, Config.quandary; JavaTaintAnalysis.checker, Config.quandary;
Checkers.callback_check_field_access, false; Checkers.callback_check_field_access, false;
ImmutableChecker.callback_check_immutable_cast, checkers_enabled; ImmutableChecker.callback_check_immutable_cast, Config.checkers_enabled;
RepeatedCallsChecker.callback_check_repeated_calls, checkers_enabled; RepeatedCallsChecker.callback_check_repeated_calls, Config.checkers_enabled;
PrintfArgs.callback_printf_args, checkers_enabled; PrintfArgs.callback_printf_args, Config.checkers_enabled;
AnnotationReachability.checker, checkers_enabled; AnnotationReachability.checker, Config.checkers_enabled;
BufferOverrunChecker.checker, Config.bufferoverrun; BufferOverrunChecker.checker, Config.bufferoverrun;
ThreadSafety.checker, Config.threadsafety; ThreadSafety.checker, Config.threadsafety || Config.checkers_enabled;
] in ] in
(* make sure SimpleChecker.ml is not dead code *) (* make sure SimpleChecker.ml is not dead code *)
if false then (let module SC = SimpleChecker.Make in ()); if false then (let module SC = SimpleChecker.Make in ());
@ -52,7 +51,7 @@ let active_procedure_checkers () =
CheckDeadCode.callback_check_dead_code, false; CheckDeadCode.callback_check_dead_code, false;
Checkers.callback_print_access_to_globals, false; Checkers.callback_print_access_to_globals, false;
ClangTaintAnalysis.checker, Config.quandary; ClangTaintAnalysis.checker, Config.quandary;
Siof.checker, checkers_enabled; Siof.checker, Config.checkers_enabled;
BufferOverrunChecker.checker, Config.bufferoverrun; BufferOverrunChecker.checker, Config.bufferoverrun;
] in ] in
List.map ~f:(fun (x, y) -> (x, y, Some Config.Clang)) l in List.map ~f:(fun (x, y) -> (x, y, Some Config.Clang)) l in
@ -61,7 +60,7 @@ let active_procedure_checkers () =
let active_cluster_checkers () = let active_cluster_checkers () =
[(Checkers.callback_check_cluster_access, false, Some Config.Java); [(Checkers.callback_check_cluster_access, false, Some Config.Java);
(ThreadSafety.file_analysis, Config.threadsafety, Some Config.Java) (ThreadSafety.file_analysis, Config.threadsafety || Config.checkers_enabled, Some Config.Java)
] ]
let register () = let register () =

@ -7,7 +7,7 @@
TESTS_DIR = ../../.. TESTS_DIR = ../../..
ANALYZER = threadsafety ANALYZER = checkers
INFER_OPTIONS = --no-filtering --debug-exceptions INFER_OPTIONS = --no-filtering --debug-exceptions
INFERPRINT_OPTIONS = --issues-tests INFERPRINT_OPTIONS = --issues-tests
SOURCES = $(wildcard *.java) SOURCES = $(wildcard *.java)

Loading…
Cancel
Save