diff --git a/test/fixtures/fixture_log_observer.cpp b/test/fixtures/fixture_log_observer.cpp index f28bbdcd2..a6e89e2e7 100644 --- a/test/fixtures/fixture_log_observer.cpp +++ b/test/fixtures/fixture_log_observer.cpp @@ -31,16 +31,22 @@ bool FixtureLog::Observer::onRecord(EventSeverity severity, Event event, int64_t code, const std::string& msg) { + std::lock_guard lock(messagesMutex); + messages.emplace_back(severity, event, code, msg); return true; } bool FixtureLog::Observer::empty() const { + std::lock_guard lock(messagesMutex); + return messages.empty(); } size_t FixtureLog::Observer::count(const Message& message) const { + std::lock_guard lock(messagesMutex); + size_t message_count = 0; for (const auto& msg : messages) { if (msg == message) { @@ -70,6 +76,8 @@ FixtureLog::~FixtureLog() { } std::vector FixtureLogObserver::unchecked() const { + std::lock_guard lock(messagesMutex); + std::vector unchecked_messages; for (const auto& msg : messages) { if (!msg.checked) { diff --git a/test/fixtures/fixture_log_observer.hpp b/test/fixtures/fixture_log_observer.hpp index f28bb552a..f2ccb5cb5 100644 --- a/test/fixtures/fixture_log_observer.hpp +++ b/test/fixtures/fixture_log_observer.hpp @@ -5,6 +5,7 @@ #include #include +#include #include namespace mbgl { @@ -42,9 +43,10 @@ public: size_t count(const Message& message) const; std::vector unchecked() const; - public: + private: FixtureLog* log; std::vector messages; + mutable std::mutex messagesMutex; }; FixtureLog();