| Index: mojo/system/local_data_pipe_unittest.cc
|
| diff --git a/mojo/system/local_data_pipe_unittest.cc b/mojo/system/local_data_pipe_unittest.cc
|
| index 034d9855a59631128232ab3cb64d3d080e1ce0ab..1dc34885e9d043ca136172852017246a904e129a 100644
|
| --- a/mojo/system/local_data_pipe_unittest.cc
|
| +++ b/mojo/system/local_data_pipe_unittest.cc
|
| @@ -9,6 +9,7 @@
|
| #include "base/basictypes.h"
|
| #include "base/memory/ref_counted.h"
|
| #include "mojo/system/data_pipe.h"
|
| +#include "mojo/system/memory.h"
|
| #include "mojo/system/waiter.h"
|
| #include "testing/gtest/include/gtest/gtest.h"
|
|
|
| @@ -250,7 +251,8 @@ TEST(LocalDataPipeTest, BasicProducerWaiting) {
|
| void* buffer = NULL;
|
| num_bytes = static_cast<uint32_t>(3u * sizeof(elements[0]));
|
| EXPECT_EQ(MOJO_RESULT_OK,
|
| - dp->ProducerBeginWriteData(&buffer, &num_bytes, false));
|
| + dp->ProducerBeginWriteData(MakeUserPointer(&buffer),
|
| + MakeUserPointer(&num_bytes), false));
|
| EXPECT_TRUE(buffer != NULL);
|
| EXPECT_EQ(static_cast<uint32_t>(1u * sizeof(elements[0])), num_bytes);
|
|
|
| @@ -419,7 +421,8 @@ TEST(LocalDataPipeTest, BasicConsumerWaiting) {
|
| // Request room for three (but we'll only write two).
|
| uint32_t num_bytes = static_cast<uint32_t>(3u * sizeof(elements[0]));
|
| EXPECT_EQ(MOJO_RESULT_OK,
|
| - dp->ProducerBeginWriteData(&buffer, &num_bytes, true));
|
| + dp->ProducerBeginWriteData(MakeUserPointer(&buffer),
|
| + MakeUserPointer(&num_bytes), true));
|
| EXPECT_TRUE(buffer != NULL);
|
| EXPECT_GE(num_bytes, static_cast<uint32_t>(3u * sizeof(elements[0])));
|
| elements = static_cast<int32_t*>(buffer);
|
| @@ -507,7 +510,8 @@ TEST(LocalDataPipeTest, BasicTwoPhaseWaiting) {
|
| uint32_t num_bytes = static_cast<uint32_t>(1u * sizeof(int32_t));
|
| void* write_ptr = NULL;
|
| EXPECT_EQ(MOJO_RESULT_OK,
|
| - dp->ProducerBeginWriteData(&write_ptr, &num_bytes, false));
|
| + dp->ProducerBeginWriteData(MakeUserPointer(&write_ptr),
|
| + MakeUserPointer(&num_bytes), false));
|
| EXPECT_TRUE(write_ptr != NULL);
|
| EXPECT_GE(num_bytes, static_cast<uint32_t>(1u * sizeof(int32_t)));
|
|
|
| @@ -545,7 +549,8 @@ TEST(LocalDataPipeTest, BasicTwoPhaseWaiting) {
|
| num_bytes = static_cast<uint32_t>(1u * sizeof(int32_t));
|
| write_ptr = NULL;
|
| EXPECT_EQ(MOJO_RESULT_OK,
|
| - dp->ProducerBeginWriteData(&write_ptr, &num_bytes, false));
|
| + dp->ProducerBeginWriteData(MakeUserPointer(&write_ptr),
|
| + MakeUserPointer(&num_bytes), false));
|
| EXPECT_TRUE(write_ptr != NULL);
|
| EXPECT_GE(num_bytes, static_cast<uint32_t>(1u * sizeof(int32_t)));
|
|
|
| @@ -778,7 +783,8 @@ TEST(LocalDataPipeTest, MayDiscard) {
|
| num_bytes = 0u;
|
| void* write_ptr = NULL;
|
| EXPECT_EQ(MOJO_RESULT_OK,
|
| - dp->ProducerBeginWriteData(&write_ptr, &num_bytes, false));
|
| + dp->ProducerBeginWriteData(MakeUserPointer(&write_ptr),
|
| + MakeUserPointer(&num_bytes), false));
|
| EXPECT_TRUE(write_ptr != NULL);
|
| EXPECT_EQ(6u * sizeof(int32_t), num_bytes);
|
| Seq(400, 6, static_cast<int32_t*>(write_ptr));
|
| @@ -791,7 +797,8 @@ TEST(LocalDataPipeTest, MayDiscard) {
|
| num_bytes = 6u * sizeof(int32_t);
|
| write_ptr = NULL;
|
| EXPECT_EQ(MOJO_RESULT_OK,
|
| - dp->ProducerBeginWriteData(&write_ptr, &num_bytes, false));
|
| + dp->ProducerBeginWriteData(MakeUserPointer(&write_ptr),
|
| + MakeUserPointer(&num_bytes), false));
|
| EXPECT_EQ(4u * sizeof(int32_t), num_bytes);
|
| static_cast<int32_t*>(write_ptr)[0] = 500;
|
| EXPECT_EQ(MOJO_RESULT_OK, dp->ProducerEndWriteData(1u * sizeof(int32_t)));
|
| @@ -802,14 +809,16 @@ TEST(LocalDataPipeTest, MayDiscard) {
|
| num_bytes = 10u * sizeof(int32_t);
|
| write_ptr = NULL;
|
| EXPECT_EQ(MOJO_RESULT_OUT_OF_RANGE,
|
| - dp->ProducerBeginWriteData(&write_ptr, &num_bytes, true));
|
| + dp->ProducerBeginWriteData(MakeUserPointer(&write_ptr),
|
| + MakeUserPointer(&num_bytes), true));
|
|
|
| // But requesting, say, a 5-element (up to 9, really) buffer should be okay.
|
| // It will discard two elements.
|
| num_bytes = 5u * sizeof(int32_t);
|
| write_ptr = NULL;
|
| EXPECT_EQ(MOJO_RESULT_OK,
|
| - dp->ProducerBeginWriteData(&write_ptr, &num_bytes, true));
|
| + dp->ProducerBeginWriteData(MakeUserPointer(&write_ptr),
|
| + MakeUserPointer(&num_bytes), true));
|
| EXPECT_EQ(5u * sizeof(int32_t), num_bytes);
|
| // Only write 4 elements though.
|
| Seq(600, 4, static_cast<int32_t*>(write_ptr));
|
| @@ -822,7 +831,8 @@ TEST(LocalDataPipeTest, MayDiscard) {
|
| num_bytes = 5u * sizeof(int32_t);
|
| write_ptr = NULL;
|
| EXPECT_EQ(MOJO_RESULT_OK,
|
| - dp->ProducerBeginWriteData(&write_ptr, &num_bytes, true));
|
| + dp->ProducerBeginWriteData(MakeUserPointer(&write_ptr),
|
| + MakeUserPointer(&num_bytes), true));
|
| EXPECT_EQ(5u * sizeof(int32_t), num_bytes);
|
| // Only write 3 elements though.
|
| Seq(700, 3, static_cast<int32_t*>(write_ptr));
|
| @@ -1096,7 +1106,8 @@ TEST(LocalDataPipeTest, TwoPhaseAllOrNone) {
|
| uint32_t num_bytes = 20u * sizeof(int32_t);
|
| void* write_ptr = NULL;
|
| EXPECT_EQ(MOJO_RESULT_OUT_OF_RANGE,
|
| - dp->ProducerBeginWriteData(&write_ptr, &num_bytes, true));
|
| + dp->ProducerBeginWriteData(MakeUserPointer(&write_ptr),
|
| + MakeUserPointer(&num_bytes), true));
|
|
|
| // Try writing an amount which isn't a multiple of the element size
|
| // (two-phase).
|
| @@ -1104,7 +1115,8 @@ TEST(LocalDataPipeTest, TwoPhaseAllOrNone) {
|
| num_bytes = 1u;
|
| write_ptr = NULL;
|
| EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT,
|
| - dp->ProducerBeginWriteData(&write_ptr, &num_bytes, true));
|
| + dp->ProducerBeginWriteData(MakeUserPointer(&write_ptr),
|
| + MakeUserPointer(&num_bytes), true));
|
|
|
| // Try reading way too much (two-phase).
|
| num_bytes = 20u * sizeof(int32_t);
|
| @@ -1116,7 +1128,8 @@ TEST(LocalDataPipeTest, TwoPhaseAllOrNone) {
|
| num_bytes = 5u * sizeof(int32_t);
|
| write_ptr = NULL;
|
| EXPECT_EQ(MOJO_RESULT_OK,
|
| - dp->ProducerBeginWriteData(&write_ptr, &num_bytes, true));
|
| + dp->ProducerBeginWriteData(MakeUserPointer(&write_ptr),
|
| + MakeUserPointer(&num_bytes), true));
|
| // May provide more space than requested.
|
| EXPECT_GE(num_bytes, 5u * sizeof(int32_t));
|
| EXPECT_TRUE(write_ptr != NULL);
|
| @@ -1149,7 +1162,8 @@ TEST(LocalDataPipeTest, TwoPhaseAllOrNone) {
|
| num_bytes = 6u * sizeof(int32_t);
|
| write_ptr = NULL;
|
| EXPECT_EQ(MOJO_RESULT_OUT_OF_RANGE,
|
| - dp->ProducerBeginWriteData(&write_ptr, &num_bytes, true));
|
| + dp->ProducerBeginWriteData(MakeUserPointer(&write_ptr),
|
| + MakeUserPointer(&num_bytes), true));
|
|
|
| // Write six elements (simple), filling the buffer.
|
| num_bytes = 6u * sizeof(int32_t);
|
| @@ -1242,7 +1256,8 @@ TEST(LocalDataPipeTest, WrapAround) {
|
| void* write_buffer_ptr = NULL;
|
| num_bytes = 0u;
|
| EXPECT_EQ(MOJO_RESULT_OK,
|
| - dp->ProducerBeginWriteData(&write_buffer_ptr, &num_bytes, false));
|
| + dp->ProducerBeginWriteData(MakeUserPointer(&write_buffer_ptr),
|
| + MakeUserPointer(&num_bytes), false));
|
| EXPECT_TRUE(write_buffer_ptr != NULL);
|
| EXPECT_EQ(80u, num_bytes);
|
| EXPECT_EQ(MOJO_RESULT_OK, dp->ProducerEndWriteData(0u));
|
| @@ -1315,7 +1330,8 @@ TEST(LocalDataPipeTest, CloseWriteRead) {
|
| void* write_buffer_ptr = NULL;
|
| num_bytes = 0u;
|
| EXPECT_EQ(MOJO_RESULT_OK,
|
| - dp->ProducerBeginWriteData(&write_buffer_ptr, &num_bytes, false));
|
| + dp->ProducerBeginWriteData(MakeUserPointer(&write_buffer_ptr),
|
| + MakeUserPointer(&num_bytes), false));
|
| EXPECT_TRUE(write_buffer_ptr != NULL);
|
| EXPECT_GT(num_bytes, 0u);
|
|
|
| @@ -1360,7 +1376,8 @@ TEST(LocalDataPipeTest, CloseWriteRead) {
|
| void* write_buffer_ptr = NULL;
|
| num_bytes = 0u;
|
| EXPECT_EQ(MOJO_RESULT_OK,
|
| - dp->ProducerBeginWriteData(&write_buffer_ptr, &num_bytes, false));
|
| + dp->ProducerBeginWriteData(MakeUserPointer(&write_buffer_ptr),
|
| + MakeUserPointer(&num_bytes), false));
|
| EXPECT_TRUE(write_buffer_ptr != NULL);
|
| ASSERT_GT(num_bytes, kTestDataSize);
|
|
|
| @@ -1391,7 +1408,8 @@ TEST(LocalDataPipeTest, CloseWriteRead) {
|
| write_buffer_ptr = NULL;
|
| num_bytes = 0u;
|
| EXPECT_EQ(MOJO_RESULT_FAILED_PRECONDITION,
|
| - dp->ProducerBeginWriteData(&write_buffer_ptr, &num_bytes, false));
|
| + dp->ProducerBeginWriteData(MakeUserPointer(&write_buffer_ptr),
|
| + MakeUserPointer(&num_bytes), false));
|
|
|
| dp->ProducerClose();
|
| }
|
| @@ -1405,7 +1423,8 @@ TEST(LocalDataPipeTest, CloseWriteRead) {
|
| void* write_buffer_ptr = NULL;
|
| uint32_t num_bytes = 0u;
|
| EXPECT_EQ(MOJO_RESULT_OK,
|
| - dp->ProducerBeginWriteData(&write_buffer_ptr, &num_bytes, false));
|
| + dp->ProducerBeginWriteData(MakeUserPointer(&write_buffer_ptr),
|
| + MakeUserPointer(&num_bytes), false));
|
| EXPECT_TRUE(write_buffer_ptr != NULL);
|
| ASSERT_GT(num_bytes, kTestDataSize);
|
|
|
| @@ -1485,7 +1504,8 @@ TEST(LocalDataPipeTest, TwoPhaseMoreInvalidArguments) {
|
| num_bytes = 0u;
|
| void* write_ptr = NULL;
|
| EXPECT_EQ(MOJO_RESULT_OK,
|
| - dp->ProducerBeginWriteData(&write_ptr, &num_bytes, false));
|
| + dp->ProducerBeginWriteData(MakeUserPointer(&write_ptr),
|
| + MakeUserPointer(&num_bytes), false));
|
| EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT,
|
| dp->ProducerEndWriteData(
|
| num_bytes + static_cast<uint32_t>(sizeof(int32_t))));
|
| @@ -1503,7 +1523,8 @@ TEST(LocalDataPipeTest, TwoPhaseMoreInvalidArguments) {
|
| num_bytes = 0u;
|
| write_ptr = NULL;
|
| EXPECT_EQ(MOJO_RESULT_OK,
|
| - dp->ProducerBeginWriteData(&write_ptr, &num_bytes, false));
|
| + dp->ProducerBeginWriteData(MakeUserPointer(&write_ptr),
|
| + MakeUserPointer(&num_bytes), false));
|
| EXPECT_GE(num_bytes, 1u);
|
| EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT, dp->ProducerEndWriteData(1u));
|
|
|
|
|