diff options
author | Thiago Marcos P. Santos <thiago@mapbox.com> | 2015-05-22 17:22:58 +0300 |
---|---|---|
committer | Thiago Marcos P. Santos <thiago@mapbox.com> | 2015-05-22 17:24:38 +0300 |
commit | 733539e36a1dfb16cdf76f73f8c7f1ecd843b653 (patch) | |
tree | 49a2a7786837e6a62c3e493213fd75e7dbebcfc7 | |
parent | 3cf76ce9078a2cb181748fbf79741fb75a1f6b65 (diff) | |
download | qtlocation-mapboxgl-733539e36a1dfb16cdf76f73f8c7f1ecd843b653.tar.gz |
Add check for log messages on ResourceLoader tests
This will make the tests less verbose and at the same
time make sure we are logging properly.
-rw-r--r-- | test/resources/resource_loader.cpp | 31 |
1 files changed, 29 insertions, 2 deletions
diff --git a/test/resources/resource_loader.cpp b/test/resources/resource_loader.cpp index 4203755f8a..e08815c6b5 100644 --- a/test/resources/resource_loader.cpp +++ b/test/resources/resource_loader.cpp @@ -1,3 +1,4 @@ +#include "../fixtures/fixture_log_observer.hpp" #include "../fixtures/util.hpp" #include "mock_file_source.hpp" #include "mock_view.hpp" @@ -121,6 +122,9 @@ TEST_P(ResourceLoaderTest, RequestFailure) { MockView view; MockFileSource fileSource(param); + FixtureLogObserver* log = new FixtureLogObserver(); + Log::setObserver(std::unique_ptr<Log::Observer>(log)); + auto callback = [&loop, ¶m](std::exception_ptr error) { try { if (error) { @@ -144,10 +148,33 @@ TEST_P(ResourceLoaderTest, RequestFailure) { loop.stop(); }; - util::Thread<MockMapContext> context( - "Map", util::ThreadPriority::Regular, view, fileSource, callback); + std::unique_ptr<util::Thread<MockMapContext>> context( + util::make_unique<util::Thread<MockMapContext>>( + "Map", util::ThreadPriority::Regular, view, fileSource, callback)); uv_run(loop.get(), UV_RUN_DEFAULT); + + // Needed because it will make the Map thread + // join and cease logging after this point. + context.reset(); + + std::stringstream message; + message << "Failed to load [test/fixtures/resources/" << param << "]: Failed by the test case"; + + const FixtureLogObserver::LogMessage logMessage { + EventSeverity::Error, + Event::ResourceLoader, + int64_t(-1), + message.str(), + }; + + if (param.empty()) { + EXPECT_EQ(log->count(logMessage), 0u); + } else { + EXPECT_GT(log->count(logMessage), 0u); + } + + EXPECT_EQ(log->unchecked().size(), 0u); } INSTANTIATE_TEST_CASE_P(ResourceLoader, ResourceLoaderTest, |