From b0f5403854e7bb9d56fc934fd56b9665ba59f9b8 Mon Sep 17 00:00:00 2001 From: Lutz Justen Date: Mon, 28 Nov 2022 11:04:02 +0100 Subject: [PATCH] Fix possible indefinite loop in FileWatcherTest (#23) The test FileWatcherTest/FileWatcherParameterizedTest.RecreateWatchedDir/ReadDirectoryChangesExW is flaky. This CL doesn't fix the root cause, but it fixes the indefinite spin in GetChangedFiles when there is no file change. --- common/file_watcher_win_test.cc | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/common/file_watcher_win_test.cc b/common/file_watcher_win_test.cc index 46a7ba1..c587026 100644 --- a/common/file_watcher_win_test.cc +++ b/common/file_watcher_win_test.cc @@ -140,7 +140,11 @@ class FileWatcherParameterizedTest : public ::testing::TestWithParam { // Wait for events, until they are processed. while (modified_files.size() < number_of_files) { - EXPECT_TRUE(WaitForChange()); + if (!WaitForChange()) { + LOG_ERROR("No change detected after %s", + absl::FormatDuration(kWaitTimeout)); + return modified_files; + } for (const auto& [path, info] : watcher_.GetModifiedFiles()) modified_files.insert_or_assign(path, info); }