| Index: test/FilterEngine.cpp |
| =================================================================== |
| --- a/test/FilterEngine.cpp |
| +++ b/test/FilterEngine.cpp |
| @@ -16,6 +16,7 @@ |
| */ |
| #include "BaseJsTest.h" |
| +#include "JsLatch.h" |
| #include <thread> |
| #include "../src/JsEngineTransition.h" |
| @@ -136,9 +137,6 @@ |
| int& timesCalled; |
| }; |
| - // Workaround for https://issues.adblockplus.org/ticket/1397. |
| - void NoOpUpdaterCallback(const std::string&) {} |
| - |
| class FilterEngineWithFreshFolder : public ::testing::Test |
| { |
| protected: |
| @@ -556,13 +554,15 @@ |
| MockUpdateAvailableCallback mockUpdateAvailableCallback(timesCalled); |
| filterEngine->SetUpdateAvailableCallback(mockUpdateAvailableCallback); |
| - filterEngine->ForceUpdateCheck(&NoOpUpdaterCallback); |
| - std::this_thread::sleep_for(std::chrono::milliseconds(100)); |
| + Latch latchA(1); |
| + filterEngine->ForceUpdateCheck([&](const std::string&) {latchA.Arrive(); }); |
| + latchA.Wait(); |
| ASSERT_EQ(1, timesCalled); |
| filterEngine->RemoveUpdateAvailableCallback(); |
| - filterEngine->ForceUpdateCheck(&NoOpUpdaterCallback); |
| - std::this_thread::sleep_for(std::chrono::milliseconds(100)); |
| + Latch latchB(1); |
| + filterEngine->ForceUpdateCheck([&](const std::string&) {latchB.Arrive(); }); |
| + latchB.Wait(); |
| ASSERT_EQ(1, timesCalled); |
| } |