From f57154372fc8e5db5d279d3b7bb932f8244f4ad5 Mon Sep 17 00:00:00 2001 From: Jules Villard Date: Thu, 15 Dec 2016 09:02:52 -0800 Subject: [PATCH] [tests] move make test to a Makefile Reviewed By: jberdine Differential Revision: D4329640 fbshipit-source-id: e97ce1c --- Makefile | 2 +- .../build_systems/build_integration_tests.py | 5 ++-- .../expected_outputs/make_report.json | 7 ------ infer/tests/build_systems/make/Makefile | 23 +++++++++++++++++++ infer/tests/build_systems/make/issues.exp | 1 + 5 files changed, 27 insertions(+), 11 deletions(-) delete mode 100644 infer/tests/build_systems/expected_outputs/make_report.json create mode 100644 infer/tests/build_systems/make/Makefile create mode 100644 infer/tests/build_systems/make/issues.exp diff --git a/Makefile b/Makefile index af6ec34dc..b227b6928 100644 --- a/Makefile +++ b/Makefile @@ -15,7 +15,7 @@ endif BUILD_SYSTEMS_TESTS = \ assembly ck_analytics ck_imports clang_translation delete_results_dir fail_on_issue gradle \ - javac linters project_root_rel utf8_in_procname + javac linters make project_root_rel utf8_in_procname ifneq ($(ANT),no) BUILD_SYSTEMS_TESTS += ant endif diff --git a/infer/tests/build_systems/build_integration_tests.py b/infer/tests/build_systems/build_integration_tests.py index d269dd729..0783720c4 100755 --- a/infer/tests/build_systems/build_integration_tests.py +++ b/infer/tests/build_systems/build_integration_tests.py @@ -61,7 +61,6 @@ CODETOANALYZE_DIR = os.path.join(SCRIPT_DIR, 'codetoanalyze') EXPECTED_OUTPUTS_DIR = os.path.join(SCRIPT_DIR, 'expected_outputs') ALL_TESTS = [ - 'make', 'multiclang', 'ndk-build', 'pmd-xml', @@ -342,7 +341,7 @@ class BuildIntegrationTest(unittest.TestCase): report_fname=report_fname, env=env) - def test_make_integration( + def _test_make_integration( self, enabled=None, root=os.path.join(CODETOANALYZE_DIR, 'make'), @@ -430,7 +429,7 @@ class BuildIntegrationTest(unittest.TestCase): enabled=True, root=os.path.join(utf8_in_pwd_path), report_fname='utf8_in_pwd_javac_report.json') - self.test_make_integration( + self._test_make_integration( enabled=True, root=os.path.join(utf8_in_pwd_path, 'make'), report_fname='utf8_in_pwd_make_report.json') diff --git a/infer/tests/build_systems/expected_outputs/make_report.json b/infer/tests/build_systems/expected_outputs/make_report.json deleted file mode 100644 index b43a81460..000000000 --- a/infer/tests/build_systems/expected_outputs/make_report.json +++ /dev/null @@ -1,7 +0,0 @@ -[ - { - "bug_type": "NULL_DEREFERENCE", - "file": "utf8_in_function_names.c", - "procedure": "test_\uc131\uacf5" - } -] \ No newline at end of file diff --git a/infer/tests/build_systems/make/Makefile b/infer/tests/build_systems/make/Makefile new file mode 100644 index 000000000..acdf4e32c --- /dev/null +++ b/infer/tests/build_systems/make/Makefile @@ -0,0 +1,23 @@ +# Copyright (c) 2016 - present Facebook, Inc. +# All rights reserved. +# +# This source code is licensed under the BSD style license found in the +# LICENSE file in the root directory of this source tree. An additional grant +# of patent rights can be found in the PATENTS file in the same directory. + +TESTS_DIR = ../.. + +ANALYZER = infer + +CLANG_OPTIONS = -c +INFERPRINT_OPTIONS = --issues-tests + +SOURCES = $(wildcard ../codetoanalyze/make/*.c) + +include $(TESTS_DIR)/clang.make + +infer-out/report.json: $(CLANG_DEPS) $(SOURCES) $(HEADERS) + $(call silent_on_success,\ + $(INFER_BIN) --check-duplicate-symbols --project-root $(TESTS_DIR) -a $(ANALYZER) -- \ + make -C ../codetoanalyze/make clean all 2>duplicates.txt) + grep "DUPLICATE_SYMBOLS" duplicates.txt; test $$? -ne 0 diff --git a/infer/tests/build_systems/make/issues.exp b/infer/tests/build_systems/make/issues.exp new file mode 100644 index 000000000..26203c528 --- /dev/null +++ b/infer/tests/build_systems/make/issues.exp @@ -0,0 +1 @@ +build_systems/codetoanalyze/make/utf8_in_function_names.c, test_성공, 2, NULL_DEREFERENCE, [start of procedure test_성공()]