Add test for introducing a procedure

Summary: This tests the previous commit D17093980, which moves incremental analysis to run before capture

Reviewed By: ngorogiannis

Differential Revision: D17113475

fbshipit-source-id: 702d967b3
master
Phoebe Nichols 5 years ago committed by Facebook Github Bot
parent 6874926b10
commit 43964c898c

1
.gitignore vendored

@ -46,6 +46,7 @@ duplicates.txt
/infer/tests/build_systems/genrule/report.json
/infer/tests/build_systems/incremental_analysis_remove_file/src
/infer/tests/build_systems/incremental_analysis_cost_change/src
/infer/tests/build_systems/incremental_analysis_add_procedure/src
/infer/tests/build_systems/java_test_determinator/*.test
/infer/tests/codetoanalyze/java/classloads/*.loads
/infer/tests/codetoanalyze/java/classloads/loads.exp

@ -0,0 +1,43 @@
# Copyright (c) Facebook, Inc. and its affiliates.
#
# This source code is licensed under the MIT license found in the
# LICENSE file in the root directory of this source tree.
TESTS_DIR = ../..
MODIFIED_FILES_FILE = changed_files.txt
SOURCES = $(wildcard src_after/*.c src_after/*.h src_before/*.c src_before/*.h)
INFER_OPTIONS = --changed-files-index $(MODIFIED_FILES_FILE) \
--incremental-analysis \
--debug-level-analysis 1
include $(TESTS_DIR)/differential.make
.PHONY: compare_cg
compare_cg: $(PREVIOUS_REPORT)
$(QUIET)$(call check_no_diff,\
reverse_analysis_callgraph.dot,\
reverse_analysis_callgraph.dot.test)
replace_cg: $(PREVIOUS_REPORT)
$(COPY) reverse_analysis_callgraph.dot.test reverse_analysis_callgraph.dot
test: compare_cg
replace: replace_cg
$(CURRENT_REPORT): $(INFER_CLANG_DEPS) $(SOURCES)
$(QUIET)$(REMOVE_DIR) src
$(QUIET)$(MKDIR_P) src
$(QUIET)$(COPY) src_after/* src/
$(QUIET)$(INFER_BIN) -o $(CURRENT_DIR) -- clang -c src/*.c
$(PREVIOUS_REPORT): $(INFER_CLANG_DEPS) $(SOURCES) $(CURRENT_REPORT)
$(QUIET)$(REMOVE_DIR) src
$(QUIET)$(MKDIR_P) src
$(QUIET)$(COPY) src_before/* src/
$(QUIET)$(REMOVE_DIR) $(PREVIOUS_DIR)
$(QUIET)$(COPY) -r $(CURRENT_DIR) $(PREVIOUS_DIR)
$(QUIET)$(REMOVE) $@
$(QUIET)$(INFER_BIN) -o $(PREVIOUS_DIR) $(INFER_OPTIONS) -- clang -c src/*.c
$(QUIET)$(COPY) $(PREVIOUS_DIR)/reverse_analysis_callgraph.dot \
reverse_analysis_callgraph.dot.test

@ -0,0 +1,13 @@
digraph callgraph {
N1 [ label = "b", flag = true ];
N0 [ label = "a", flag = true ];
N0 -> N1 ;
N2 [ label = "c", flag = true ];
N2 -> N3 ;
N3 [ label = "main", flag = true ];
}

@ -0,0 +1,17 @@
/*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
void a() {}
void b() { a(); }
void c() {}
int main() {
c();
return 0;
}

@ -0,0 +1,8 @@
/*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
int main() { return 0; }

@ -3,8 +3,6 @@
# This source code is licensed under the MIT license found in the
# LICENSE file in the root directory of this source tree.
# E2E test involving the interesting_paths_filter function
TESTS_DIR = ../..
MODIFIED_FILES_FILE = changed_files.txt

@ -3,8 +3,6 @@
# This source code is licensed under the MIT license found in the
# LICENSE file in the root directory of this source tree.
# E2E test involving the interesting_paths_filter function
TESTS_DIR = ../..
MODIFIED_FILES_FILE = changed_files.txt

@ -3,8 +3,6 @@
# This source code is licensed under the MIT license found in the
# LICENSE file in the root directory of this source tree.
# E2E test involving the interesting_paths_filter function
TESTS_DIR = ../..
MODIFIED_FILES_FILE = changed_files.txt

Loading…
Cancel
Save