Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(761)

Side by Side Diff: ppapi/tests/test_tcp_server_socket_private_disallowed.cc

Issue 9491007: Added test for disallowed tcp server socket API. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Sync. Created 8 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « ppapi/tests/test_tcp_server_socket_private_disallowed.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "ppapi/tests/test_tcp_server_socket_private_disallowed.h"
6
7 #include <cstddef>
8
9 #include "ppapi/cpp/module.h"
10 #include "ppapi/cpp/private/net_address_private.h"
11 #include "ppapi/tests/test_utils.h"
12 #include "ppapi/tests/testing_instance.h"
13
14 namespace {
15
16 const uint16_t kPortScanFrom = 1024;
17 const uint16_t kPortScanTo = 1280;
18
19 } // namespace
20
21 REGISTER_TEST_CASE(TCPServerSocketPrivateDisallowed);
22
23 TestTCPServerSocketPrivateDisallowed::TestTCPServerSocketPrivateDisallowed(
24 TestingInstance* instance)
25 : TestCase(instance),
26 core_interface_(NULL),
27 tcp_server_socket_private_interface_(NULL) {
28 }
29
30 bool TestTCPServerSocketPrivateDisallowed::Init() {
31 core_interface_ = static_cast<const PPB_Core*>(
32 pp::Module::Get()->GetBrowserInterface(PPB_CORE_INTERFACE));
33 if (!core_interface_)
34 instance_->AppendError("PPB_Core interface not available");
35
36 tcp_server_socket_private_interface_ =
37 static_cast<const PPB_TCPServerSocket_Private*>(
38 pp::Module::Get()->GetBrowserInterface(
39 PPB_TCPSERVERSOCKET_PRIVATE_INTERFACE));
40 if (!tcp_server_socket_private_interface_) {
41 instance_->AppendError(
42 "PPB_TCPServerSocket_Private interface not available");
43 }
44
45 bool net_address_private_is_available = pp::NetAddressPrivate::IsAvailable();
46 if (!net_address_private_is_available)
47 instance_->AppendError("PPB_NetAddress_Private interface not available");
48
49 return core_interface_ &&
50 tcp_server_socket_private_interface_ &&
51 net_address_private_is_available &&
52 CheckTestingInterface();
53 }
54
55 void TestTCPServerSocketPrivateDisallowed::RunTests(const std::string& filter) {
56 RUN_TEST_FORCEASYNC_AND_NOT(Listen, filter);
57 }
58
59 std::string TestTCPServerSocketPrivateDisallowed::TestListen() {
60 PP_Resource socket =
61 tcp_server_socket_private_interface_->Create(instance_->pp_instance());
62 ASSERT_TRUE(socket != 0);
63 ASSERT_TRUE(tcp_server_socket_private_interface_->IsTCPServerSocket(socket));
64
65 PP_NetAddress_Private base_address, current_address;
66 pp::NetAddressPrivate::GetAnyAddress(false, &base_address);
67
68 for (uint16_t port = kPortScanFrom; port < kPortScanTo; ++port) {
69 ASSERT_TRUE(pp::NetAddressPrivate::ReplacePort(base_address,
70 port,
71 &current_address));
72 TestCompletionCallback callback(instance_->pp_instance(), force_async_);
73 int32_t rv = tcp_server_socket_private_interface_->Listen(
74 socket,
75 &current_address,
76 1,
77 static_cast<pp::CompletionCallback>(
78 callback).pp_completion_callback());
79 if (force_async_ && rv != PP_OK_COMPLETIONPENDING)
80 return ReportError("PPB_TCPServerSocket_Private::Listen force_async", rv);
81 if (rv == PP_OK_COMPLETIONPENDING)
82 rv = callback.WaitForResult();
83 ASSERT_NE(PP_OK, rv);
84 }
85
86 PASS();
87 }
OLDNEW
« no previous file with comments | « ppapi/tests/test_tcp_server_socket_private_disallowed.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698