summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorThiago Marcos P. Santos <thiago@mapbox.com>2015-05-22 17:22:58 +0300
committerThiago Marcos P. Santos <thiago@mapbox.com>2015-05-22 17:24:38 +0300
commit733539e36a1dfb16cdf76f73f8c7f1ecd843b653 (patch)
tree49a2a7786837e6a62c3e493213fd75e7dbebcfc7 /test
parent3cf76ce9078a2cb181748fbf79741fb75a1f6b65 (diff)
downloadqtlocation-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.
Diffstat (limited to 'test')
-rw-r--r--test/resources/resource_loader.cpp31
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, &param](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,