summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/headless/headless.cpp5
-rw-r--r--test/storage/cache_response.cpp9
-rw-r--r--test/storage/cache_revalidate.cpp17
-rw-r--r--test/storage/database.cpp55
-rw-r--r--test/storage/directory_reading.cpp7
-rw-r--r--test/storage/file_reading.cpp19
-rw-r--r--test/storage/http_cancel.cpp15
-rw-r--r--test/storage/http_coalescing.cpp5
-rw-r--r--test/storage/http_environment.cpp9
-rw-r--r--test/storage/http_error.cpp7
-rw-r--r--test/storage/http_header_parsing.cpp7
-rw-r--r--test/storage/http_load.cpp5
-rw-r--r--test/storage/http_noloop.cpp5
-rw-r--r--test/storage/http_other_loop.cpp5
-rw-r--r--test/storage/http_reading.cpp28
15 files changed, 94 insertions, 104 deletions
diff --git a/test/headless/headless.cpp b/test/headless/headless.cpp
index 76c1264333..f4c8accf61 100644
--- a/test/headless/headless.cpp
+++ b/test/headless/headless.cpp
@@ -4,7 +4,6 @@
#include <mbgl/map/map.hpp>
#include <mbgl/util/image.hpp>
#include <mbgl/util/std.hpp>
-#include <mbgl/util/thread.hpp>
#include <mbgl/util/io.hpp>
#include <rapidjson/document.h>
@@ -140,8 +139,8 @@ TEST_P(HeadlessTest, render) {
}
HeadlessView view(display);
- util::Thread<DefaultFileSource> fileSource(nullptr);
- Map map(view, *fileSource);
+ DefaultFileSource fileSource(nullptr);
+ Map map(view, fileSource);
map.setClasses(classes);
map.setStyleJSON(style, "test/suite");
diff --git a/test/storage/cache_response.cpp b/test/storage/cache_response.cpp
index 46083e2f93..e37899a86f 100644
--- a/test/storage/cache_response.cpp
+++ b/test/storage/cache_response.cpp
@@ -4,20 +4,19 @@
#include <mbgl/storage/default_file_source.hpp>
#include <mbgl/storage/default/sqlite_cache.hpp>
-#include <mbgl/util/thread.hpp>
TEST_F(Storage, CacheResponse) {
SCOPED_TEST(CacheResponse);
using namespace mbgl;
- util::Thread<SQLiteCache> cache(":memory:");
- util::Thread<DefaultFileSource> fs(cache);
+ SQLiteCache cache(":memory:");
+ DefaultFileSource fs(&cache);
const Resource resource { Resource::Unknown, "http://127.0.0.1:3000/cache" };
auto &env = *static_cast<const Environment *>(nullptr);
- fs->request(resource, uv_default_loop(), env, [&](const Response &res) {
+ fs.request(resource, uv_default_loop(), env, [&](const Response &res) {
EXPECT_EQ(Response::Successful, res.status);
EXPECT_EQ("Response 1", res.data);
EXPECT_LT(0, res.expires);
@@ -25,7 +24,7 @@ TEST_F(Storage, CacheResponse) {
EXPECT_EQ("", res.etag);
EXPECT_EQ("", res.message);
- fs->request(resource, uv_default_loop(), env, [&, res](const Response &res2) {
+ fs.request(resource, uv_default_loop(), env, [&, res](const Response &res2) {
EXPECT_EQ(res.status, res2.status);
EXPECT_EQ(res.data, res2.data);
EXPECT_EQ(res.expires, res2.expires);
diff --git a/test/storage/cache_revalidate.cpp b/test/storage/cache_revalidate.cpp
index 901c151f14..bd32042b94 100644
--- a/test/storage/cache_revalidate.cpp
+++ b/test/storage/cache_revalidate.cpp
@@ -4,7 +4,6 @@
#include <mbgl/storage/default_file_source.hpp>
#include <mbgl/storage/default/sqlite_cache.hpp>
-#include <mbgl/util/thread.hpp>
TEST_F(Storage, CacheRevalidate) {
SCOPED_TEST(CacheRevalidateSame)
@@ -13,13 +12,13 @@ TEST_F(Storage, CacheRevalidate) {
using namespace mbgl;
- util::Thread<SQLiteCache> cache(":memory:");
- util::Thread<DefaultFileSource> fs(cache);
+ SQLiteCache cache(":memory:");
+ DefaultFileSource fs(&cache);
auto &env = *static_cast<const Environment *>(nullptr);
const Resource revalidateSame { Resource::Unknown, "http://127.0.0.1:3000/revalidate-same" };
- fs->request(revalidateSame, uv_default_loop(), env, [&](const Response &res) {
+ fs.request(revalidateSame, uv_default_loop(), env, [&](const Response &res) {
EXPECT_EQ(Response::Successful, res.status);
EXPECT_EQ("Response", res.data);
EXPECT_EQ(0, res.expires);
@@ -27,7 +26,7 @@ TEST_F(Storage, CacheRevalidate) {
EXPECT_EQ("snowfall", res.etag);
EXPECT_EQ("", res.message);
- fs->request(revalidateSame, uv_default_loop(), env, [&, res](const Response &res2) {
+ fs.request(revalidateSame, uv_default_loop(), env, [&, res](const Response &res2) {
EXPECT_EQ(Response::Successful, res2.status);
EXPECT_EQ("Response", res2.data);
// We use this to indicate that a 304 reply came back.
@@ -43,7 +42,7 @@ TEST_F(Storage, CacheRevalidate) {
const Resource revalidateModified{ Resource::Unknown,
"http://127.0.0.1:3000/revalidate-modified" };
- fs->request(revalidateModified, uv_default_loop(), env, [&](const Response &res) {
+ fs.request(revalidateModified, uv_default_loop(), env, [&](const Response &res) {
EXPECT_EQ(Response::Successful, res.status);
EXPECT_EQ("Response", res.data);
EXPECT_EQ(0, res.expires);
@@ -51,7 +50,7 @@ TEST_F(Storage, CacheRevalidate) {
EXPECT_EQ("", res.etag);
EXPECT_EQ("", res.message);
- fs->request(revalidateModified, uv_default_loop(), env, [&, res](const Response &res2) {
+ fs.request(revalidateModified, uv_default_loop(), env, [&, res](const Response &res2) {
EXPECT_EQ(Response::Successful, res2.status);
EXPECT_EQ("Response", res2.data);
// We use this to indicate that a 304 reply came back.
@@ -65,7 +64,7 @@ TEST_F(Storage, CacheRevalidate) {
});
const Resource revalidateEtag { Resource::Unknown, "http://127.0.0.1:3000/revalidate-etag" };
- fs->request(revalidateEtag, uv_default_loop(), env, [&](const Response &res) {
+ fs.request(revalidateEtag, uv_default_loop(), env, [&](const Response &res) {
EXPECT_EQ(Response::Successful, res.status);
EXPECT_EQ("Response 1", res.data);
EXPECT_EQ(0, res.expires);
@@ -73,7 +72,7 @@ TEST_F(Storage, CacheRevalidate) {
EXPECT_EQ("response-1", res.etag);
EXPECT_EQ("", res.message);
- fs->request(revalidateEtag, uv_default_loop(), env, [&, res](const Response &res2) {
+ fs.request(revalidateEtag, uv_default_loop(), env, [&, res](const Response &res2) {
EXPECT_EQ(Response::Successful, res2.status);
EXPECT_EQ("Response 2", res2.data);
EXPECT_EQ(0, res2.expires);
diff --git a/test/storage/database.cpp b/test/storage/database.cpp
index ffa82ecb98..02b25d696a 100644
--- a/test/storage/database.cpp
+++ b/test/storage/database.cpp
@@ -7,7 +7,6 @@
#include <mbgl/storage/resource.hpp>
#include <mbgl/storage/response.hpp>
#include <mbgl/util/io.hpp>
-#include <mbgl/util/thread.hpp>
#include <sqlite3.h>
@@ -37,14 +36,14 @@ TEST_F(Storage, DatabaseDoesNotExist) {
Log::setObserver(util::make_unique<FixtureLogObserver>());
+ SQLiteCache cache("test/fixtures/404/cache.db");
+
ScopedTest test([&] {
auto observer = Log::removeObserver();
EXPECT_EQ(1ul, dynamic_cast<FixtureLogObserver*>(observer.get())->count({ EventSeverity::Error, Event::Database, 14, "unable to open database file" }));
});
- util::Thread<SQLiteCache> cache("test/fixtures/404/cache.db");
-
- cache->get({ Resource::Unknown, "mapbox://test" }, [&] (std::unique_ptr<Response> res) {
+ cache.get({ Resource::Unknown, "mapbox://test" }, [&] (std::unique_ptr<Response> res) {
EXPECT_EQ(nullptr, res.get());
test.finish();
});
@@ -82,13 +81,13 @@ TEST_F(Storage, DatabaseCreate) {
Log::setObserver(util::make_unique<FixtureLogObserver>());
+ SQLiteCache cache("test/fixtures/database/cache.db");
+
ScopedTest test([&] {
Log::removeObserver();
});
- util::Thread<SQLiteCache> cache("test/fixtures/database/cache.db");
-
- cache->get({ Resource::Unknown, "mapbox://test" }, [&] (std::unique_ptr<Response> res) {
+ cache.get({ Resource::Unknown, "mapbox://test" }, [&] (std::unique_ptr<Response> res) {
EXPECT_EQ(nullptr, res.get());
test.finish();
});
@@ -142,7 +141,7 @@ TEST_F(Storage, DatabaseLockedRead) {
FileLock guard("test/fixtures/database/locked.db");
- util::Thread<SQLiteCache> cache("test/fixtures/database/locked.db");
+ SQLiteCache cache("test/fixtures/database/locked.db");
std::promise<void> promise;
@@ -150,7 +149,7 @@ TEST_F(Storage, DatabaseLockedRead) {
// First request should fail.
Log::setObserver(util::make_unique<FixtureLogObserver>());
promise = {};
- cache->get({ Resource::Unknown, "mapbox://test" }, [&] (std::unique_ptr<Response> res) {
+ cache.get({ Resource::Unknown, "mapbox://test" }, [&] (std::unique_ptr<Response> res) {
EXPECT_EQ(nullptr, res.get());
promise.set_value();
});
@@ -170,7 +169,7 @@ TEST_F(Storage, DatabaseLockedRead) {
Log::setObserver(util::make_unique<FixtureLogObserver>());
promise = {};
- cache->get({ Resource::Unknown, "mapbox://test" }, [&] (std::unique_ptr<Response> res) {
+ cache.get({ Resource::Unknown, "mapbox://test" }, [&] (std::unique_ptr<Response> res) {
EXPECT_EQ(nullptr, res.get());
promise.set_value();
});
@@ -191,7 +190,7 @@ TEST_F(Storage, DatabaseLockedWrite) {
deleteFile("test/fixtures/database/locked.db");
FileLock guard("test/fixtures/database/locked.db");
- util::Thread<SQLiteCache> cache("test/fixtures/database/locked.db");
+ SQLiteCache cache("test/fixtures/database/locked.db");
std::promise<void> promise;
@@ -200,8 +199,8 @@ TEST_F(Storage, DatabaseLockedWrite) {
Log::setObserver(util::make_unique<FixtureLogObserver>());
promise = {};
auto response = std::make_shared<Response>();
- cache->put({ Resource::Unknown, "mapbox://test" }, response, FileCache::Hint::Full);
- cache->get({ Resource::Unknown, "mapbox://test" }, [&] (std::unique_ptr<Response> res) {
+ cache.put({ Resource::Unknown, "mapbox://test" }, response, FileCache::Hint::Full);
+ cache.get({ Resource::Unknown, "mapbox://test" }, [&] (std::unique_ptr<Response> res) {
EXPECT_EQ(nullptr, res.get());
promise.set_value();
});
@@ -222,8 +221,8 @@ TEST_F(Storage, DatabaseLockedWrite) {
auto response = std::make_shared<Response>();
response->data = "Demo";
- cache->put({ Resource::Unknown, "mapbox://test" }, response, FileCache::Hint::Full);
- cache->get({ Resource::Unknown, "mapbox://test" }, [&] (std::unique_ptr<Response> res) {
+ cache.put({ Resource::Unknown, "mapbox://test" }, response, FileCache::Hint::Full);
+ cache.get({ Resource::Unknown, "mapbox://test" }, [&] (std::unique_ptr<Response> res) {
EXPECT_NE(nullptr, res.get());
EXPECT_EQ("Demo", res->data);
promise.set_value();
@@ -245,7 +244,7 @@ TEST_F(Storage, DatabaseLockedRefresh) {
createDir("test/fixtures/database");
deleteFile("test/fixtures/database/locked.db");
- util::Thread<SQLiteCache> cache("test/fixtures/database/locked.db");
+ SQLiteCache cache("test/fixtures/database/locked.db");
// Then, lock the file and try again.
FileLock guard("test/fixtures/database/locked.db");
@@ -258,8 +257,8 @@ TEST_F(Storage, DatabaseLockedRefresh) {
promise = {};
auto response = std::make_shared<Response>();
response->data = "Demo";
- cache->put({ Resource::Unknown, "mapbox://test" }, response, FileCache::Hint::Full);
- cache->get({ Resource::Unknown, "mapbox://test" }, [&] (std::unique_ptr<Response> res) {
+ cache.put({ Resource::Unknown, "mapbox://test" }, response, FileCache::Hint::Full);
+ cache.get({ Resource::Unknown, "mapbox://test" }, [&] (std::unique_ptr<Response> res) {
EXPECT_EQ(nullptr, res.get());
promise.set_value();
});
@@ -277,8 +276,8 @@ TEST_F(Storage, DatabaseLockedRefresh) {
auto response = std::make_shared<Response>();
response->data = "Demo";
- cache->put({ Resource::Unknown, "mapbox://test" }, response, FileCache::Hint::Refresh);
- cache->get({ Resource::Unknown, "mapbox://test" }, [&] (std::unique_ptr<Response> res) {
+ cache.put({ Resource::Unknown, "mapbox://test" }, response, FileCache::Hint::Refresh);
+ cache.get({ Resource::Unknown, "mapbox://test" }, [&] (std::unique_ptr<Response> res) {
EXPECT_EQ(nullptr, res.get());
promise.set_value();
});
@@ -300,7 +299,7 @@ TEST_F(Storage, DatabaseDeleted) {
createDir("test/fixtures/database");
deleteFile("test/fixtures/database/locked.db");
- util::Thread<SQLiteCache> cache("test/fixtures/database/locked.db");
+ SQLiteCache cache("test/fixtures/database/locked.db");
std::promise<void> promise;
@@ -310,8 +309,8 @@ TEST_F(Storage, DatabaseDeleted) {
promise = {};
auto response = std::make_shared<Response>();
response->data = "Demo";
- cache->put({ Resource::Unknown, "mapbox://test" }, response, FileCache::Hint::Full);
- cache->get({ Resource::Unknown, "mapbox://test" }, [&] (std::unique_ptr<Response> res) {
+ cache.put({ Resource::Unknown, "mapbox://test" }, response, FileCache::Hint::Full);
+ cache.get({ Resource::Unknown, "mapbox://test" }, [&] (std::unique_ptr<Response> res) {
EXPECT_NE(nullptr, res.get());
EXPECT_EQ("Demo", res->data);
promise.set_value();
@@ -329,8 +328,8 @@ TEST_F(Storage, DatabaseDeleted) {
promise = {};
auto response = std::make_shared<Response>();
response->data = "Demo";
- cache->put({ Resource::Unknown, "mapbox://test" }, response, FileCache::Hint::Full);
- cache->get({ Resource::Unknown, "mapbox://test" }, [&] (std::unique_ptr<Response> res) {
+ cache.put({ Resource::Unknown, "mapbox://test" }, response, FileCache::Hint::Full);
+ cache.get({ Resource::Unknown, "mapbox://test" }, [&] (std::unique_ptr<Response> res) {
EXPECT_NE(nullptr, res.get());
EXPECT_EQ("Demo", res->data);
promise.set_value();
@@ -353,7 +352,7 @@ TEST_F(Storage, DatabaseInvalid) {
deleteFile("test/fixtures/database/invalid.db");
writeFile("test/fixtures/database/invalid.db", "this is an invalid file");
- util::Thread<SQLiteCache> cache("test/fixtures/database/invalid.db");
+ SQLiteCache cache("test/fixtures/database/invalid.db");
std::promise<void> promise;
@@ -363,8 +362,8 @@ TEST_F(Storage, DatabaseInvalid) {
promise = {};
auto response = std::make_shared<Response>();
response->data = "Demo";
- cache->put({ Resource::Unknown, "mapbox://test" }, response, FileCache::Hint::Full);
- cache->get({ Resource::Unknown, "mapbox://test" }, [&] (std::unique_ptr<Response> res) {
+ cache.put({ Resource::Unknown, "mapbox://test" }, response, FileCache::Hint::Full);
+ cache.get({ Resource::Unknown, "mapbox://test" }, [&] (std::unique_ptr<Response> res) {
EXPECT_NE(nullptr, res.get());
EXPECT_EQ("Demo", res->data);
promise.set_value();
diff --git a/test/storage/directory_reading.cpp b/test/storage/directory_reading.cpp
index 4264129b22..ccae4177c3 100644
--- a/test/storage/directory_reading.cpp
+++ b/test/storage/directory_reading.cpp
@@ -3,7 +3,6 @@
#include <uv.h>
#include <mbgl/storage/default_file_source.hpp>
-#include <mbgl/util/thread.hpp>
TEST_F(Storage, AssetReadDirectory) {
SCOPED_TEST(ReadDirectory)
@@ -11,14 +10,14 @@ TEST_F(Storage, AssetReadDirectory) {
using namespace mbgl;
#ifdef MBGL_ASSET_ZIP
- util::Thread<DefaultFileSource> fs(nullptr, "test/fixtures/storage/assets.zip");
+ DefaultFileSource fs(nullptr, "test/fixtures/storage/assets.zip");
#else
- util::Thread<DefaultFileSource> fs(nullptr);
+ DefaultFileSource fs(nullptr);
#endif
auto &env = *static_cast<const Environment *>(nullptr);
- fs->request({ Resource::Unknown, "asset://TEST_DATA/fixtures/storage" }, uv_default_loop(),
+ fs.request({ Resource::Unknown, "asset://TEST_DATA/fixtures/storage" }, uv_default_loop(),
env, [&](const Response &res) {
EXPECT_EQ(Response::Error, res.status);
EXPECT_EQ(0ul, res.data.size());
diff --git a/test/storage/file_reading.cpp b/test/storage/file_reading.cpp
index de834798de..01db75d5c0 100644
--- a/test/storage/file_reading.cpp
+++ b/test/storage/file_reading.cpp
@@ -4,7 +4,6 @@
#include <mbgl/storage/default_file_source.hpp>
#include <mbgl/platform/platform.hpp>
-#include <mbgl/util/thread.hpp>
TEST_F(Storage, AssetEmptyFile) {
SCOPED_TEST(EmptyFile)
@@ -12,14 +11,14 @@ TEST_F(Storage, AssetEmptyFile) {
using namespace mbgl;
#ifdef MBGL_ASSET_ZIP
- util::Thread<DefaultFileSource> fs(nullptr, "test/fixtures/storage/assets.zip");
+ DefaultFileSource fs(nullptr, "test/fixtures/storage/assets.zip");
#else
- util::Thread<DefaultFileSource> fs(nullptr);
+ DefaultFileSource fs(nullptr);
#endif
auto &env = *static_cast<const Environment *>(nullptr);
- fs->request({ Resource::Unknown, "asset://TEST_DATA/fixtures/storage/empty" }, uv_default_loop(),
+ fs.request({ Resource::Unknown, "asset://TEST_DATA/fixtures/storage/empty" }, uv_default_loop(),
env, [&](const Response &res) {
EXPECT_EQ(Response::Successful, res.status);
EXPECT_EQ(0ul, res.data.size());
@@ -39,14 +38,14 @@ TEST_F(Storage, AssetNonEmptyFile) {
using namespace mbgl;
#ifdef MBGL_ASSET_ZIP
- util::Thread<DefaultFileSource> fs(nullptr, "test/fixtures/storage/assets.zip");
+ DefaultFileSource fs(nullptr, "test/fixtures/storage/assets.zip");
#else
- util::Thread<DefaultFileSource> fs(nullptr);
+ DefaultFileSource fs(nullptr);
#endif
auto &env = *static_cast<const Environment *>(nullptr);
- fs->request({ Resource::Unknown, "asset://TEST_DATA/fixtures/storage/nonempty" },
+ fs.request({ Resource::Unknown, "asset://TEST_DATA/fixtures/storage/nonempty" },
uv_default_loop(), env, [&](const Response &res) {
EXPECT_EQ(Response::Successful, res.status);
EXPECT_EQ(16ul, res.data.size());
@@ -67,14 +66,14 @@ TEST_F(Storage, AssetNonExistentFile) {
using namespace mbgl;
#ifdef MBGL_ASSET_ZIP
- util::Thread<DefaultFileSource> fs(nullptr, "test/fixtures/storage/assets.zip");
+ DefaultFileSource fs(nullptr, "test/fixtures/storage/assets.zip");
#else
- util::Thread<DefaultFileSource> fs(nullptr);
+ DefaultFileSource fs(nullptr);
#endif
auto &env = *static_cast<const Environment *>(nullptr);
- fs->request({ Resource::Unknown, "asset://TEST_DATA/fixtures/storage/does_not_exist" },
+ fs.request({ Resource::Unknown, "asset://TEST_DATA/fixtures/storage/does_not_exist" },
uv_default_loop(), env, [&](const Response &res) {
EXPECT_EQ(Response::Error, res.status);
EXPECT_EQ(0ul, res.data.size());
diff --git a/test/storage/http_cancel.cpp b/test/storage/http_cancel.cpp
index 33edbdf7c4..80efb3977b 100644
--- a/test/storage/http_cancel.cpp
+++ b/test/storage/http_cancel.cpp
@@ -4,7 +4,6 @@
#include <mbgl/storage/default_file_source.hpp>
#include <mbgl/storage/network_status.hpp>
-#include <mbgl/util/thread.hpp>
#include <cmath>
@@ -13,15 +12,15 @@ TEST_F(Storage, HTTPCancel) {
using namespace mbgl;
- util::Thread<DefaultFileSource> fs(nullptr);
+ DefaultFileSource fs(nullptr);
auto &env = *static_cast<const Environment *>(nullptr);
auto req =
- fs->request({ Resource::Unknown, "http://127.0.0.1:3000/test" }, uv_default_loop(), env,
+ fs.request({ Resource::Unknown, "http://127.0.0.1:3000/test" }, uv_default_loop(), env,
[&](const Response &) { ADD_FAILURE() << "Callback should not be called"; });
- fs->cancel(req);
+ fs.cancel(req);
HTTPCancel.finish();
uv_run(uv_default_loop(), UV_RUN_DEFAULT);
@@ -32,15 +31,15 @@ TEST_F(Storage, HTTPCancelMultiple) {
using namespace mbgl;
- util::Thread<DefaultFileSource> fs(nullptr);
+ DefaultFileSource fs(nullptr);
auto &env = *static_cast<const Environment *>(nullptr);
const Resource resource { Resource::Unknown, "http://127.0.0.1:3000/test" };
- auto req2 = fs->request(resource, uv_default_loop(), env, [&](const Response &) {
+ auto req2 = fs.request(resource, uv_default_loop(), env, [&](const Response &) {
ADD_FAILURE() << "Callback should not be called";
});
- fs->request(resource, uv_default_loop(), env, [&](const Response &res) {
+ fs.request(resource, uv_default_loop(), env, [&](const Response &res) {
EXPECT_EQ(Response::Successful, res.status);
EXPECT_EQ("Hello World!", res.data);
EXPECT_EQ(0, res.expires);
@@ -49,7 +48,7 @@ TEST_F(Storage, HTTPCancelMultiple) {
EXPECT_EQ("", res.message);
HTTPCancelMultiple.finish();
});
- fs->cancel(req2);
+ fs.cancel(req2);
uv_run(uv_default_loop(), UV_RUN_DEFAULT);
}
diff --git a/test/storage/http_coalescing.cpp b/test/storage/http_coalescing.cpp
index 5164117f52..28fa4415b4 100644
--- a/test/storage/http_coalescing.cpp
+++ b/test/storage/http_coalescing.cpp
@@ -3,7 +3,6 @@
#include <uv.h>
#include <mbgl/storage/default_file_source.hpp>
-#include <mbgl/util/thread.hpp>
TEST_F(Storage, HTTPCoalescing) {
SCOPED_TEST(HTTPCoalescing)
@@ -13,7 +12,7 @@ TEST_F(Storage, HTTPCoalescing) {
using namespace mbgl;
- util::Thread<DefaultFileSource> fs(nullptr);
+ DefaultFileSource fs(nullptr);
auto &env = *static_cast<const Environment *>(nullptr);
@@ -44,7 +43,7 @@ TEST_F(Storage, HTTPCoalescing) {
const Resource resource { Resource::Unknown, "http://127.0.0.1:3000/test" };
for (int i = 0; i < total; i++) {
- fs->request(resource, uv_default_loop(), env, complete);
+ fs.request(resource, uv_default_loop(), env, complete);
}
uv_run(uv_default_loop(), UV_RUN_DEFAULT);
diff --git a/test/storage/http_environment.cpp b/test/storage/http_environment.cpp
index b08a8071c4..41a9d43d5b 100644
--- a/test/storage/http_environment.cpp
+++ b/test/storage/http_environment.cpp
@@ -4,7 +4,6 @@
#include <mbgl/storage/default_file_source.hpp>
#include <mbgl/storage/network_status.hpp>
-#include <mbgl/util/thread.hpp>
#include <cmath>
@@ -14,7 +13,7 @@ TEST_F(Storage, HTTPCancelEnvironment) {
using namespace mbgl;
- util::Thread<DefaultFileSource> fs(nullptr);
+ DefaultFileSource fs(nullptr);
// Create two fake environment pointers. The FileSource implementation treats these as opaque
// pointers and doesn't reach into them.
@@ -24,7 +23,7 @@ TEST_F(Storage, HTTPCancelEnvironment) {
const Resource resource { Resource::Unknown, "http://127.0.0.1:3000/delayed" };
// Environment 1
- fs->request(resource, uv_default_loop(), env1, [&](const Response &res) {
+ fs.request(resource, uv_default_loop(), env1, [&](const Response &res) {
// This environment gets aborted below. This means the request is marked as failing and
// will return an error here.
EXPECT_EQ(Response::Error, res.status);
@@ -37,7 +36,7 @@ TEST_F(Storage, HTTPCancelEnvironment) {
});
// Environment 2
- fs->request(resource, uv_default_loop(), env2, [&](const Response &res) {
+ fs.request(resource, uv_default_loop(), env2, [&](const Response &res) {
// The same request as above, but in a different environment which doesn't get aborted. This
// means the request should succeed.
EXPECT_EQ(Response::Successful, res.status);
@@ -49,7 +48,7 @@ TEST_F(Storage, HTTPCancelEnvironment) {
HTTPRetainedEnvironment.finish();
});
- fs->abort(env1);
+ fs.abort(env1);
uv_run(uv_default_loop(), UV_RUN_DEFAULT);
}
diff --git a/test/storage/http_error.cpp b/test/storage/http_error.cpp
index bd5ef9811d..e5728d97b1 100644
--- a/test/storage/http_error.cpp
+++ b/test/storage/http_error.cpp
@@ -4,7 +4,6 @@
#include <mbgl/storage/default_file_source.hpp>
#include <mbgl/storage/network_status.hpp>
-#include <mbgl/util/thread.hpp>
#include <cmath>
@@ -21,13 +20,13 @@ TEST_F(Storage, HTTPError) {
}, 500, 500);
uv_unref((uv_handle_t *)&statusChange);
- util::Thread<DefaultFileSource> fs(nullptr);
+ DefaultFileSource fs(nullptr);
auto &env = *static_cast<const Environment *>(nullptr);
auto start = uv_hrtime();
- fs->request({ Resource::Unknown, "http://127.0.0.1:3000/temporary-error" }, uv_default_loop(),
+ fs.request({ Resource::Unknown, "http://127.0.0.1:3000/temporary-error" }, uv_default_loop(),
env, [&](const Response &res) {
const auto duration = double(uv_hrtime() - start) / 1e9;
EXPECT_LT(1, duration) << "Backoff timer didn't wait 1 second";
@@ -42,7 +41,7 @@ TEST_F(Storage, HTTPError) {
HTTPTemporaryError.finish();
});
- fs->request({ Resource::Unknown, "http://127.0.0.1:3001/" }, uv_default_loop(), env,
+ fs.request({ Resource::Unknown, "http://127.0.0.1:3001/" }, uv_default_loop(), env,
[&](const Response &res) {
const auto duration = double(uv_hrtime() - start) / 1e9;
// 1.5 seconds == 4 retries, with a 500ms timeout (see above).
diff --git a/test/storage/http_header_parsing.cpp b/test/storage/http_header_parsing.cpp
index df1fb1fc68..1561660b6f 100644
--- a/test/storage/http_header_parsing.cpp
+++ b/test/storage/http_header_parsing.cpp
@@ -4,7 +4,6 @@
#include <mbgl/storage/default_file_source.hpp>
#include <mbgl/util/chrono.hpp>
-#include <mbgl/util/thread.hpp>
#include <cmath>
@@ -14,11 +13,11 @@ TEST_F(Storage, HTTPHeaderParsing) {
using namespace mbgl;
- util::Thread<DefaultFileSource> fs(nullptr);
+ DefaultFileSource fs(nullptr);
auto &env = *static_cast<const Environment *>(nullptr);
- fs->request({ Resource::Unknown,
+ fs.request({ Resource::Unknown,
"http://127.0.0.1:3000/test?modified=1420794326&expires=1420797926&etag=foo" },
uv_default_loop(), env, [&](const Response &res) {
EXPECT_EQ(Response::Successful, res.status);
@@ -33,7 +32,7 @@ TEST_F(Storage, HTTPHeaderParsing) {
int64_t now = std::chrono::duration_cast<std::chrono::seconds>(
SystemClock::now().time_since_epoch()).count();
- fs->request({ Resource::Unknown, "http://127.0.0.1:3000/test?cachecontrol=max-age=120" },
+ fs.request({ Resource::Unknown, "http://127.0.0.1:3000/test?cachecontrol=max-age=120" },
uv_default_loop(), env, [&](const Response &res) {
EXPECT_EQ(Response::Successful, res.status);
EXPECT_EQ("Hello World!", res.data);
diff --git a/test/storage/http_load.cpp b/test/storage/http_load.cpp
index b037867233..c4069eba3e 100644
--- a/test/storage/http_load.cpp
+++ b/test/storage/http_load.cpp
@@ -3,14 +3,13 @@
#include <uv.h>
#include <mbgl/storage/default_file_source.hpp>
-#include <mbgl/util/thread.hpp>
TEST_F(Storage, HTTPLoad) {
SCOPED_TEST(HTTPLoad)
using namespace mbgl;
- util::Thread<DefaultFileSource> fs(nullptr);
+ DefaultFileSource fs(nullptr);
auto &env = *static_cast<const Environment *>(nullptr);
@@ -20,7 +19,7 @@ TEST_F(Storage, HTTPLoad) {
std::function<void()> req = [&]() {
const auto current = number++;
- fs->request({ Resource::Unknown,
+ fs.request({ Resource::Unknown,
std::string("http://127.0.0.1:3000/load/") + std::to_string(current) },
uv_default_loop(), env, [&, current](const Response &res) {
EXPECT_EQ(Response::Successful, res.status);
diff --git a/test/storage/http_noloop.cpp b/test/storage/http_noloop.cpp
index 0f75c106fe..cd4ebeb2c4 100644
--- a/test/storage/http_noloop.cpp
+++ b/test/storage/http_noloop.cpp
@@ -4,14 +4,13 @@
#include <mbgl/storage/default_file_source.hpp>
#include <mbgl/util/uv.hpp>
-#include <mbgl/util/thread.hpp>
TEST_F(Storage, HTTPNoLoop) {
SCOPED_TEST(HTTPNoLoop)
using namespace mbgl;
- util::Thread<DefaultFileSource> fs(nullptr);
+ DefaultFileSource fs(nullptr);
auto &env = *static_cast<const Environment *>(nullptr);
@@ -23,7 +22,7 @@ TEST_F(Storage, HTTPNoLoop) {
uv::close(as);
});
- fs->request({ Resource::Unknown, "http://127.0.0.1:3000/temporary-error" }, nullptr, env,
+ fs.request({ Resource::Unknown, "http://127.0.0.1:3000/temporary-error" }, nullptr, env,
[&](const Response &res) {
EXPECT_NE(uv_thread_self(), mainThread) << "Response was called in the same thread";
EXPECT_EQ(Response::Successful, res.status);
diff --git a/test/storage/http_other_loop.cpp b/test/storage/http_other_loop.cpp
index 11fa2f324a..9ad673cf79 100644
--- a/test/storage/http_other_loop.cpp
+++ b/test/storage/http_other_loop.cpp
@@ -3,7 +3,6 @@
#include <uv.h>
#include <mbgl/storage/default_file_source.hpp>
-#include <mbgl/util/thread.hpp>
TEST_F(Storage, HTTPOtherLoop) {
SCOPED_TEST(HTTPOtherLoop)
@@ -11,11 +10,11 @@ TEST_F(Storage, HTTPOtherLoop) {
using namespace mbgl;
// This file source launches a separate thread to do the processing.
- util::Thread<DefaultFileSource> fs(nullptr);
+ DefaultFileSource fs(nullptr);
auto &env = *static_cast<const Environment *>(nullptr);
- fs->request({ Resource::Unknown, "http://127.0.0.1:3000/test" }, uv_default_loop(), env,
+ fs.request({ Resource::Unknown, "http://127.0.0.1:3000/test" }, uv_default_loop(), env,
[&](const Response &res) {
EXPECT_EQ(Response::Successful, res.status);
EXPECT_EQ("Hello World!", res.data);
diff --git a/test/storage/http_reading.cpp b/test/storage/http_reading.cpp
index 1ba34801cd..350a8eaa4b 100644
--- a/test/storage/http_reading.cpp
+++ b/test/storage/http_reading.cpp
@@ -3,7 +3,8 @@
#include <uv.h>
#include <mbgl/storage/default_file_source.hpp>
-#include <mbgl/util/thread.hpp>
+
+#include <future>
TEST_F(Storage, HTTPReading) {
SCOPED_TEST(HTTPTest)
@@ -11,13 +12,13 @@ TEST_F(Storage, HTTPReading) {
using namespace mbgl;
- util::Thread<DefaultFileSource> fs(nullptr);
+ DefaultFileSource fs(nullptr);
auto &env = *static_cast<const Environment *>(nullptr);
const auto mainThread = uv_thread_self();
- fs->request({ Resource::Unknown, "http://127.0.0.1:3000/test" }, uv_default_loop(), env,
+ fs.request({ Resource::Unknown, "http://127.0.0.1:3000/test" }, uv_default_loop(), env,
[&](const Response &res) {
EXPECT_EQ(uv_thread_self(), mainThread);
EXPECT_EQ(Response::Successful, res.status);
@@ -29,7 +30,7 @@ TEST_F(Storage, HTTPReading) {
HTTPTest.finish();
});
- fs->request({ Resource::Unknown, "http://127.0.0.1:3000/doesnotexist" }, uv_default_loop(),
+ fs.request({ Resource::Unknown, "http://127.0.0.1:3000/doesnotexist" }, uv_default_loop(),
env, [&](const Response &res) {
EXPECT_EQ(uv_thread_self(), mainThread);
EXPECT_EQ(Response::Error, res.status);
@@ -48,11 +49,11 @@ TEST_F(Storage, HTTPNoCallback) {
using namespace mbgl;
- util::Thread<DefaultFileSource> fs(nullptr);
+ DefaultFileSource fs(nullptr);
auto &env = *static_cast<const Environment *>(nullptr);
- fs->request({ Resource::Unknown, "http://127.0.0.1:3000/test" }, uv_default_loop(), env,
+ fs.request({ Resource::Unknown, "http://127.0.0.1:3000/test" }, uv_default_loop(), env,
nullptr);
uv_run(uv_default_loop(), UV_RUN_DEFAULT);
@@ -60,18 +61,21 @@ TEST_F(Storage, HTTPNoCallback) {
HTTPTest.finish();
}
-TEST_F(Storage, HTTPNoCallbackNoLoop) {
- SCOPED_TEST(HTTPTest)
-
+TEST_F(Storage, HTTPCallbackNotOnLoop) {
using namespace mbgl;
- util::Thread<DefaultFileSource> fs(nullptr);
+ DefaultFileSource fs(nullptr);
+
+ SCOPED_TEST(HTTPTest)
auto &env = *static_cast<const Environment *>(nullptr);
- fs->request({ Resource::Unknown, "http://127.0.0.1:3000/test" }, env, nullptr);
+ std::promise<void> promise;
+ fs.request({ Resource::Unknown, "http://127.0.0.1:3000/test" }, env, [&] (const Response &) {
+ promise.set_value();
+ });
- uv_run(uv_default_loop(), UV_RUN_DEFAULT);
+ promise.get_future().get();
HTTPTest.finish();
}