diff options
-rw-r--r-- | Makefile | 3 | ||||
-rwxr-xr-x | scripts/run_tests.sh | 4 | ||||
-rw-r--r-- | test/headless/headless.cpp | 3 | ||||
-rw-r--r-- | test/storage/cache_response.cpp | 24 | ||||
-rw-r--r-- | test/storage/cache_revalidate.cpp | 72 | ||||
-rw-r--r-- | test/storage/directory_reading.cpp | 15 | ||||
-rw-r--r-- | test/storage/file_reading.cpp | 35 | ||||
-rw-r--r-- | test/storage/http_cancel.cpp | 12 | ||||
-rw-r--r-- | test/storage/http_coalescing.cpp | 14 | ||||
-rw-r--r-- | test/storage/http_error.cpp | 30 | ||||
-rw-r--r-- | test/storage/http_header_parsing.cpp | 24 | ||||
-rw-r--r-- | test/storage/http_load.cpp | 12 | ||||
-rw-r--r-- | test/storage/http_noloop.cpp | 14 | ||||
-rw-r--r-- | test/storage/http_other_loop.cpp | 12 | ||||
-rw-r--r-- | test/storage/http_reading.cpp | 26 | ||||
-rw-r--r-- | test/storage/storage.cpp | 4 | ||||
-rw-r--r-- | test/test.gyp | 16 |
17 files changed, 170 insertions, 150 deletions
@@ -106,8 +106,7 @@ android: test: build/test/Makefile $(MAKE) -C build/test BUILDTYPE=$(BUILDTYPE) V=$(V) test -test-%: build/test/Makefile - $(MAKE) -C build/test BUILDTYPE=$(BUILDTYPE) V=$(V) test +test-%: test ./scripts/run_tests.sh --gtest_filter=$* # build Mac OS X project for Xcode diff --git a/scripts/run_tests.sh b/scripts/run_tests.sh index e53e9a84a3..6a715f3783 100755 --- a/scripts/run_tests.sh +++ b/scripts/run_tests.sh @@ -17,7 +17,9 @@ if [[ ${TRAVIS_OS_NAME} == "linux" ]]; then fi # install test server dependencies -(cd test; npm install express@4.11) +if [ ! -d "test/node_modules/express" ]; then + (cd test; npm install express@4.11.1) +fi RESULT=0 ${CMD} "$@" || RESULT=$? diff --git a/test/headless/headless.cpp b/test/headless/headless.cpp index cd976be27d..9f19c2c566 100644 --- a/test/headless/headless.cpp +++ b/test/headless/headless.cpp @@ -4,6 +4,7 @@ #include <mbgl/map/map.hpp> #include <mbgl/util/image.hpp> #include <mbgl/util/std.hpp> +#include <mbgl/platform/platform.hpp> #include <mbgl/util/io.hpp> #include <rapidjson/document.h> @@ -29,7 +30,7 @@ void rewriteLocalScheme(rapidjson::Value &value, rapidjson::Document::AllocatorT class HeadlessTest : public ::testing::TestWithParam<std::string> { public: static void SetUpTestCase() { - const auto server = mbgl::test::getBaseDirectory() + "/headless/server.js"; + const auto server = mbgl::platform::applicationRoot() + "/TEST_DATA/headless/server.js"; pid = mbgl::test::startServer(server.c_str()); display = std::make_shared<mbgl::HeadlessDisplay>(); } diff --git a/test/storage/cache_response.cpp b/test/storage/cache_response.cpp index 57aa8a5e16..62aded7ca2 100644 --- a/test/storage/cache_response.cpp +++ b/test/storage/cache_response.cpp @@ -16,20 +16,20 @@ TEST_F(Storage, CacheResponse) { const Resource resource { Resource::Unknown, "http://127.0.0.1:3000/cache" }; fs.request(resource, uv_default_loop(), [&](const Response &res) { - EXPECT_EQ(res.status, Response::Successful); - EXPECT_EQ(res.data, "Response 1"); - EXPECT_GT(res.expires, 0); - EXPECT_EQ(res.modified, 0); - EXPECT_EQ(res.etag, ""); - EXPECT_EQ(res.message, ""); + EXPECT_EQ(Response::Successful, res.status); + EXPECT_EQ("Response 1", res.data); + EXPECT_LT(0, res.expires); + EXPECT_EQ(0, res.modified); + EXPECT_EQ("", res.etag); + EXPECT_EQ("", res.message); fs.request(resource, uv_default_loop(), [&, res](const Response &res2) { - EXPECT_EQ(res2.status, res.status); - EXPECT_EQ(res2.data, res.data); - EXPECT_EQ(res2.expires, res.expires); - EXPECT_EQ(res2.modified, res.modified); - EXPECT_EQ(res2.etag, res.etag); - EXPECT_EQ(res2.message, res.message); + EXPECT_EQ(res.status, res2.status); + EXPECT_EQ(res.data, res2.data); + EXPECT_EQ(res.expires, res2.expires); + EXPECT_EQ(res.modified, res2.modified); + EXPECT_EQ(res.etag, res2.etag); + EXPECT_EQ(res.message, res2.message); CacheResponse.finish(); }); diff --git a/test/storage/cache_revalidate.cpp b/test/storage/cache_revalidate.cpp index 1c8653f183..75df5822a5 100644 --- a/test/storage/cache_revalidate.cpp +++ b/test/storage/cache_revalidate.cpp @@ -17,22 +17,22 @@ TEST_F(Storage, CacheRevalidate) { const Resource revalidateSame { Resource::Unknown, "http://127.0.0.1:3000/revalidate-same" }; fs.request(revalidateSame, uv_default_loop(), [&](const Response &res) { - EXPECT_EQ(res.status, Response::Successful); - EXPECT_EQ(res.data, "Response"); - EXPECT_EQ(res.expires, 0); - EXPECT_EQ(res.modified, 0); - EXPECT_EQ(res.etag, "snowfall"); - EXPECT_EQ(res.message, ""); + EXPECT_EQ(Response::Successful, res.status); + EXPECT_EQ("Response", res.data); + EXPECT_EQ(0, res.expires); + EXPECT_EQ(0, res.modified); + EXPECT_EQ("snowfall", res.etag); + EXPECT_EQ("", res.message); fs.request(revalidateSame, uv_default_loop(), [&, res](const Response &res2) { - EXPECT_EQ(res2.status, Response::Successful); - EXPECT_EQ(res2.data, "Response"); + EXPECT_EQ(Response::Successful, res2.status); + EXPECT_EQ("Response", res2.data); // We use this to indicate that a 304 reply came back. - EXPECT_GT(res2.expires, 0); - EXPECT_EQ(res2.modified, 0); + EXPECT_LT(0, res2.expires); + EXPECT_EQ(0, res2.modified); // We're not sending the ETag in the 304 reply, but it should still be there. - EXPECT_EQ(res2.etag, "snowfall"); - EXPECT_EQ(res2.message, ""); + EXPECT_EQ("snowfall", res2.etag); + EXPECT_EQ("", res2.message); CacheRevalidateSame.finish(); }); @@ -40,21 +40,21 @@ TEST_F(Storage, CacheRevalidate) { const Resource revalidateModified { Resource::Unknown, "http://127.0.0.1:3000/revalidate-modified" }; fs.request(revalidateModified, uv_default_loop(), [&](const Response &res) { - EXPECT_EQ(res.status, Response::Successful); - EXPECT_EQ(res.data, "Response"); - EXPECT_EQ(res.expires, 0); - EXPECT_EQ(res.modified, 1420070400); - EXPECT_EQ(res.etag, ""); - EXPECT_EQ(res.message, ""); + EXPECT_EQ(Response::Successful, res.status); + EXPECT_EQ("Response", res.data); + EXPECT_EQ(0, res.expires); + EXPECT_EQ(1420070400, res.modified); + EXPECT_EQ("", res.etag); + EXPECT_EQ("", res.message); fs.request(revalidateModified, uv_default_loop(), [&, res](const Response &res2) { - EXPECT_EQ(res2.status, Response::Successful); - EXPECT_EQ(res2.data, "Response"); + EXPECT_EQ(Response::Successful, res2.status); + EXPECT_EQ("Response", res2.data); // We use this to indicate that a 304 reply came back. - EXPECT_GT(res2.expires, 0); - EXPECT_EQ(res2.modified, 1420070400); - EXPECT_EQ(res2.etag, ""); - EXPECT_EQ(res2.message, ""); + EXPECT_LT(0, res2.expires); + EXPECT_EQ(1420070400, res2.modified); + EXPECT_EQ("", res2.etag); + EXPECT_EQ("", res2.message); CacheRevalidateModified.finish(); }); @@ -62,20 +62,20 @@ TEST_F(Storage, CacheRevalidate) { const Resource revalidateEtag { Resource::Unknown, "http://127.0.0.1:3000/revalidate-etag" }; fs.request(revalidateEtag, uv_default_loop(), [&](const Response &res) { - EXPECT_EQ(res.status, Response::Successful); - EXPECT_EQ(res.data, "Response 1"); - EXPECT_EQ(res.expires, 0); - EXPECT_EQ(res.modified, 0); - EXPECT_EQ(res.etag, "response-1"); - EXPECT_EQ(res.message, ""); + EXPECT_EQ(Response::Successful, res.status); + EXPECT_EQ("Response 1", res.data); + EXPECT_EQ(0, res.expires); + EXPECT_EQ(0, res.modified); + EXPECT_EQ("response-1", res.etag); + EXPECT_EQ("", res.message); fs.request(revalidateEtag, uv_default_loop(), [&, res](const Response &res2) { - EXPECT_EQ(res2.status, Response::Successful); - EXPECT_EQ(res2.data, "Response 2"); - EXPECT_EQ(res2.expires, 0); - EXPECT_EQ(res2.modified, 0); - EXPECT_EQ(res2.etag, "response-2"); - EXPECT_EQ(res2.message, ""); + EXPECT_EQ(Response::Successful, res2.status); + EXPECT_EQ("Response 2", res2.data); + EXPECT_EQ(0, res2.expires); + EXPECT_EQ(0, res2.modified); + EXPECT_EQ("response-2", res2.etag); + EXPECT_EQ("", res2.message); CacheRevalidateEtag.finish(); }); diff --git a/test/storage/directory_reading.cpp b/test/storage/directory_reading.cpp index 90b7846fdd..84221f3f21 100644 --- a/test/storage/directory_reading.cpp +++ b/test/storage/directory_reading.cpp @@ -11,14 +11,13 @@ TEST_F(Storage, ReadDirectory) { DefaultFileSource fs(nullptr, uv_default_loop()); - const auto dir = std::string { "asset://" } + mbgl::test::getBaseDirectory() + "/fixtures/storage"; - fs.request({ Resource::Unknown, dir }, uv_default_loop(), [&](const Response &res) { - EXPECT_EQ(res.status, Response::Error); - EXPECT_EQ(res.data.size(), 0ul); - EXPECT_EQ(res.expires, 0); - EXPECT_EQ(res.modified, 0); - EXPECT_EQ(res.etag, ""); - EXPECT_EQ(res.message, "illegal operation on a directory"); + fs.request({ Resource::Unknown, "asset://TEST_DATA/fixtures/storage" }, uv_default_loop(), [&](const Response &res) { + EXPECT_EQ(Response::Error, res.status); + EXPECT_EQ(0ul, res.data.size()); + EXPECT_EQ(0, res.expires); + EXPECT_EQ(0, res.modified); + EXPECT_EQ("", res.etag); + EXPECT_EQ("illegal operation on a directory", res.message); ReadDirectory.finish(); }); diff --git a/test/storage/file_reading.cpp b/test/storage/file_reading.cpp index 93c119d44f..f7eea9c880 100644 --- a/test/storage/file_reading.cpp +++ b/test/storage/file_reading.cpp @@ -3,6 +3,7 @@ #include <uv.h> #include <mbgl/storage/default/default_file_source.hpp> +#include <mbgl/platform/platform.hpp> TEST_F(Storage, EmptyFile) { SCOPED_TEST(EmptyFile) @@ -11,14 +12,15 @@ TEST_F(Storage, EmptyFile) { DefaultFileSource fs(nullptr, uv_default_loop()); - const auto file = std::string { "asset://" } + mbgl::test::getBaseDirectory() + "/fixtures/storage/empty"; - fs.request({ Resource::Unknown, file }, uv_default_loop(), [&](const Response &res) { - EXPECT_EQ(res.status, Response::Successful); - EXPECT_EQ(res.data.size(), 0ul); - EXPECT_EQ(res.expires, 0); - EXPECT_GT(res.modified, 0); - EXPECT_NE(res.etag, ""); - EXPECT_EQ(res.message, ""); + fs.request({ Resource::Unknown, "asset://TEST_DATA/fixtures/storage/empty" }, + uv_default_loop(), + [&](const Response &res) { + EXPECT_EQ(Response::Successful, res.status); + EXPECT_EQ(0ul, res.data.size()); + EXPECT_EQ(0, res.expires); + EXPECT_LT(1420000000, res.modified); + EXPECT_NE("", res.etag); + EXPECT_EQ("", res.message); EmptyFile.finish(); }); @@ -32,14 +34,15 @@ TEST_F(Storage, NonExistentFile) { DefaultFileSource fs(nullptr, uv_default_loop()); - const auto file = std::string { "asset://" } + mbgl::test::getBaseDirectory() + "/fixtures/storage/does_not_exist"; - fs.request({ Resource::Unknown, file }, uv_default_loop(), [&](const Response &res) { - EXPECT_EQ(res.status, Response::Error); - EXPECT_EQ(res.data.size(), 0ul); - EXPECT_EQ(res.expires, 0); - EXPECT_EQ(res.modified, 0); - EXPECT_EQ(res.etag, ""); - EXPECT_EQ(res.message, "no such file or directory"); + fs.request({ Resource::Unknown, "asset://TEST_DATA/fixtures/storage/does_not_exist" }, + uv_default_loop(), + [&](const Response &res) { + EXPECT_EQ(Response::Error, res.status); + EXPECT_EQ(0ul, res.data.size()); + EXPECT_EQ(0, res.expires); + EXPECT_EQ(0, res.modified); + EXPECT_EQ("", res.etag); + EXPECT_EQ("no such file or directory", res.message); NonExistentFile.finish(); }); diff --git a/test/storage/http_cancel.cpp b/test/storage/http_cancel.cpp index 948fab8de0..0a5194d6e0 100644 --- a/test/storage/http_cancel.cpp +++ b/test/storage/http_cancel.cpp @@ -36,12 +36,12 @@ TEST_F(Storage, HTTPCancelMultiple) { ADD_FAILURE() << "Callback should not be called"; }); fs.request(resource, uv_default_loop(), [&](const Response &res) { - EXPECT_EQ(res.status, Response::Successful); - EXPECT_EQ(res.data, "Hello World!"); - EXPECT_EQ(res.expires, 0); - EXPECT_EQ(res.modified, 0); - EXPECT_EQ(res.etag, ""); - EXPECT_EQ(res.message, ""); + EXPECT_EQ(Response::Successful, res.status); + EXPECT_EQ("Hello World!", res.data); + EXPECT_EQ(0, res.expires); + EXPECT_EQ(0, res.modified); + EXPECT_EQ("", res.etag); + EXPECT_EQ("", res.message); HTTPCancelMultiple.finish(); }); fs.cancel(req2); diff --git a/test/storage/http_coalescing.cpp b/test/storage/http_coalescing.cpp index 0224b2444d..bfd9137ab3 100644 --- a/test/storage/http_coalescing.cpp +++ b/test/storage/http_coalescing.cpp @@ -23,15 +23,15 @@ TEST_F(Storage, HTTPCoalescing) { if (!reference) { reference = &res; } else { - EXPECT_EQ(reference, &res); + EXPECT_EQ(&res, reference); } - EXPECT_EQ(res.status, Response::Successful); - EXPECT_EQ(res.data, "Hello World!"); - EXPECT_EQ(res.expires, 0); - EXPECT_EQ(res.modified, 0); - EXPECT_EQ(res.etag, ""); - EXPECT_EQ(res.message, ""); + EXPECT_EQ(Response::Successful, res.status); + EXPECT_EQ("Hello World!", res.data); + EXPECT_EQ(0, res.expires); + EXPECT_EQ(0, res.modified); + EXPECT_EQ("", res.etag); + EXPECT_EQ("", res.message); if (counter >= total) { HTTPCoalescing.finish(); diff --git a/test/storage/http_error.cpp b/test/storage/http_error.cpp index 274b88fd4a..101166780a 100644 --- a/test/storage/http_error.cpp +++ b/test/storage/http_error.cpp @@ -26,14 +26,14 @@ TEST_F(Storage, HTTPError) { fs.request({ Resource::Unknown, "http://127.0.0.1:3000/temporary-error" }, uv_default_loop(), [&](const Response &res) { const auto duration = double(uv_hrtime() - start) / 1e9; - EXPECT_GT(duration, 1) << "Backoff timer didn't wait 1 second"; - EXPECT_LT(duration, 1.2) << "Backoff timer fired too late"; - EXPECT_EQ(res.status, Response::Successful); - EXPECT_EQ(res.data, "Hello World!"); - EXPECT_EQ(res.expires, 0); - EXPECT_EQ(res.modified, 0); - EXPECT_EQ(res.etag, ""); - EXPECT_EQ(res.message, ""); + EXPECT_LT(1, duration) << "Backoff timer didn't wait 1 second"; + EXPECT_GT(1.2, duration) << "Backoff timer fired too late"; + EXPECT_EQ(Response::Successful, res.status); + EXPECT_EQ("Hello World!", res.data); + EXPECT_EQ(0, res.expires); + EXPECT_EQ(0, res.modified); + EXPECT_EQ("", res.etag); + EXPECT_EQ("", res.message); HTTPTemporaryError.finish(); }); @@ -41,14 +41,14 @@ TEST_F(Storage, HTTPError) { fs.request({ Resource::Unknown, "http://127.0.0.1:3001/" }, uv_default_loop(), [&](const Response &res) { const auto duration = double(uv_hrtime() - start) / 1e9; // 1.5 seconds == 4 retries, with a 500ms timeout (see above). - EXPECT_GT(duration, 1.5) << "Resource wasn't retried the correct number of times"; - EXPECT_LT(duration, 1.7) << "Resource wasn't retried the correct number of times"; - EXPECT_EQ(res.status, Response::Error); + EXPECT_LT(1.5, duration) << "Resource wasn't retried the correct number of times"; + EXPECT_GT(1.7, duration) << "Resource wasn't retried the correct number of times"; + EXPECT_EQ(Response::Error, res.status); EXPECT_TRUE(res.message == "Couldn't connect to server" || res.message == "The operation couldn’t be completed. (NSURLErrorDomain error -1004.)"); - EXPECT_EQ(res.data, ""); - EXPECT_EQ(res.expires, 0); - EXPECT_EQ(res.modified, 0); - EXPECT_EQ(res.etag, ""); + EXPECT_EQ("", res.data); + EXPECT_EQ(0, res.expires); + EXPECT_EQ(0, res.modified); + EXPECT_EQ("", res.etag); HTTPConnectionError.finish(); }); diff --git a/test/storage/http_header_parsing.cpp b/test/storage/http_header_parsing.cpp index 0ee78a291a..2cecd78a49 100644 --- a/test/storage/http_header_parsing.cpp +++ b/test/storage/http_header_parsing.cpp @@ -15,12 +15,12 @@ TEST_F(Storage, HTTPHeaderParsing) { DefaultFileSource fs(nullptr, uv_default_loop()); fs.request({ Resource::Unknown, "http://127.0.0.1:3000/test?modified=1420794326&expires=1420797926&etag=foo" }, uv_default_loop(), [&](const Response &res) { - EXPECT_EQ(res.status, Response::Successful); - EXPECT_EQ(res.data, "Hello World!"); - EXPECT_EQ(res.expires, 1420797926); - EXPECT_EQ(res.modified, 1420794326); - EXPECT_EQ(res.etag, "foo"); - EXPECT_EQ(res.message, ""); + EXPECT_EQ(Response::Successful, res.status); + EXPECT_EQ("Hello World!", res.data); + EXPECT_EQ(1420797926, res.expires); + EXPECT_EQ(1420794326, res.modified); + EXPECT_EQ("foo", res.etag); + EXPECT_EQ("", res.message); HTTPExpiresTest.finish(); }); @@ -29,12 +29,12 @@ TEST_F(Storage, HTTPHeaderParsing) { std::chrono::system_clock::now().time_since_epoch()).count(); fs.request({ Resource::Unknown, "http://127.0.0.1:3000/test?cachecontrol=max-age=120" }, uv_default_loop(), [&](const Response &res) { - EXPECT_EQ(res.status, Response::Successful); - EXPECT_EQ(res.data, "Hello World!"); - EXPECT_LT(std::abs(res.expires - now - 120), 2) << "Expiration date isn't about 120 seconds in the future"; - EXPECT_EQ(res.modified, 0); - EXPECT_EQ(res.etag, ""); - EXPECT_EQ(res.message, ""); + EXPECT_EQ(Response::Successful, res.status); + EXPECT_EQ("Hello World!", res.data); + EXPECT_GT(2, std::abs(res.expires - now - 120)) << "Expiration date isn't about 120 seconds in the future"; + EXPECT_EQ(0, res.modified); + EXPECT_EQ("", res.etag); + EXPECT_EQ("", res.message); HTTPCacheControlTest.finish(); }); diff --git a/test/storage/http_load.cpp b/test/storage/http_load.cpp index 8ffae05b11..73057f94f4 100644 --- a/test/storage/http_load.cpp +++ b/test/storage/http_load.cpp @@ -18,12 +18,12 @@ TEST_F(Storage, HTTPLoad) { std::function<void()> req = [&]() { const auto current = number++; fs.request({ Resource::Unknown, std::string("http://127.0.0.1:3000/load/") + std::to_string(current) }, uv_default_loop(), [&, current](const Response &res) { - EXPECT_EQ(res.status, Response::Successful); - EXPECT_EQ(res.data, std::string("Request ") + std::to_string(current)); - EXPECT_EQ(res.expires, 0); - EXPECT_EQ(res.modified, 0); - EXPECT_EQ(res.etag, ""); - EXPECT_EQ(res.message, ""); + EXPECT_EQ(Response::Successful, res.status); + EXPECT_EQ(std::string("Request ") + std::to_string(current), res.data); + EXPECT_EQ(0, res.expires); + EXPECT_EQ(0, res.modified); + EXPECT_EQ("", res.etag); + EXPECT_EQ("", res.message); if (number <= max) { req(); diff --git a/test/storage/http_noloop.cpp b/test/storage/http_noloop.cpp index d9d69af5a8..673c8bf73e 100644 --- a/test/storage/http_noloop.cpp +++ b/test/storage/http_noloop.cpp @@ -21,13 +21,13 @@ TEST_F(Storage, HTTPNoLoop) { }); fs.request({ Resource::Unknown, "http://127.0.0.1:3000/temporary-error" }, [&](const Response &res) { - EXPECT_NE(mainThread, uv_thread_self()) << "Response was called in the same thread"; - EXPECT_EQ(res.status, Response::Successful); - EXPECT_EQ(res.data, "Hello World!"); - EXPECT_EQ(res.expires, 0); - EXPECT_EQ(res.modified, 0); - EXPECT_EQ(res.etag, ""); - EXPECT_EQ(res.message, ""); + EXPECT_NE(uv_thread_self(), mainThread) << "Response was called in the same thread"; + EXPECT_EQ(Response::Successful, res.status); + EXPECT_EQ("Hello World!", res.data); + EXPECT_EQ(0, res.expires); + EXPECT_EQ(0, res.modified); + EXPECT_EQ("", res.etag); + EXPECT_EQ("", res.message); HTTPNoLoop.finish(); uv_async_send(async); diff --git a/test/storage/http_other_loop.cpp b/test/storage/http_other_loop.cpp index d455250393..45990ac217 100644 --- a/test/storage/http_other_loop.cpp +++ b/test/storage/http_other_loop.cpp @@ -13,12 +13,12 @@ TEST_F(Storage, HTTPOtherLoop) { DefaultFileSource fs(nullptr); fs.request({ Resource::Unknown, "http://127.0.0.1:3000/test" }, uv_default_loop(), [&](const Response &res) { - EXPECT_EQ(res.status, Response::Successful); - EXPECT_EQ(res.data, "Hello World!"); - EXPECT_EQ(res.expires, 0); - EXPECT_EQ(res.modified, 0); - EXPECT_EQ(res.etag, ""); - EXPECT_EQ(res.message, ""); + EXPECT_EQ(Response::Successful, res.status); + EXPECT_EQ("Hello World!", res.data); + EXPECT_EQ(0, res.expires); + EXPECT_EQ(0, res.modified); + EXPECT_EQ("", res.etag); + EXPECT_EQ("", res.message); HTTPOtherLoop.finish(); }); diff --git a/test/storage/http_reading.cpp b/test/storage/http_reading.cpp index 7130e13c6b..3033a6f547 100644 --- a/test/storage/http_reading.cpp +++ b/test/storage/http_reading.cpp @@ -15,23 +15,23 @@ TEST_F(Storage, HTTPReading) { const auto mainThread = uv_thread_self(); fs.request({ Resource::Unknown, "http://127.0.0.1:3000/test" }, uv_default_loop(), [&](const Response &res) { - EXPECT_EQ(mainThread, uv_thread_self()); - EXPECT_EQ(res.status, Response::Successful); - EXPECT_EQ(res.data, "Hello World!"); - EXPECT_EQ(res.expires, 0); - EXPECT_EQ(res.modified, 0); - EXPECT_EQ(res.etag, ""); - EXPECT_EQ(res.message, ""); + EXPECT_EQ(uv_thread_self(), mainThread); + EXPECT_EQ(Response::Successful, res.status); + EXPECT_EQ("Hello World!", res.data); + EXPECT_EQ(0, res.expires); + EXPECT_EQ(0, res.modified); + EXPECT_EQ("", res.etag); + EXPECT_EQ("", res.message); HTTPTest.finish(); }); fs.request({ Resource::Unknown, "http://127.0.0.1:3000/doesnotexist" }, uv_default_loop(), [&](const Response &res) { - EXPECT_EQ(mainThread, uv_thread_self()); - EXPECT_EQ(res.status, Response::Error); - EXPECT_EQ(res.message, "HTTP status code 404"); - EXPECT_EQ(res.expires, 0); - EXPECT_EQ(res.modified, 0); - EXPECT_EQ(res.etag, ""); + EXPECT_EQ(uv_thread_self(), mainThread); + EXPECT_EQ(Response::Error, res.status); + EXPECT_EQ("HTTP status code 404", res.message); + EXPECT_EQ(0, res.expires); + EXPECT_EQ(0, res.modified); + EXPECT_EQ("", res.etag); HTTP404.finish(); }); diff --git a/test/storage/storage.cpp b/test/storage/storage.cpp index 30f632d193..5dbd13dcd5 100644 --- a/test/storage/storage.cpp +++ b/test/storage/storage.cpp @@ -1,10 +1,10 @@ #include "storage.hpp" +#include <mbgl/platform/platform.hpp> pid_t Storage::pid = 0; void Storage::SetUpTestCase() { - const auto server = mbgl::test::getBaseDirectory() + "/storage/server.js"; - fprintf(stderr, "server: %s\n", server.c_str()); + const auto server = mbgl::platform::applicationRoot() + "/TEST_DATA/storage/server.js"; pid = mbgl::test::startServer(server.c_str()); } diff --git a/test/test.gyp b/test/test.gyp index 0362b8805c..af7dd97eed 100644 --- a/test/test.gyp +++ b/test/test.gyp @@ -3,10 +3,23 @@ '../gyp/common.gypi', ], 'targets': [ + { 'target_name': 'symlink_TEST_DATA', + 'type': 'none', + 'hard_dependency': 1, + 'actions': [ + { + 'action_name': 'Symlink Fixture Directory', + 'inputs': ['<!@(pwd)'], + 'outputs': ['<(PRODUCT_DIR)/TEST_DATA'], # symlinks the test dir into TEST_DATA + 'action': ['ln', '-s', '-f', '-n', '<@(_inputs)', '<@(_outputs)' ], + } + ], + }, { 'target_name': 'test', 'type': 'executable', 'include_dirs': [ '../include', '../src' ], 'dependencies': [ + 'symlink_TEST_DATA', '../mapboxgl.gyp:mbgl-core', '../mapboxgl.gyp:mbgl-<(platform)', '../mapboxgl.gyp:mbgl-headless', @@ -14,7 +27,9 @@ ], 'sources': [ 'fixtures/main.cpp', + 'fixtures/util.hpp', 'fixtures/util.cpp', + 'fixtures/fixture_log.hpp', 'fixtures/fixture_log.cpp', 'headless/headless.cpp', @@ -30,6 +45,7 @@ 'miscellaneous/tile.cpp', 'miscellaneous/variant.cpp', + 'storage/storage.hpp', 'storage/storage.cpp', 'storage/cache_response.cpp', 'storage/cache_revalidate.cpp', |