summaryrefslogtreecommitdiff
path: root/test/storage
diff options
context:
space:
mode:
authorJohn Firebaugh <john.firebaugh@gmail.com>2015-11-12 15:51:45 -0800
committerJohn Firebaugh <john.firebaugh@gmail.com>2015-11-16 12:25:47 -0800
commit7137239cbddb13e1c33240d13002973b5a222775 (patch)
tree99ad3ca2d8b5230eba3f5bacefe63098568dbdd4 /test/storage
parent1caf89c32b80dc300b1fd349a2ece4557890c727 (diff)
downloadqtlocation-mapboxgl-7137239cbddb13e1c33240d13002973b5a222775.tar.gz
[core] Use std::unique_ptr for FileSource request
Diffstat (limited to 'test/storage')
-rw-r--r--test/storage/cache_response.cpp8
-rw-r--r--test/storage/cache_revalidate.cpp42
-rw-r--r--test/storage/directory_reading.cpp4
-rw-r--r--test/storage/file_reading.cpp12
-rw-r--r--test/storage/http_cancel.cpp10
-rw-r--r--test/storage/http_coalescing.cpp20
-rw-r--r--test/storage/http_error.cpp8
-rw-r--r--test/storage/http_header_parsing.cpp8
-rw-r--r--test/storage/http_issue_1369.cpp4
-rw-r--r--test/storage/http_load.cpp5
-rw-r--r--test/storage/http_other_loop.cpp4
-rw-r--r--test/storage/http_reading.cpp12
-rw-r--r--test/storage/http_retry_network_status.cpp8
-rw-r--r--test/storage/http_timeout.cpp4
14 files changed, 71 insertions, 78 deletions
diff --git a/test/storage/cache_response.cpp b/test/storage/cache_response.cpp
index fb745d9ad4..d089659aeb 100644
--- a/test/storage/cache_response.cpp
+++ b/test/storage/cache_response.cpp
@@ -18,11 +18,11 @@ TEST_F(Storage, CacheResponse) {
const Resource resource { Resource::Unknown, "http://127.0.0.1:3000/cache" };
Response response;
- Request* req1 = nullptr;
- Request* req2 = nullptr;
+ std::unique_ptr<FileRequest> req1;
+ std::unique_ptr<FileRequest> req2;
req1 = fs.request(resource, [&](Response res) {
- fs.cancel(req1);
+ req1.reset();
EXPECT_EQ(nullptr, res.error);
EXPECT_EQ(false, res.stale);
ASSERT_TRUE(res.data.get());
@@ -35,7 +35,7 @@ TEST_F(Storage, CacheResponse) {
// Now test that we get the same values as in the previous request. If we'd go to the server
// again, we'd get different values.
req2 = fs.request(resource, [&](Response res2) {
- fs.cancel(req2);
+ req2.reset();
EXPECT_EQ(response.error, res2.error);
EXPECT_EQ(response.stale, res2.stale);
ASSERT_TRUE(res2.data.get());
diff --git a/test/storage/cache_revalidate.cpp b/test/storage/cache_revalidate.cpp
index 0dfe765e7f..540a25acd6 100644
--- a/test/storage/cache_revalidate.cpp
+++ b/test/storage/cache_revalidate.cpp
@@ -16,8 +16,8 @@ TEST_F(Storage, CacheRevalidateSame) {
util::RunLoop loop(uv_default_loop());
const Resource revalidateSame { Resource::Unknown, "http://127.0.0.1:3000/revalidate-same" };
- Request* req1 = nullptr;
- Request* req2 = nullptr;
+ std::unique_ptr<FileRequest> req1;
+ std::unique_ptr<FileRequest> req2;
req1 = fs.request(revalidateSame, [&](Response res) {
// This callback can get triggered multiple times. We only care about the first invocation.
// It will get triggered again when refreshing the req2 (see below).
@@ -41,13 +41,11 @@ TEST_F(Storage, CacheRevalidateSame) {
return;
}
- ASSERT_TRUE(req1);
- fs.cancel(req1);
- req1 = nullptr;
+ ASSERT_TRUE(req1.get());
+ req1.reset();
- ASSERT_TRUE(req2);
- fs.cancel(req2);
- req2 = nullptr;
+ ASSERT_TRUE(req2.get());
+ req2.reset();
EXPECT_EQ(nullptr, res2.error);
EXPECT_EQ(false, res2.stale);
@@ -79,8 +77,8 @@ TEST_F(Storage, CacheRevalidateModified) {
const Resource revalidateModified{ Resource::Unknown,
"http://127.0.0.1:3000/revalidate-modified" };
- Request* req1 = nullptr;
- Request* req2 = nullptr;
+ std::unique_ptr<FileRequest> req1;
+ std::unique_ptr<FileRequest> req2;
req1 = fs.request(revalidateModified, [&](Response res) {
// This callback can get triggered multiple times. We only care about the first invocation.
// It will get triggered again when refreshing the req2 (see below).
@@ -104,13 +102,11 @@ TEST_F(Storage, CacheRevalidateModified) {
return;
}
- ASSERT_TRUE(req1);
- fs.cancel(req1);
- req1 = nullptr;
+ ASSERT_TRUE(req1.get());
+ req1.reset();
- ASSERT_TRUE(req2);
- fs.cancel(req2);
- req2 = nullptr;
+ ASSERT_TRUE(req2.get());
+ req2.reset();
EXPECT_EQ(nullptr, res2.error);
EXPECT_EQ(false, res2.stale);
@@ -140,8 +136,8 @@ TEST_F(Storage, CacheRevalidateEtag) {
util::RunLoop loop(uv_default_loop());
const Resource revalidateEtag { Resource::Unknown, "http://127.0.0.1:3000/revalidate-etag" };
- Request* req1 = nullptr;
- Request* req2 = nullptr;
+ std::unique_ptr<FileRequest> req1;
+ std::unique_ptr<FileRequest> req2;
req1 = fs.request(revalidateEtag, [&](Response res) {
// This callback can get triggered multiple times. We only care about the first invocation.
// It will get triggered again when refreshing the req2 (see below).
@@ -165,13 +161,11 @@ TEST_F(Storage, CacheRevalidateEtag) {
return;
}
- ASSERT_TRUE(req1);
- fs.cancel(req1);
- req1 = nullptr;
+ ASSERT_TRUE(req1.get());
+ req1.reset();
- ASSERT_TRUE(req2);
- fs.cancel(req2);
- req2 = nullptr;
+ ASSERT_TRUE(req2.get());
+ req2.reset();
EXPECT_EQ(nullptr, res2.error);
EXPECT_EQ(false, res2.stale);
diff --git a/test/storage/directory_reading.cpp b/test/storage/directory_reading.cpp
index ae8c0b42c1..fab52315fa 100644
--- a/test/storage/directory_reading.cpp
+++ b/test/storage/directory_reading.cpp
@@ -18,8 +18,8 @@ TEST_F(Storage, AssetReadDirectory) {
util::RunLoop loop(uv_default_loop());
- Request* req = fs.request({ Resource::Unknown, "asset://TEST_DATA/fixtures/storage" }, [&](Response res) {
- fs.cancel(req);
+ std::unique_ptr<FileRequest> req = fs.request({ Resource::Unknown, "asset://TEST_DATA/fixtures/storage" }, [&](Response res) {
+ req.reset();
ASSERT_NE(nullptr, res.error);
EXPECT_EQ(Response::Error::Reason::NotFound, res.error->reason);
EXPECT_EQ(false, res.stale);
diff --git a/test/storage/file_reading.cpp b/test/storage/file_reading.cpp
index b9155c09c5..3fc30df524 100644
--- a/test/storage/file_reading.cpp
+++ b/test/storage/file_reading.cpp
@@ -19,8 +19,8 @@ TEST_F(Storage, AssetEmptyFile) {
util::RunLoop loop(uv_default_loop());
- Request* req = fs.request({ Resource::Unknown, "asset://TEST_DATA/fixtures/storage/empty" }, [&](Response res) {
- fs.cancel(req);
+ std::unique_ptr<FileRequest> req = fs.request({ Resource::Unknown, "asset://TEST_DATA/fixtures/storage/empty" }, [&](Response res) {
+ req.reset();
EXPECT_EQ(nullptr, res.error);
EXPECT_EQ(false, res.stale);
ASSERT_TRUE(res.data.get());
@@ -48,8 +48,8 @@ TEST_F(Storage, AssetNonEmptyFile) {
util::RunLoop loop(uv_default_loop());
- Request* req = fs.request({ Resource::Unknown, "asset://TEST_DATA/fixtures/storage/nonempty" }, [&](Response res) {
- fs.cancel(req);
+ std::unique_ptr<FileRequest> req = fs.request({ Resource::Unknown, "asset://TEST_DATA/fixtures/storage/nonempty" }, [&](Response res) {
+ req.reset();
EXPECT_EQ(nullptr, res.error);
EXPECT_EQ(false, res.stale);
ASSERT_TRUE(res.data.get());
@@ -79,8 +79,8 @@ TEST_F(Storage, AssetNonExistentFile) {
util::RunLoop loop(uv_default_loop());
- Request* req = fs.request({ Resource::Unknown, "asset://TEST_DATA/fixtures/storage/does_not_exist" }, [&](Response res) {
- fs.cancel(req);
+ std::unique_ptr<FileRequest> req = fs.request({ Resource::Unknown, "asset://TEST_DATA/fixtures/storage/does_not_exist" }, [&](Response res) {
+ req.reset();
ASSERT_NE(nullptr, res.error);
EXPECT_EQ(Response::Error::Reason::NotFound, res.error->reason);
EXPECT_EQ(false, res.stale);
diff --git a/test/storage/http_cancel.cpp b/test/storage/http_cancel.cpp
index 070c54b8b4..eabc895902 100644
--- a/test/storage/http_cancel.cpp
+++ b/test/storage/http_cancel.cpp
@@ -20,7 +20,7 @@ TEST_F(Storage, HTTPCancel) {
fs.request({ Resource::Unknown, "http://127.0.0.1:3000/test" },
[&](Response) { ADD_FAILURE() << "Callback should not be called"; });
- fs.cancel(req);
+ req.reset();
HTTPCancel.finish();
uv_run(uv_default_loop(), UV_RUN_ONCE);
@@ -36,11 +36,11 @@ TEST_F(Storage, HTTPCancelMultiple) {
const Resource resource { Resource::Unknown, "http://127.0.0.1:3000/test" };
- auto req2 = fs.request(resource, [&](Response) {
+ std::unique_ptr<FileRequest> req2 = fs.request(resource, [&](Response) {
ADD_FAILURE() << "Callback should not be called";
});
- Request* req = fs.request(resource, [&](Response res) {
- fs.cancel(req);
+ std::unique_ptr<FileRequest> req = fs.request(resource, [&](Response res) {
+ req.reset();
EXPECT_EQ(nullptr, res.error);
EXPECT_EQ(false, res.stale);
ASSERT_TRUE(res.data.get());
@@ -51,7 +51,7 @@ TEST_F(Storage, HTTPCancelMultiple) {
loop.stop();
HTTPCancelMultiple.finish();
});
- fs.cancel(req2);
+ req2.reset();
uv_run(uv_default_loop(), UV_RUN_DEFAULT);
}
diff --git a/test/storage/http_coalescing.cpp b/test/storage/http_coalescing.cpp
index 58f30baebb..38fc0151a3 100644
--- a/test/storage/http_coalescing.cpp
+++ b/test/storage/http_coalescing.cpp
@@ -43,10 +43,10 @@ TEST_F(Storage, HTTPCoalescing) {
const Resource resource { Resource::Unknown, "http://127.0.0.1:3000/test" };
- Request* reqs[total];
+ std::unique_ptr<FileRequest> reqs[total];
for (int i = 0; i < total; i++) {
reqs[i] = fs.request(resource, [&complete, &fs, &reqs, i] (Response res) {
- fs.cancel(reqs[i]);
+ reqs[i].reset();
complete(res);
});
}
@@ -63,8 +63,8 @@ TEST_F(Storage, HTTPMultiple) {
util::RunLoop loop(uv_default_loop());
const Resource resource { Resource::Unknown, "http://127.0.0.1:3000/test?expires=2147483647" };
- Request* req1 = nullptr;
- Request* req2 = nullptr;
+ std::unique_ptr<FileRequest> req1;
+ std::unique_ptr<FileRequest> req2;
req1 = fs.request(resource, [&] (Response res) {
// Do not cancel the request right away.
EXPECT_EQ(nullptr, res.error);
@@ -80,8 +80,8 @@ TEST_F(Storage, HTTPMultiple) {
EXPECT_EQ(res.data.get(), res2.data.get());
// Now cancel both requests after both have been notified.
- fs.cancel(req1);
- fs.cancel(req2);
+ req1.reset();
+ req2.reset();
EXPECT_EQ(nullptr, res2.error);
ASSERT_TRUE(res2.data.get());
@@ -111,8 +111,8 @@ TEST_F(Storage, HTTPStale) {
int stale = 0;
const Resource resource { Resource::Unknown, "http://127.0.0.1:3000/test" };
- Request* req1 = nullptr;
- Request* req2 = nullptr;
+ std::unique_ptr<FileRequest> req1;
+ std::unique_ptr<FileRequest> req2;
req1 = fs.request(resource, [&] (Response res) {
// Do not cancel the request right away.
EXPECT_EQ(nullptr, res.error);
@@ -144,8 +144,8 @@ TEST_F(Storage, HTTPStale) {
stale++;
} else {
// Now cancel both requests after both have been notified.
- fs.cancel(req1);
- fs.cancel(req2);
+ req1.reset();
+ req2.reset();
loop.stop();
HTTPStale.finish();
}
diff --git a/test/storage/http_error.cpp b/test/storage/http_error.cpp
index ce04e871eb..276793b77f 100644
--- a/test/storage/http_error.cpp
+++ b/test/storage/http_error.cpp
@@ -18,7 +18,7 @@ TEST_F(Storage, HTTPTemporaryError) {
const auto start = uv_hrtime();
- Request* req1 = fs.request({ Resource::Unknown, "http://127.0.0.1:3000/temporary-error" }, [&](Response res) {
+ std::unique_ptr<FileRequest> req1 = fs.request({ Resource::Unknown, "http://127.0.0.1:3000/temporary-error" }, [&](Response res) {
static int counter = 0;
switch (counter++) {
case 0: {
@@ -35,7 +35,7 @@ TEST_F(Storage, HTTPTemporaryError) {
EXPECT_EQ("", res.etag);
} break;
case 1: {
- fs.cancel(req1);
+ req1.reset();
const auto duration = double(uv_hrtime() - start) / 1e9;
EXPECT_LT(0.99, duration) << "Backoff timer didn't wait 1 second";
EXPECT_GT(1.2, duration) << "Backoff timer fired too late";
@@ -65,7 +65,7 @@ TEST_F(Storage, HTTPConnectionError) {
const auto start = uv_hrtime();
- Request* req2 = fs.request({ Resource::Unknown, "http://127.0.0.1:3001/" }, [&](Response res) {
+ std::unique_ptr<FileRequest> req2 = fs.request({ Resource::Unknown, "http://127.0.0.1:3001/" }, [&](Response res) {
static int counter = 0;
static int wait = 0;
const auto duration = double(uv_hrtime() - start) / 1e9;
@@ -91,7 +91,7 @@ TEST_F(Storage, HTTPConnectionError) {
EXPECT_EQ("", res.etag);
if (counter == 2) {
- fs.cancel(req2);
+ req2.reset();
loop.stop();
HTTPConnectionError.finish();
}
diff --git a/test/storage/http_header_parsing.cpp b/test/storage/http_header_parsing.cpp
index 8048addb52..041b138b60 100644
--- a/test/storage/http_header_parsing.cpp
+++ b/test/storage/http_header_parsing.cpp
@@ -16,10 +16,10 @@ TEST_F(Storage, HTTPExpiresParsing) {
DefaultFileSource fs(nullptr);
util::RunLoop loop(uv_default_loop());
- Request* req1 = fs.request({ Resource::Unknown,
+ std::unique_ptr<FileRequest> req1 = fs.request({ Resource::Unknown,
"http://127.0.0.1:3000/test?modified=1420794326&expires=1420797926&etag=foo" },
[&](Response res) {
- fs.cancel(req1);
+ req1.reset();
EXPECT_EQ(nullptr, res.error);
EXPECT_EQ(false, res.stale);
ASSERT_TRUE(res.data.get());
@@ -45,9 +45,9 @@ TEST_F(Storage, HTTPCacheControlParsing) {
int64_t now = std::chrono::duration_cast<std::chrono::seconds>(
SystemClock::now().time_since_epoch()).count();
- Request* req2 = fs.request({ Resource::Unknown, "http://127.0.0.1:3000/test?cachecontrol=max-age=120" },
+ std::unique_ptr<FileRequest> req2 = fs.request({ Resource::Unknown, "http://127.0.0.1:3000/test?cachecontrol=max-age=120" },
[&](Response res) {
- fs.cancel(req2);
+ req2.reset();
EXPECT_EQ(nullptr, res.error);
EXPECT_EQ(false, res.stale);
ASSERT_TRUE(res.data.get());
diff --git a/test/storage/http_issue_1369.cpp b/test/storage/http_issue_1369.cpp
index 5c05aead31..0fe0f5fb1b 100644
--- a/test/storage/http_issue_1369.cpp
+++ b/test/storage/http_issue_1369.cpp
@@ -31,9 +31,9 @@ TEST_F(Storage, HTTPIssue1369) {
auto req = fs.request(resource, [&](Response) {
ADD_FAILURE() << "Callback should not be called";
});
- fs.cancel(req);
+ req.reset();
req = fs.request(resource, [&](Response res) {
- fs.cancel(req);
+ req.reset();
EXPECT_EQ(nullptr, res.error);
EXPECT_EQ(false, res.stale);
ASSERT_TRUE(res.data.get());
diff --git a/test/storage/http_load.cpp b/test/storage/http_load.cpp
index fef1f06e7b..0a6b0ef653 100644
--- a/test/storage/http_load.cpp
+++ b/test/storage/http_load.cpp
@@ -17,15 +17,14 @@ TEST_F(Storage, HTTPLoad) {
const int max = 10000;
int number = 1;
- Request* reqs[concurrency];
+ std::unique_ptr<FileRequest> reqs[concurrency];
std::function<void(int)> req = [&](int i) {
const auto current = number++;
reqs[i] = fs.request({ Resource::Unknown,
std::string("http://127.0.0.1:3000/load/") + std::to_string(current) },
[&, i, current](Response res) {
- fs.cancel(reqs[i]);
- reqs[i] = nullptr;
+ reqs[i].reset();
EXPECT_EQ(nullptr, res.error);
EXPECT_EQ(false, res.stale);
ASSERT_TRUE(res.data.get());
diff --git a/test/storage/http_other_loop.cpp b/test/storage/http_other_loop.cpp
index 52475ae1a4..b432c39ac2 100644
--- a/test/storage/http_other_loop.cpp
+++ b/test/storage/http_other_loop.cpp
@@ -14,9 +14,9 @@ TEST_F(Storage, HTTPOtherLoop) {
DefaultFileSource fs(nullptr);
util::RunLoop loop(uv_default_loop());
- Request* req = fs.request({ Resource::Unknown, "http://127.0.0.1:3000/test" },
+ std::unique_ptr<FileRequest> req = fs.request({ Resource::Unknown, "http://127.0.0.1:3000/test" },
[&](Response res) {
- fs.cancel(req);
+ req.reset();
EXPECT_EQ(nullptr, res.error);
EXPECT_EQ(false, res.stale);
ASSERT_TRUE(res.data.get());
diff --git a/test/storage/http_reading.cpp b/test/storage/http_reading.cpp
index b72f060e63..b072a6eb53 100644
--- a/test/storage/http_reading.cpp
+++ b/test/storage/http_reading.cpp
@@ -18,9 +18,9 @@ TEST_F(Storage, HTTPTest) {
const auto mainThread = uv_thread_self();
- Request* req1 = fs.request({ Resource::Unknown, "http://127.0.0.1:3000/test" },
+ std::unique_ptr<FileRequest> req1 = fs.request({ Resource::Unknown, "http://127.0.0.1:3000/test" },
[&](Response res) {
- fs.cancel(req1);
+ req1.reset();
EXPECT_EQ(uv_thread_self(), mainThread);
EXPECT_EQ(nullptr, res.error);
EXPECT_EQ(false, res.stale);
@@ -46,9 +46,9 @@ TEST_F(Storage, HTTP404) {
const auto mainThread = uv_thread_self();
- Request* req2 = fs.request({ Resource::Unknown, "http://127.0.0.1:3000/doesnotexist" },
+ std::unique_ptr<FileRequest> req2 = fs.request({ Resource::Unknown, "http://127.0.0.1:3000/doesnotexist" },
[&](Response res) {
- fs.cancel(req2);
+ req2.reset();
EXPECT_EQ(uv_thread_self(), mainThread);
ASSERT_NE(nullptr, res.error);
EXPECT_EQ(Response::Error::Reason::NotFound, res.error->reason);
@@ -76,9 +76,9 @@ TEST_F(Storage, HTTP500) {
const auto mainThread = uv_thread_self();
- Request* req3 = fs.request({ Resource::Unknown, "http://127.0.0.1:3000/permanent-error" },
+ std::unique_ptr<FileRequest> req3 = fs.request({ Resource::Unknown, "http://127.0.0.1:3000/permanent-error" },
[&](Response res) {
- fs.cancel(req3);
+ req3.reset();
EXPECT_EQ(uv_thread_self(), mainThread);
ASSERT_NE(nullptr, res.error);
EXPECT_EQ(Response::Error::Reason::Server, res.error->reason);
diff --git a/test/storage/http_retry_network_status.cpp b/test/storage/http_retry_network_status.cpp
index 66182f5be4..08e3be89ab 100644
--- a/test/storage/http_retry_network_status.cpp
+++ b/test/storage/http_retry_network_status.cpp
@@ -24,8 +24,8 @@ TEST_F(Storage, HTTPNetworkStatusChange) {
const Resource resource { Resource::Unknown, "http://127.0.0.1:3000/delayed" };
// This request takes 200 milliseconds to answer.
- Request* req = fs.request(resource, [&](Response res) {
- fs.cancel(req);
+ std::unique_ptr<FileRequest> req = fs.request(resource, [&](Response res) {
+ req.reset();
EXPECT_EQ(nullptr, res.error);
EXPECT_EQ(false, res.stale);
ASSERT_TRUE(res.data.get());
@@ -64,7 +64,7 @@ TEST_F(Storage, HTTPNetworkStatusChangePreempt) {
const auto start = uv_hrtime();
const Resource resource{ Resource::Unknown, "http://127.0.0.1:3001/test" };
- Request* req = fs.request(resource, [&](Response res) {
+ std::unique_ptr<FileRequest> req = fs.request(resource, [&](Response res) {
static int counter = 0;
const auto duration = double(uv_hrtime() - start) / 1e9;
if (counter == 0) {
@@ -95,7 +95,7 @@ TEST_F(Storage, HTTPNetworkStatusChangePreempt) {
EXPECT_EQ("", res.etag);
if (counter++ == 1) {
- fs.cancel(req);
+ req.reset();
loop.stop();
HTTPNetworkStatusChangePreempt.finish();
}
diff --git a/test/storage/http_timeout.cpp b/test/storage/http_timeout.cpp
index d59ca3cb77..2c1a1f1f60 100644
--- a/test/storage/http_timeout.cpp
+++ b/test/storage/http_timeout.cpp
@@ -18,7 +18,7 @@ TEST_F(Storage, HTTPTimeout) {
int counter = 0;
const Resource resource { Resource::Unknown, "http://127.0.0.1:3000/test?cachecontrol=max-age=1" };
- Request* req = fs.request(resource, [&](Response res) {
+ std::unique_ptr<FileRequest> req = fs.request(resource, [&](Response res) {
counter++;
EXPECT_EQ(nullptr, res.error);
EXPECT_EQ(false, res.stale);
@@ -28,7 +28,7 @@ TEST_F(Storage, HTTPTimeout) {
EXPECT_EQ(0, res.modified);
EXPECT_EQ("", res.etag);
if (counter == 4) {
- fs.cancel(req);
+ req.reset();
loop.stop();
HTTPTimeout.finish();
}