| Index: ppapi/tests/test_host_resolver_private.cc
|
| diff --git a/ppapi/tests/test_host_resolver_private.cc b/ppapi/tests/test_host_resolver_private.cc
|
| index efba09e695815e2a33663ba30a5dba6b06e2ba08..8de75b38041f265f15c720ed886e5036e77a8d6a 100644
|
| --- a/ppapi/tests/test_host_resolver_private.cc
|
| +++ b/ppapi/tests/test_host_resolver_private.cc
|
| @@ -5,8 +5,8 @@
|
| #include "ppapi/tests/test_host_resolver_private.h"
|
|
|
| #include "ppapi/c/private/ppb_net_address_private.h"
|
| -#include "ppapi/cpp/module.h"
|
| -#include "ppapi/cpp/pass_ref.h"
|
| +#include "ppapi/cpp/module_impl.h"
|
| +#include "ppapi/cpp/private/host_resolver_private.h"
|
| #include "ppapi/cpp/private/tcp_socket_private.h"
|
| #include "ppapi/cpp/var.h"
|
| #include "ppapi/tests/test_utils.h"
|
| @@ -19,27 +19,21 @@ TestHostResolverPrivate::TestHostResolverPrivate(TestingInstance* instance)
|
| }
|
|
|
| bool TestHostResolverPrivate::Init() {
|
| - core_interface_ = static_cast<const PPB_Core*>(
|
| - pp::Module::Get()->GetBrowserInterface(PPB_CORE_INTERFACE));
|
| - if (!core_interface_)
|
| - instance_->AppendError("PPB_Core interface not available");
|
| - host_resolver_private_interface_ =
|
| - static_cast<const PPB_HostResolver_Private*>(
|
| - pp::Module::Get()->GetBrowserInterface(
|
| - PPB_HOSTRESOLVER_PRIVATE_INTERFACE));
|
| + bool host_resolver_private_is_available =
|
| + pp::HostResolverPrivate::IsAvailable();
|
| + if (!host_resolver_private_is_available)
|
| + instance_->AppendError("PPB_HostResolver_Private interface not available");
|
| +
|
| bool tcp_socket_private_is_available = pp::TCPSocketPrivate::IsAvailable();
|
| if (!tcp_socket_private_is_available)
|
| instance_->AppendError("PPB_TCPSocket_Private interface not available");
|
| - if (!host_resolver_private_interface_)
|
| - instance_->AppendError("PPB_HostResolver_Private interface not available");
|
|
|
| - bool init_host_port = GetLocalHostPort(
|
| - instance_->pp_instance(), &host_, &port_);
|
| + bool init_host_port =
|
| + GetLocalHostPort(instance_->pp_instance(), &host_, &port_);
|
| if (!init_host_port)
|
| instance_->AppendError("Can't init host and port");
|
|
|
| - return core_interface_ &&
|
| - host_resolver_private_interface_ &&
|
| + return host_resolver_private_is_available &&
|
| tcp_socket_private_is_available &&
|
| init_host_port &&
|
| CheckTestingInterface() &&
|
| @@ -47,7 +41,7 @@ bool TestHostResolverPrivate::Init() {
|
| }
|
|
|
| void TestHostResolverPrivate::RunTests(const std::string& filter) {
|
| - RUN_TEST(Create, filter);
|
| + RUN_TEST(Empty, filter);
|
| RUN_TEST_FORCEASYNC_AND_NOT(Resolve, filter);
|
| RUN_TEST_FORCEASYNC_AND_NOT(ResolveIPv4, filter);
|
| }
|
| @@ -115,16 +109,11 @@ std::string TestHostResolverPrivate::CheckHTTPResponse(
|
| const std::string& request,
|
| const std::string& response) {
|
| int32_t rv = 0;
|
| - std::string error_message;
|
| -
|
| - error_message = SyncWrite(socket, request.c_str(), request.size(), &rv);
|
| - if (!error_message.empty())
|
| - return error_message;
|
| -
|
| + ASSERT_SUBTEST_SUCCESS(
|
| + SyncWrite(socket, request.c_str(), request.size(), &rv));
|
| std::vector<char> response_buffer(response.size());
|
| - error_message = SyncRead(socket, &response_buffer[0], response.size(), &rv);
|
| - if (!error_message.empty())
|
| - return error_message;
|
| + ASSERT_SUBTEST_SUCCESS(
|
| + SyncRead(socket, &response_buffer[0], response.size(), &rv));
|
| std::string actual_response(&response_buffer[0], rv);
|
| if (response != actual_response) {
|
| return "CheckHTTPResponse failed, expected: " + response +
|
| @@ -134,17 +123,12 @@ std::string TestHostResolverPrivate::CheckHTTPResponse(
|
| }
|
|
|
| std::string TestHostResolverPrivate::SyncResolve(
|
| - PP_Resource host_resolver,
|
| + pp::HostResolverPrivate* host_resolver,
|
| const std::string& host,
|
| uint16_t port,
|
| const PP_HostResolver_Private_Hint& hint) {
|
| TestCompletionCallback callback(instance_->pp_instance(), force_async_);
|
| - int32_t rv = host_resolver_private_interface_->Resolve(
|
| - host_resolver,
|
| - host.c_str(),
|
| - port,
|
| - &hint,
|
| - static_cast<pp::CompletionCallback>(callback).pp_completion_callback());
|
| + int32_t rv = host_resolver->Resolve(host, port, hint, callback);
|
| if (force_async_ && rv != PP_OK_COMPLETIONPENDING)
|
| return ReportError("PPB_HostResolver_Private::Resolve force_async", rv);
|
| if (rv == PP_OK_COMPLETIONPENDING)
|
| @@ -154,72 +138,48 @@ std::string TestHostResolverPrivate::SyncResolve(
|
| PASS();
|
| }
|
|
|
| -std::string TestHostResolverPrivate::TestCreate() {
|
| - PP_Resource host_resolver = host_resolver_private_interface_->Create(0);
|
| - ASSERT_EQ(0, host_resolver);
|
| -
|
| - host_resolver =
|
| - host_resolver_private_interface_->Create(instance_->pp_instance());
|
| - ASSERT_NE(0, host_resolver);
|
| - ASSERT_TRUE(host_resolver_private_interface_->IsHostResolver(host_resolver));
|
| - ASSERT_EQ(0, host_resolver_private_interface_->GetSize(host_resolver));
|
| -
|
| +std::string TestHostResolverPrivate::TestEmpty() {
|
| + pp::HostResolverPrivate host_resolver(instance_);
|
| + ASSERT_EQ(0, host_resolver.GetSize());
|
| PP_NetAddress_Private address;
|
| - ASSERT_FALSE(host_resolver_private_interface_->GetNetAddress(host_resolver,
|
| - 0,
|
| - &address));
|
| - core_interface_->ReleaseResource(host_resolver);
|
| + ASSERT_FALSE(host_resolver.GetNetAddress(0, &address));
|
| +
|
| PASS();
|
| }
|
|
|
| std::string TestHostResolverPrivate::ParametrizedTestResolve(
|
| const PP_HostResolver_Private_Hint &hint) {
|
| - PP_Resource host_resolver =
|
| - host_resolver_private_interface_->Create(instance_->pp_instance());
|
| - ASSERT_NE(0, host_resolver);
|
| - ASSERT_TRUE(host_resolver_private_interface_->IsHostResolver(host_resolver));
|
| + pp::HostResolverPrivate host_resolver(instance_);
|
|
|
| - std::string error_message = SyncResolve(host_resolver, host_, port_, hint);
|
| - if (!error_message.empty())
|
| - return error_message;
|
| + ASSERT_SUBTEST_SUCCESS(SyncResolve(&host_resolver, host_, port_, hint));
|
|
|
| - const size_t size = host_resolver_private_interface_->GetSize(host_resolver);
|
| + const size_t size = host_resolver.GetSize();
|
| ASSERT_TRUE(size >= 1);
|
|
|
| PP_NetAddress_Private address;
|
| for (size_t i = 0; i < size; ++i) {
|
| - ASSERT_TRUE(host_resolver_private_interface_->GetNetAddress(host_resolver,
|
| - i,
|
| - &address));
|
| + ASSERT_TRUE(host_resolver.GetNetAddress(i, &address));
|
| +
|
| pp::TCPSocketPrivate socket(instance_);
|
| - error_message = SyncConnect(&socket, address);
|
| - error_message =
|
| - CheckHTTPResponse(&socket, "GET / HTTP/1.0\r\n\r\n", "HTTP/1.0");
|
| - if (!error_message.empty())
|
| - return error_message;
|
| + ASSERT_SUBTEST_SUCCESS(SyncConnect(&socket, address));
|
| + ASSERT_SUBTEST_SUCCESS(CheckHTTPResponse(&socket,
|
| + "GET / HTTP/1.0\r\n\r\n",
|
| + "HTTP"));
|
| socket.Disconnect();
|
| }
|
|
|
| - ASSERT_FALSE(host_resolver_private_interface_->GetNetAddress(host_resolver,
|
| - size,
|
| - &address));
|
| - PP_Var pp_var =
|
| - host_resolver_private_interface_->GetCanonicalName(host_resolver);
|
| - pp::Var canonical_name(pp::PassRef(), pp_var);
|
| + ASSERT_FALSE(host_resolver.GetNetAddress(size, &address));
|
| + pp::Var canonical_name = host_resolver.GetCanonicalName();
|
| ASSERT_TRUE(canonical_name.is_string());
|
| pp::TCPSocketPrivate socket(instance_);
|
| - error_message = SyncConnect(&socket,
|
| - canonical_name.AsString().c_str(),
|
| - port_);
|
| - if (!error_message.empty())
|
| - return error_message;
|
| - error_message = CheckHTTPResponse(&socket,
|
| - "GET / HTTP/1.0\r\n\r\n", "HTTP");
|
| - if (!error_message.empty())
|
| - return error_message;
|
| + ASSERT_SUBTEST_SUCCESS(SyncConnect(&socket,
|
| + canonical_name.AsString(),
|
| + port_));
|
| + ASSERT_SUBTEST_SUCCESS(CheckHTTPResponse(&socket,
|
| + "GET / HTTP/1.0\r\n\r\n",
|
| + "HTTP"));
|
| socket.Disconnect();
|
|
|
| - core_interface_->ReleaseResource(host_resolver);
|
| PASS();
|
| }
|
|
|
|
|