| Index: test/UpdateCheck.cpp |
| =================================================================== |
| --- a/test/UpdateCheck.cpp |
| +++ b/test/UpdateCheck.cpp |
| @@ -18,6 +18,7 @@ |
| #include <functional> |
| #include "BaseJsTest.h" |
| +#include "JsLatch.h" |
| #include "../src/JsEngineTransition.h" |
| namespace |
| @@ -100,10 +101,15 @@ |
| Construct(); |
| } |
| - void ForceUpdateCheck() |
| + void ForceUpdateCheckSynchronous() |
| { |
| - filterEngine->ForceUpdateCheck( |
| - std::bind(&UpdateCheckTest::UpdateCallback, this, std::placeholders::_1)); |
| + Latch latch(1); |
| + filterEngine->ForceUpdateCheck([&, this](const std::string& error) -> void |
| + { |
| + UpdateCallback(error); |
| + latch.Arrive(); |
| + }); |
| + latch.Wait(); |
| } |
| void EventCallback(AdblockPlus::JsValueList& params) |
| @@ -131,9 +137,7 @@ |
| appInfo.developmentBuild = false; |
| Reset(); |
| - ForceUpdateCheck(); |
| - |
| - std::this_thread::sleep_for(std::chrono::milliseconds(100)); |
| + ForceUpdateCheckSynchronous(); |
| ASSERT_FALSE(eventCallbackCalled); |
| ASSERT_TRUE(updateCallbackCalled); |
| @@ -168,9 +172,7 @@ |
| appInfo.developmentBuild = true; |
| Reset(); |
| - ForceUpdateCheck(); |
| - |
| - std::this_thread::sleep_for(std::chrono::milliseconds(100)); |
| + ForceUpdateCheckSynchronous(); |
| ASSERT_TRUE(eventCallbackCalled); |
| ASSERT_EQ(1u, eventCallbackParams.size()); |
| @@ -207,9 +209,7 @@ |
| appInfo.developmentBuild = true; |
| Reset(); |
| - ForceUpdateCheck(); |
| - |
| - std::this_thread::sleep_for(std::chrono::milliseconds(100)); |
| + ForceUpdateCheckSynchronous(); |
| ASSERT_TRUE(eventCallbackCalled); |
| ASSERT_EQ(1u, eventCallbackParams.size()); |
| @@ -231,9 +231,7 @@ |
| appInfo.developmentBuild = true; |
| Reset(); |
| - ForceUpdateCheck(); |
| - |
| - std::this_thread::sleep_for(std::chrono::milliseconds(100)); |
| + ForceUpdateCheckSynchronous(); |
| ASSERT_FALSE(eventCallbackCalled); |
| ASSERT_TRUE(updateCallbackCalled); |
| @@ -253,9 +251,7 @@ |
| appInfo.developmentBuild = true; |
| Reset(); |
| - ForceUpdateCheck(); |
| - |
| - std::this_thread::sleep_for(std::chrono::milliseconds(100)); |
| + ForceUpdateCheckSynchronous(); |
| ASSERT_FALSE(eventCallbackCalled); |
| ASSERT_TRUE(updateCallbackCalled); |
| @@ -275,9 +271,7 @@ |
| appInfo.developmentBuild = true; |
| Reset(); |
| - ForceUpdateCheck(); |
| - |
| - std::this_thread::sleep_for(std::chrono::milliseconds(100)); |
| + ForceUpdateCheckSynchronous(); |
| ASSERT_FALSE(eventCallbackCalled); |
| ASSERT_TRUE(updateCallbackCalled); |