summaryrefslogtreecommitdiffstats
path: root/ppapi/tests
diff options
context:
space:
mode:
authorsergeyu@chromium.org <sergeyu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-05-30 22:44:53 +0000
committersergeyu@chromium.org <sergeyu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-05-30 22:44:53 +0000
commit4fb0f20f7cd1e2b82eb7295f62dc6cb31bb262c5 (patch)
tree50be96f44d854af30b3c1d10ad0b7658da2e1155 /ppapi/tests
parentb5b1563868c6771a52110ab93fa0c12ce6c545ec (diff)
downloadchromium_src-4fb0f20f7cd1e2b82eb7295f62dc6cb31bb262c5.zip
chromium_src-4fb0f20f7cd1e2b82eb7295f62dc6cb31bb262c5.tar.gz
chromium_src-4fb0f20f7cd1e2b82eb7295f62dc6cb31bb262c5.tar.bz2
Remove PPB_Transport_Dev API.
BUG=109630 Review URL: https://chromiumcodereview.appspot.com/10454058 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@139660 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ppapi/tests')
-rw-r--r--ppapi/tests/all_c_includes.h1
-rw-r--r--ppapi/tests/all_cpp_includes.h1
-rw-r--r--ppapi/tests/test_transport.cc373
-rw-r--r--ppapi/tests/test_transport.h51
4 files changed, 0 insertions, 426 deletions
diff --git a/ppapi/tests/all_c_includes.h b/ppapi/tests/all_c_includes.h
index 0732ded..d4f3a0c 100644
--- a/ppapi/tests/all_c_includes.h
+++ b/ppapi/tests/all_c_includes.h
@@ -29,7 +29,6 @@
#include "ppapi/c/dev/ppb_scrollbar_dev.h"
#include "ppapi/c/dev/ppb_testing_dev.h"
#include "ppapi/c/dev/ppb_text_input_dev.h"
-#include "ppapi/c/dev/ppb_transport_dev.h"
#include "ppapi/c/dev/ppb_url_util_dev.h"
#include "ppapi/c/dev/ppb_var_deprecated.h"
#include "ppapi/c/dev/ppb_video_decoder_dev.h"
diff --git a/ppapi/tests/all_cpp_includes.h b/ppapi/tests/all_cpp_includes.h
index 0db1b77..0aca7aa 100644
--- a/ppapi/tests/all_cpp_includes.h
+++ b/ppapi/tests/all_cpp_includes.h
@@ -28,7 +28,6 @@
#include "ppapi/cpp/dev/scrollbar_dev.h"
#include "ppapi/cpp/dev/selection_dev.h"
#include "ppapi/cpp/dev/text_input_dev.h"
-#include "ppapi/cpp/dev/transport_dev.h"
#include "ppapi/cpp/dev/url_util_dev.h"
#include "ppapi/cpp/dev/video_decoder_dev.h"
#include "ppapi/cpp/dev/widget_client_dev.h"
diff --git a/ppapi/tests/test_transport.cc b/ppapi/tests/test_transport.cc
deleted file mode 100644
index d8bb134..0000000
--- a/ppapi/tests/test_transport.cc
+++ /dev/null
@@ -1,373 +0,0 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "ppapi/tests/test_transport.h"
-
-#include <stdlib.h>
-#include <string.h>
-
-#include <list>
-#include <map>
-
-#include "ppapi/c/dev/ppb_testing_dev.h"
-#include "ppapi/c/pp_errors.h"
-#include "ppapi/c/pp_macros.h"
-#include "ppapi/cpp/dev/transport_dev.h"
-#include "ppapi/cpp/instance.h"
-#include "ppapi/cpp/module.h"
-#include "ppapi/cpp/var.h"
-#include "ppapi/tests/test_utils.h"
-#include "ppapi/tests/testing_instance.h"
-#include "ppapi/utility/completion_callback_factory.h"
-
-REGISTER_TEST_CASE(Transport);
-
-namespace {
-
-const char kTestChannelName[] = "test";
-const int kReadBufferSize = 65536;
-
-class StreamReader {
- public:
- StreamReader(pp::Transport_Dev* transport,
- int expected_size,
- pp::CompletionCallback done_callback)
- : expected_size_(expected_size),
- done_callback_(done_callback),
- PP_ALLOW_THIS_IN_INITIALIZER_LIST(callback_factory_(this)),
- transport_(transport),
- received_size_(0) {
- Read();
- }
-
- const std::list<std::vector<char> >& received() { return received_; }
- std::list<std::string> errors() { return errors_; }
-
- private:
- void Read() {
- while (true) {
- buffer_.resize(kReadBufferSize);
- int result = transport_->Recv(
- &buffer_[0], buffer_.size(),
- callback_factory_.NewOptionalCallback(&StreamReader::OnReadFinished));
- if (result > 0)
- DidFinishRead(result);
- else
- break;
- }
- }
-
- void OnReadFinished(int result) {
- DidFinishRead(result);
- if (result > 0)
- Read();
- }
-
- void DidFinishRead(int result) {
- if (result > 0) {
- if (result > static_cast<int>(buffer_.size())) {
- errors_.push_back(TestCase::MakeFailureMessage(
- __FILE__, __LINE__,
- "Recv() returned value that is bigger than the buffer."));
- }
- buffer_.resize(result);
- received_.push_back(buffer_);
- received_size_ += buffer_.size();
- if (received_size_ >= expected_size_)
- done_callback_.Run(0);
- }
- }
-
- int expected_size_;
- pp::CompletionCallback done_callback_;
- pp::CompletionCallbackFactory<StreamReader> callback_factory_;
- pp::Transport_Dev* transport_;
- std::vector<char> buffer_;
- std::list<std::vector<char> > received_;
- int received_size_;
- std::list<std::string> errors_;
-};
-
-} // namespace
-
-TestTransport::~TestTransport() {
- delete transport1_;
- delete transport2_;
-}
-
-bool TestTransport::Init() {
- transport_interface_ = static_cast<const PPB_Transport_Dev*>(
- pp::Module::Get()->GetBrowserInterface(PPB_TRANSPORT_DEV_INTERFACE));
- return transport_interface_ && CheckTestingInterface();
-}
-
-void TestTransport::RunTests(const std::string& filter) {
- RUN_TEST(Create, filter);
- RUN_TEST_FORCEASYNC_AND_NOT(Connect, filter);
- RUN_TEST(SetProperty, filter);
- RUN_TEST_FORCEASYNC_AND_NOT(SendDataUdp, filter);
- RUN_TEST_FORCEASYNC_AND_NOT(SendDataTcp, filter);
- RUN_TEST_FORCEASYNC_AND_NOT(ConnectAndCloseUdp, filter);
- RUN_TEST_FORCEASYNC_AND_NOT(ConnectAndCloseTcp, filter);
-}
-
-std::string TestTransport::InitTargets(PP_TransportType type) {
- transport1_ = new pp::Transport_Dev(instance_, kTestChannelName, type);
- transport2_ = new pp::Transport_Dev(instance_, kTestChannelName, type);
-
- ASSERT_NE(NULL, transport1_);
- ASSERT_NE(NULL, transport2_);
-
- PASS();
-}
-
-std::string TestTransport::Connect() {
- TestCompletionCallback connect_cb1(instance_->pp_instance());
- TestCompletionCallback connect_cb2(instance_->pp_instance());
- ASSERT_EQ(transport1_->Connect(connect_cb1), PP_OK_COMPLETIONPENDING);
- ASSERT_EQ(transport2_->Connect(connect_cb2), PP_OK_COMPLETIONPENDING);
-
- pp::Var address1;
- pp::Var address2;
- TestCompletionCallback next_address_cb1(instance_->pp_instance());
- TestCompletionCallback next_address_cb2(instance_->pp_instance());
- ASSERT_EQ(transport1_->GetNextAddress(&address1, next_address_cb1),
- PP_OK_COMPLETIONPENDING);
- ASSERT_EQ(transport2_->GetNextAddress(&address2, next_address_cb2),
- PP_OK_COMPLETIONPENDING);
- ASSERT_EQ(next_address_cb1.WaitForResult(), PP_OK);
- ASSERT_EQ(next_address_cb2.WaitForResult(), PP_OK);
- ASSERT_EQ(transport1_->GetNextAddress(&address1, next_address_cb1), PP_OK);
- ASSERT_EQ(transport2_->GetNextAddress(&address2, next_address_cb2), PP_OK);
-
- ASSERT_EQ(transport1_->ReceiveRemoteAddress(address2), PP_OK);
- ASSERT_EQ(transport2_->ReceiveRemoteAddress(address1), PP_OK);
-
-
- ASSERT_EQ(connect_cb1.WaitForResult(), PP_OK);
- ASSERT_EQ(connect_cb2.WaitForResult(), PP_OK);
-
- ASSERT_TRUE(transport1_->IsWritable());
- ASSERT_TRUE(transport2_->IsWritable());
-
- PASS();
-}
-
-std::string TestTransport::Clean() {
- delete transport1_;
- transport1_ = NULL;
- delete transport2_;
- transport2_ = NULL;
-
- PASS();
-}
-
-std::string TestTransport::TestCreate() {
- ASSERT_SUBTEST_SUCCESS(InitTargets(PP_TRANSPORTTYPE_DATAGRAM));
-
- Clean();
-
- PASS();
-}
-
-std::string TestTransport::TestSetProperty() {
- ASSERT_SUBTEST_SUCCESS(InitTargets(PP_TRANSPORTTYPE_STREAM));
-
- // Try settings STUN and Relay properties.
- ASSERT_EQ(transport1_->SetProperty(
- PP_TRANSPORTPROPERTY_STUN_SERVER,
- pp::Var("stun.example.com:19302")), PP_OK);
-
- ASSERT_EQ(transport1_->SetProperty(
- PP_TRANSPORTPROPERTY_RELAY_SERVER,
- pp::Var("ralay.example.com:80")), PP_OK);
-
- ASSERT_EQ(transport1_->SetProperty(
- PP_TRANSPORTPROPERTY_RELAY_USERNAME,
- pp::Var("USERNAME")), PP_OK);
- ASSERT_EQ(transport1_->SetProperty(
- PP_TRANSPORTPROPERTY_RELAY_PASSWORD,
- pp::Var("PASSWORD")), PP_OK);
-
- // Try changing TCP window size.
- ASSERT_EQ(transport1_->SetProperty(PP_TRANSPORTPROPERTY_TCP_RECEIVE_WINDOW,
- pp::Var(65536)), PP_OK);
- ASSERT_EQ(transport1_->SetProperty(PP_TRANSPORTPROPERTY_TCP_RECEIVE_WINDOW,
- pp::Var(10000000)), PP_ERROR_BADARGUMENT);
-
- ASSERT_EQ(transport1_->SetProperty(PP_TRANSPORTPROPERTY_TCP_SEND_WINDOW,
- pp::Var(65536)), PP_OK);
- ASSERT_EQ(transport1_->SetProperty(PP_TRANSPORTPROPERTY_TCP_SEND_WINDOW,
- pp::Var(10000000)), PP_ERROR_BADARGUMENT);
-
- ASSERT_EQ(transport1_->SetProperty(PP_TRANSPORTPROPERTY_TCP_NO_DELAY,
- pp::Var(true)), PP_OK);
-
- ASSERT_EQ(transport1_->SetProperty(PP_TRANSPORTPROPERTY_TCP_ACK_DELAY,
- pp::Var(10)), PP_OK);
- ASSERT_EQ(transport1_->SetProperty(PP_TRANSPORTPROPERTY_TCP_ACK_DELAY,
- pp::Var(10000)), PP_ERROR_BADARGUMENT);
-
- TestCompletionCallback connect_cb(instance_->pp_instance());
- ASSERT_EQ(transport1_->Connect(connect_cb), PP_OK_COMPLETIONPENDING);
-
- // SetProperty() should fail after we've connected.
- ASSERT_EQ(transport1_->SetProperty(
- PP_TRANSPORTPROPERTY_STUN_SERVER,
- pp::Var("stun.example.com:31323")), PP_ERROR_FAILED);
-
- Clean();
- ASSERT_EQ(connect_cb.WaitForResult(), PP_ERROR_ABORTED);
-
- PASS();
-}
-
-std::string TestTransport::TestConnect() {
- ASSERT_SUBTEST_SUCCESS(InitTargets(PP_TRANSPORTTYPE_DATAGRAM));
- ASSERT_SUBTEST_SUCCESS(Connect());
-
- Clean();
-
- PASS();
-}
-
-// Creating datagram connection and try sending data over it. Verify
-// that at least some packets are received (some packets may be lost).
-std::string TestTransport::TestSendDataUdp() {
- ASSERT_SUBTEST_SUCCESS(InitTargets(PP_TRANSPORTTYPE_DATAGRAM));
- ASSERT_SUBTEST_SUCCESS(Connect());
-
- const int kNumPackets = 100;
- const int kSendBufferSize = 1200;
- const int kUdpWaitTimeMs = 1000; // 1 second.
-
- TestCompletionCallback done_cb(instance_->pp_instance());
- StreamReader reader(transport1_, kSendBufferSize * kNumPackets, done_cb);
-
- std::map<int, std::vector<char> > sent_packets;
- for (int i = 0; i < kNumPackets; ++i) {
- std::vector<char> send_buffer(kSendBufferSize);
- for (size_t j = 0; j < send_buffer.size(); ++j) {
- send_buffer[j] = rand() % 256;
- }
- // Put packet index in the beginning.
- memcpy(&send_buffer[0], &i, sizeof(i));
-
- TestCompletionCallback send_cb(instance_->pp_instance(), force_async_);
- int32_t result = transport2_->Send(&send_buffer[0], send_buffer.size(),
- send_cb);
- if (force_async_) {
- ASSERT_EQ(result, PP_OK_COMPLETIONPENDING);
- ASSERT_EQ(send_cb.WaitForResult(), static_cast<int>(send_buffer.size()));
- } else {
- ASSERT_EQ(result, static_cast<int>(send_buffer.size()));
- }
- sent_packets[i] = send_buffer;
- }
-
- // Limit waiting time.
- TestCompletionCallback timeout_cb(instance_->pp_instance());
- pp::Module::Get()->core()->CallOnMainThread(kUdpWaitTimeMs, timeout_cb);
- ASSERT_EQ(timeout_cb.WaitForResult(), PP_OK);
-
- ASSERT_TRUE(reader.errors().size() == 0);
- ASSERT_TRUE(reader.received().size() > 0);
- for (std::list<std::vector<char> >::const_iterator it =
- reader.received().begin(); it != reader.received().end(); ++it) {
- int index;
- memcpy(&index, &(*it)[0], sizeof(index));
- ASSERT_TRUE(sent_packets[index] == *it);
- }
-
- Clean();
-
- PASS();
-}
-
-// Creating reliable (TCP-like) connection and try sending data over
-// it. Verify that all data is received correctly.
-std::string TestTransport::TestSendDataTcp() {
- ASSERT_SUBTEST_SUCCESS(InitTargets(PP_TRANSPORTTYPE_STREAM));
- ASSERT_SUBTEST_SUCCESS(Connect());
-
- const int kTcpSendSize = 100000;
-
- TestCompletionCallback done_cb(instance_->pp_instance());
- StreamReader reader(transport1_, kTcpSendSize, done_cb);
-
- std::vector<char> send_buffer(kTcpSendSize);
- for (size_t j = 0; j < send_buffer.size(); ++j) {
- send_buffer[j] = rand() % 256;
- }
-
- int pos = 0;
- while (pos < static_cast<int>(send_buffer.size())) {
- TestCompletionCallback send_cb(instance_->pp_instance(), force_async_);
- int result = transport2_->Send(
- &send_buffer[0] + pos, send_buffer.size() - pos, send_cb);
- if (force_async_)
- ASSERT_EQ(result, PP_OK_COMPLETIONPENDING);
- if (result == PP_OK_COMPLETIONPENDING)
- result = send_cb.WaitForResult();
- ASSERT_TRUE(result > 0);
- pos += result;
- }
-
- ASSERT_EQ(done_cb.WaitForResult(), PP_OK);
-
- ASSERT_TRUE(reader.errors().size() == 0);
-
- std::vector<char> received_data;
- for (std::list<std::vector<char> >::const_iterator it =
- reader.received().begin(); it != reader.received().end(); ++it) {
- received_data.insert(received_data.end(), it->begin(), it->end());
- }
- ASSERT_EQ(send_buffer, received_data);
-
- Clean();
-
- PASS();
-}
-
-std::string TestTransport::TestConnectAndCloseUdp() {
- ASSERT_SUBTEST_SUCCESS(InitTargets(PP_TRANSPORTTYPE_DATAGRAM));
- ASSERT_SUBTEST_SUCCESS(Connect());
-
- std::vector<char> recv_buffer(kReadBufferSize);
- TestCompletionCallback recv_cb(instance_->pp_instance());
- ASSERT_EQ(
- transport1_->Recv(&recv_buffer[0], recv_buffer.size(), recv_cb),
- PP_OK_COMPLETIONPENDING);
-
- // Close the transport and verify that callback is aborted.
- ASSERT_EQ(transport1_->Close(), PP_OK);
-
- ASSERT_EQ(recv_cb.run_count(), 1);
- ASSERT_EQ(recv_cb.result(), PP_ERROR_ABORTED);
-
- Clean();
-
- PASS();
-}
-
-std::string TestTransport::TestConnectAndCloseTcp() {
- ASSERT_SUBTEST_SUCCESS(InitTargets(PP_TRANSPORTTYPE_STREAM));
- ASSERT_SUBTEST_SUCCESS(Connect());
-
- std::vector<char> recv_buffer(kReadBufferSize);
- TestCompletionCallback recv_cb(instance_->pp_instance());
- ASSERT_EQ(
- transport1_->Recv(&recv_buffer[0], recv_buffer.size(), recv_cb),
- PP_OK_COMPLETIONPENDING);
-
- // Close the transport and verify that callback is aborted.
- ASSERT_EQ(transport1_->Close(), PP_OK);
-
- ASSERT_EQ(recv_cb.run_count(), 1);
- ASSERT_EQ(recv_cb.result(), PP_ERROR_ABORTED);
-
- Clean();
-
- PASS();
-}
diff --git a/ppapi/tests/test_transport.h b/ppapi/tests/test_transport.h
deleted file mode 100644
index eee1c2d..0000000
--- a/ppapi/tests/test_transport.h
+++ /dev/null
@@ -1,51 +0,0 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef PPAPI_TESTS_TEST_TRANSPORT_H_
-#define PPAPI_TESTS_TEST_TRANSPORT_H_
-
-#include <string>
-
-#include "ppapi/c/dev/ppb_transport_dev.h"
-#include "ppapi/tests/test_case.h"
-
-namespace pp {
-class Transport_Dev;
-} // namespace pp
-
-class TestTransport : public TestCase {
- public:
- explicit TestTransport(TestingInstance* instance)
- : TestCase(instance),
- transport1_(NULL),
- transport2_(NULL) {
- }
- virtual ~TestTransport();
-
-
- // TestCase implementation.
- virtual bool Init();
- virtual void RunTests(const std::string& filter);
-
- private:
- std::string InitTargets(PP_TransportType type);
- std::string Connect();
- std::string Clean();
-
- std::string TestCreate();
- std::string TestConnect();
- std::string TestSetProperty();
- std::string TestSendDataTcp();
- std::string TestSendDataUdp();
- std::string TestConnectAndCloseTcp();
- std::string TestConnectAndCloseUdp();
-
- // Used by the tests that access the C API directly.
- const PPB_Transport_Dev* transport_interface_;
-
- pp::Transport_Dev* transport1_;
- pp::Transport_Dev* transport2_;
-};
-
-#endif // PPAPI_TESTS_TEST_TRANSPORT_H_