[Uninit][1/13] Move interproc tests

Reviewed By: jeremydubreil

Differential Revision: D10250022

fbshipit-source-id: d82863d5a
master
Mehdi Bouaziz 6 years ago committed by Facebook Github Bot
parent b90c2f3bfc
commit 8cac7df447

@ -43,7 +43,6 @@ BUILD_SYSTEMS_TESTS += \
reactive \
run_hidden_linters \
tracebugs \
uninit \
utf8_in_procname \
DIRECT_TESTS += \

@ -1,21 +0,0 @@
# Copyright (c) 2017-present, Facebook, Inc.
#
# This source code is licensed under the MIT license found in the
# LICENSE file in the root directory of this source tree.
TESTS_DIR = ../..
# see explanations in cpp/errors/Makefile for the custom isystem
CLANG_OPTIONS = -x c++ -std=c++11 -nostdinc++ -isystem$(MODELS_DIR)/cpp/include -isystem$(CLANG_INCLUDES)/c++/v1/ -c
INFER_OPTIONS = --uninit-only --uninit-interproc --debug-exceptions --project-root $(TESTS_DIR)
INFERPRINT_OPTIONS = --issues-tests
SOURCES = $(wildcard *.cpp)
include $(TESTS_DIR)/infer.make
infer-out/report.json: $(MAKEFILE_LIST)
infer-out/report.json: $(CLANG_DEPS) $(SOURCES) $(MAKEFILE_LIST)
$(QUIET)$(REMOVE_DIR) buck-out && \
$(call silent_on_success,Testing uninit analysis with inter-procedural mode,\
$(INFER_BIN) $(INFER_OPTIONS) --results-dir $(CURDIR)/infer-out -- clang $(CLANG_OPTIONS) $(SOURCES))

@ -1,7 +0,0 @@
build_systems/uninit/inter_proc_uninit.cpp, FP_use_init_x_OK, 5, UNINITIALIZED_VALUE, no_bucket, ERROR, []
build_systems/uninit/inter_proc_uninit.cpp, call_init_some_field_of_struct_bad, 4, UNINITIALIZED_VALUE, no_bucket, ERROR, []
build_systems/uninit/inter_proc_uninit.cpp, i_call_maybe_init_bad, 3, UNINITIALIZED_VALUE, no_bucket, ERROR, []
build_systems/uninit/inter_proc_uninit.cpp, i_no_init_return_bad, 2, UNINITIALIZED_VALUE, no_bucket, ERROR, []
build_systems/uninit/inter_proc_uninit.cpp, no_init_field_in_calee_bad, 6, UNINITIALIZED_VALUE, no_bucket, ERROR, []
build_systems/uninit/inter_proc_uninit.cpp, no_init_in_calee_bad2, 6, UNINITIALIZED_VALUE, no_bucket, ERROR, []
build_systems/uninit/inter_proc_uninit.cpp, no_init_in_callee_bad, 6, UNINITIALIZED_VALUE, no_bucket, ERROR, []

@ -5,6 +5,8 @@
* LICENSE file in the root directory of this source tree.
*/
namespace interproc {
struct is {
int n;
int b;
@ -17,7 +19,7 @@ void i_no_init(int* i) { i = 0; }
// error is detected before call if x was not init
int i_inc(int x) { return x++; }
int no_init_in_callee_bad() {
int no_init_in_callee_bad_FN() {
int a;
int b = 0;
@ -27,7 +29,7 @@ int no_init_in_callee_bad() {
return b;
}
int init_in_calee_ok() {
int init_in_callee_ok() {
int a;
int b = 0;
@ -36,7 +38,7 @@ int init_in_calee_ok() {
return b;
}
int no_init_field_in_calee_bad() {
int no_init_field_in_callee_bad_FN() {
struct is t;
int b = 0;
@ -46,7 +48,7 @@ int no_init_field_in_calee_bad() {
return b;
}
int init_field_in_calee_ok() {
int init_field_in_callee_ok() {
struct is t;
int b = 0;
@ -56,7 +58,7 @@ int init_field_in_calee_ok() {
return b;
}
int no_init_in_calee_bad2() {
int no_init_in_callee_bad2_FN() {
int a;
int c = 0;
@ -66,7 +68,7 @@ int no_init_in_calee_bad2() {
return c;
}
int init_in_calee_ok2() {
int init_in_callee_ok2() {
int a;
int c = 0;
@ -87,7 +89,7 @@ int blame_on_callee() {
int c = i_no_init_return_bad();
a = c; // we don't flag the error here as it is flagged in no_init_return
// definition
// definition
return 0;
}
@ -108,7 +110,7 @@ void i_must_init_ok(int y, int* formal) {
};
}
int i_call_maybe_init_bad(int y) {
int i_call_maybe_init_bad_FN(int y) {
int x;
i_maybe_init(y, &x);
return x;
@ -191,3 +193,4 @@ int call_init_full_struct_ok() {
return 0;
}
} // namespace interproc

@ -1,5 +1,6 @@
codetoanalyze/cpp/uninit/default_constr.cpp, init_bad, 3, UNINITIALIZED_VALUE, no_bucket, ERROR, []
codetoanalyze/cpp/uninit/default_constr.cpp, init_bad, 3, UNINITIALIZED_VALUE, no_bucket, ERROR, []
codetoanalyze/cpp/uninit/inter_proc_uninit.cpp, interproc::i_no_init_return_bad, 2, UNINITIALIZED_VALUE, no_bucket, ERROR, []
codetoanalyze/cpp/uninit/members.cpp, access_members_bad, 4, UNINITIALIZED_VALUE, no_bucket, ERROR, []
codetoanalyze/cpp/uninit/members.cpp, access_members_bad2, 4, UNINITIALIZED_VALUE, no_bucket, ERROR, []
codetoanalyze/cpp/uninit/members.cpp, access_members_bad3, 4, UNINITIALIZED_VALUE, no_bucket, ERROR, []

Loading…
Cancel
Save