Chromium Code Reviews| Index: ppapi/tests/test_transport.cc |
| diff --git a/ppapi/tests/test_transport.cc b/ppapi/tests/test_transport.cc |
| index bcb7552c990f1892f8d0b6d4ac58b07d39562646..c0567b9ba226f0d6f9300e7b957464564412ab29 100644 |
| --- a/ppapi/tests/test_transport.cc |
| +++ b/ppapi/tests/test_transport.cc |
| @@ -9,11 +9,11 @@ |
| #include <string> |
| #include "ppapi/c/dev/ppb_testing_dev.h" |
| -#include "ppapi/c/dev/ppb_transport_dev.h" |
| #include "ppapi/c/pp_errors.h" |
| #include "ppapi/cpp/completion_callback.h" |
| #include "ppapi/cpp/instance.h" |
| #include "ppapi/cpp/module.h" |
| +#include "ppapi/cpp/dev/transport_dev.h" |
| #include "ppapi/tests/test_utils.h" |
| #include "ppapi/tests/testing_instance.h" |
| @@ -26,11 +26,62 @@ bool TestTransport::Init() { |
| } |
| void TestTransport::RunTest() { |
| - RUN_TEST(FirstTransport); |
| + RUN_TEST(Basics); |
| // TODO(juberti): more Transport tests here... |
| } |
| -std::string TestTransport::TestFirstTransport() { |
| - // TODO(juberti): actual test |
| +std::string TestTransport::TestBasics() { |
| + pp::Transport_Dev t1(instance_, "test", ""), t2(instance_, "test", ""); |
|
brettw
2011/02/10 07:19:16
I think Google style discourages multiple declarat
Sergey Ulanov
2011/02/10 21:14:54
Done. Also renamed all variables.
|
| + TestCompletionCallback c1, c2, gna1, gna2; |
| + PP_Var a1, a2; |
| + int32_t rv; |
| + |
| + rv = t1.Connect(c1); |
| + if (rv != PP_ERROR_WOULDBLOCK) { |
|
brettw
2011/02/10 07:19:16
test_case.h defines ASSERT_TRUE which makes this p
Sergey Ulanov
2011/02/10 21:14:54
Actullay ASSERT_EQ is more appropriate here.
|
| + return ReportError("Transport::Connect", rv); |
| + } |
| + rv = t2.Connect(c2); |
| + if (rv != PP_ERROR_WOULDBLOCK) { |
| + return ReportError("Transport::Connect", rv); |
| + } |
| + rv = t1.GetNextAddress(&a1, gna1); |
| + if (rv != PP_ERROR_WOULDBLOCK) { |
| + return ReportError("Transport::GetNextAddress", rv); |
| + } |
| + rv = t2.GetNextAddress(&a2, gna2); |
| + if (rv != PP_ERROR_WOULDBLOCK) { |
| + return ReportError("Transport::GetNextAddress", rv); |
| + } |
| + rv = gna1.WaitForResult(); |
| + if (rv != 0) { |
| + return ReportError("Transport::GetNextAddress", rv); |
| + } |
| + rv = gna2.WaitForResult(); |
| + if (rv != 0) { |
| + return ReportError("Transport::GetNextAddress", rv); |
| + } |
| + rv = t1.ReceiveRemoteAddress(a2); |
| + if (rv != 0) { |
| + return ReportError("Transport::ReceiveRemoteAddress", rv); |
| + } |
| + rv = t2.ReceiveRemoteAddress(a1); |
| + if (rv != 0) { |
| + return ReportError("Transport::ReceiveRemoteAddress", rv); |
| + } |
| + rv = c1.WaitForResult(); |
| + if (rv != 0) { |
| + return ReportError("Transport::Connect", rv); |
| + } |
| + rv = c2.WaitForResult(); |
| + if (rv != 0) { |
| + return ReportError("Transport::Connect", rv); |
| + } |
| + if (!t1.IsWritable()) { |
| + return ReportError("Transport::IsWritable", 0); |
| + } |
| + if (!t2.IsWritable()) { |
| + return ReportError("Transport::IsWritable", 0); |
| + } |
| + // TODO(sergeyu): Verify that data can be sent/received. |
| PASS(); |
| } |