From 15246ec2a26439ae3c8a130e25cc1014e94f0646 Mon Sep 17 00:00:00 2001 From: Jules Villard Date: Tue, 16 Jul 2019 06:00:54 -0700 Subject: [PATCH] [tests] attempt at fewer race conditions Summary: This sometimes fail in our CI, eg: ``` [*ERROR**][66148] file has vanished: "/data/sandcastle/boxes/trunk-git-infer/infer/tests/build_systems/utf8_in_pwd/../codetoanalyze/make/utf8_in_function_names-617be4bc.o.tmp" ``` The issue seems to be that we are too greedy and try and copy files that may disappear. This diff makes the list of files to copy over explicit to exclude such temporary files. Reviewed By: artempyanykh Differential Revision: D16261872 fbshipit-source-id: 2b080d27a --- infer/tests/build_systems/utf8_in_pwd/Makefile | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/infer/tests/build_systems/utf8_in_pwd/Makefile b/infer/tests/build_systems/utf8_in_pwd/Makefile index 46ff70f81..b40058421 100644 --- a/infer/tests/build_systems/utf8_in_pwd/Makefile +++ b/infer/tests/build_systems/utf8_in_pwd/Makefile @@ -19,17 +19,21 @@ CMAKE_BUILD_DIR = $(CMAKE_DIR)/_build CMAKE_ANALYZE_DIR = $(CMAKE_DIR)/_build_infer CMAKE_SOURCES_DIR = ../codetoanalyze/cmake CMAKE_SOURCES = $(CMAKE_SOURCES_DIR)/hello.c +CMAKE_FILES = $(CMAKE_SOURCES) $(CMAKE_SOURCES_DIR)/CMakeLists.txt GRADLE_DIR = $(UTF8_DIR)/gradle GRADLE_SOURCES_DIR = $(ROOT_DIR)/examples/java_hello GRADLE_SOURCES = $(wildcard $(GRADLE_SOURCES_DIR)/*.java) +GRADLE_FILES = $(GRADLE_SOURCES) JAVAC_DIR = $(UTF8_DIR)/javac JAVAC_SOURCES = $(ROOT_DIR)/examples/Hello.java +JAVAC_FILES = $(JAVAC_SOURCES) MAKE_DIR = $(UTF8_DIR)/make MAKE_SOURCES_DIR = ../codetoanalyze/make MAKE_SOURCES = $(wildcard $(MAKE_SOURCES_DIR)/*.c $(MAKE_SOURCES_DIR)/*.java) +MAKE_FILES = $(MAKE_SOURCES) $(MAKE_SOURCES_DIR)/Makefile CLEAN_EXTRA = $(CMAKE_BUILD_DIR) $(CMAKE_ANALYZE_DIR) infer-out-cmake INFERPRINT_OPTIONS = --issues-tests @@ -40,20 +44,23 @@ $(UTF8_DIR): $(QUIET)$(MKDIR_P) $@ $(CMAKE_DIR): $(CMAKE_SOURCES) $(UTF8_DIR) - $(QUIET)rsync -aL --exclude='_build*' $(CMAKE_SOURCES_DIR)/ $@/ + $(QUIET)$(MKDIR_P) $@ + $(QUIET)cp $(CMAKE_FILES) $@/ $(QUIET)touch $@ $(GRADLE_DIR): $(GRADLE_SOURCES) $(UTF8_DIR) - $(QUIET)rsync -a $(GRADLE_SOURCES_DIR)/ $@/ + $(QUIET)$(MKDIR_P) $@ + $(QUIET)cp $(GRADLE_FILES) $@/ $(QUIET)touch $@ $(JAVAC_DIR): $(JAVAC_SOURCES) $(UTF8_DIR) - $(QUIET)$(MKDIR_P) $(JAVAC_DIR) - $(QUIET)rsync -a $(JAVAC_SOURCES) $@ + $(QUIET)$(MKDIR_P) $@ + $(QUIET)cp $(JAVAC_FILES) $@/ $(QUIET)touch $@ $(MAKE_DIR): $(MAKE_SOURCES) $(UTF8_DIR) - $(QUIET)rsync -a $(MAKE_SOURCES_DIR)/ $@/ + $(QUIET)$(MKDIR_P) $@ + $(QUIET)rsync -a $(MAKE_FILES) $@/ $(QUIET)touch $@ infer-out-cmake/report.json: $(CMAKE_DIR) $(CMAKE_SOURCES_DIR)/CMakeLists.txt $(CLANG_DEPS)