From 658463b7cef25b7a62be479448fe548c67bf35dc Mon Sep 17 00:00:00 2001 From: Niles Rogoff Date: Thu, 21 Jan 2021 14:44:23 -0800 Subject: [PATCH] Retry bistro tests up to 5 times Differential Revision: D25985696 fbshipit-source-id: 52ede8dc494f8bf1991dbfed455fbc6bbba83d87 --- build/fbcode_builder/getdeps/builder.py | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/build/fbcode_builder/getdeps/builder.py b/build/fbcode_builder/getdeps/builder.py index 0a5b01ba3..db42b1bc0 100644 --- a/build/fbcode_builder/getdeps/builder.py +++ b/build/fbcode_builder/getdeps/builder.py @@ -294,11 +294,23 @@ class BistroBuilder(BuilderBase): ): env = self._compute_env(install_dirs) build_dir = os.path.join(self.src_dir, "bistro", "bistro", "cmake", "Release") - self._run_cmd( - ["ctest", build_dir], - cwd=build_dir, - env=env, - ) + NUM_RETRIES = 5 + for i in range(NUM_RETRIES): + cmd = ["ctest", "--output-on-failure"] + if i > 0: + cmd.append("--rerun-failed") + cmd.append(build_dir) + try: + self._run_cmd( + cmd, + cwd=build_dir, + env=env, + ) + except Exception: + print(f"Tests failed... retrying ({i+1}/{NUM_RETRIES})") + else: + return + raise Exception(f"Tests failed even after {NUM_RETRIES} retries") class CMakeBuilder(BuilderBase):