From d80c9c742db4da64721ab4ba06c8b2ef09e7db63 Mon Sep 17 00:00:00 2001 From: Jules Villard Date: Thu, 15 Dec 2016 09:02:38 -0800 Subject: [PATCH] [tests] move utf8 in procname test to a Makefile Reviewed By: jberdine Differential Revision: D4329636 fbshipit-source-id: bca82df --- Makefile | 2 +- .../build_systems/build_integration_tests.py | 10 ------- .../expected_outputs/locale_report.json | 7 ----- .../build_systems/utf8_in_procname/Makefile | 29 +++++++++++++++++++ .../build_systems/utf8_in_procname/issues.exp | 1 + 5 files changed, 31 insertions(+), 18 deletions(-) delete mode 100644 infer/tests/build_systems/expected_outputs/locale_report.json create mode 100644 infer/tests/build_systems/utf8_in_procname/Makefile create mode 100644 infer/tests/build_systems/utf8_in_procname/issues.exp diff --git a/Makefile b/Makefile index 3481fa750..af6ec34dc 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 + javac linters 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 f61484662..d269dd729 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 = [ - 'locale', 'make', 'multiclang', 'ndk-build', @@ -378,15 +377,6 @@ class BuildIntegrationTest(unittest.TestCase): shutil.rmtree(gen_lib_dir) shutil.rmtree(gen_obj_dir) - def test_wonky_locale_integration(self): - env = os.environ.copy() - env['LC_ALL'] = 'C' - test('locale', 'wonky locale', - os.path.join(CODETOANALYZE_DIR, 'make'), - [{'compile': ['clang', '-c', 'utf8_in_function_names.c']}, - {'compile': ['clang', '-c', 'utf8_in_function_names.c']}], - env=env) - def test_waf_integration(self): test('waf', 'waf', os.path.join(CODETOANALYZE_DIR, 'make'), diff --git a/infer/tests/build_systems/expected_outputs/locale_report.json b/infer/tests/build_systems/expected_outputs/locale_report.json deleted file mode 100644 index b43a81460..000000000 --- a/infer/tests/build_systems/expected_outputs/locale_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/utf8_in_procname/Makefile b/infer/tests/build_systems/utf8_in_procname/Makefile new file mode 100644 index 000000000..23c1d80e4 --- /dev/null +++ b/infer/tests/build_systems/utf8_in_procname/Makefile @@ -0,0 +1,29 @@ +# 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 +INFER_OPTIONS = --project-root ../codetoanalyze +INFERPRINT_OPTIONS = --issues-tests + +SOURCES = ../codetoanalyze/make/utf8_in_function_names.c + +include $(TESTS_DIR)/clang.make + +infer-out/report.json: $(CLANG_DEPS) $(SOURCES) $(HEADERS) +# set non-utf8-supporting locale + LC_ALL=C; \ + $(call silent_on_success,\ + $(INFER_BIN) --check-duplicate-symbols $(INFER_OPTIONS) -a $(ANALYZER) -- clang $(CLANG_OPTIONS) $(SOURCES) 2>duplicates.txt) +# run again to check that infer manages to delete the results directory + LC_ALL=C; \ + $(call silent_on_success,\ + $(INFER_BIN) --check-duplicate-symbols $(INFER_OPTIONS) -a $(ANALYZER) -- clang $(CLANG_OPTIONS) $(SOURCES) 2>duplicates.txt) + grep "DUPLICATE_SYMBOLS" duplicates.txt; test $$? -ne 0 diff --git a/infer/tests/build_systems/utf8_in_procname/issues.exp b/infer/tests/build_systems/utf8_in_procname/issues.exp new file mode 100644 index 000000000..622646551 --- /dev/null +++ b/infer/tests/build_systems/utf8_in_procname/issues.exp @@ -0,0 +1 @@ +make/utf8_in_function_names.c, test_성공, 2, NULL_DEREFERENCE, [start of procedure test_성공()]