diff options
Diffstat (limited to 'test')
-rw-r--r-- | test/headless/headless.cpp | 5 | ||||
-rw-r--r-- | test/storage/cache_response.cpp | 9 | ||||
-rw-r--r-- | test/storage/cache_revalidate.cpp | 17 | ||||
-rw-r--r-- | test/storage/database.cpp | 55 | ||||
-rw-r--r-- | test/storage/directory_reading.cpp | 7 | ||||
-rw-r--r-- | test/storage/file_reading.cpp | 19 | ||||
-rw-r--r-- | test/storage/http_cancel.cpp | 15 | ||||
-rw-r--r-- | test/storage/http_coalescing.cpp | 5 | ||||
-rw-r--r-- | test/storage/http_environment.cpp | 9 | ||||
-rw-r--r-- | test/storage/http_error.cpp | 7 | ||||
-rw-r--r-- | test/storage/http_header_parsing.cpp | 7 | ||||
-rw-r--r-- | test/storage/http_load.cpp | 5 | ||||
-rw-r--r-- | test/storage/http_noloop.cpp | 5 | ||||
-rw-r--r-- | test/storage/http_other_loop.cpp | 5 | ||||
-rw-r--r-- | test/storage/http_reading.cpp | 28 |
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(); } |