Index: mojo/common/test/multiprocess_test_base_unittest.cc |
diff --git a/mojo/common/test/multiprocess_test_base_unittest.cc b/mojo/common/test/multiprocess_test_base_unittest.cc |
index 7b0a7ffb617e28e7269837045d418019b7107097..659b83dbb1629d9cda3b97987899ec3e9f363406 100644 |
--- a/mojo/common/test/multiprocess_test_base_unittest.cc |
+++ b/mojo/common/test/multiprocess_test_base_unittest.cc |
@@ -6,22 +6,19 @@ |
#include "base/logging.h" |
#include "build/build_config.h" |
+#include "mojo/common/test/test_utils.h" |
#include "mojo/system/embedder/scoped_platform_handle.h" |
#if defined(OS_POSIX) |
#include <fcntl.h> |
-#include <unistd.h> |
- |
-#include "base/posix/eintr_wrapper.h" |
#endif |
#if defined(OS_WIN) |
-#include <windows.h> |
- |
#include "base/win/windows_version.h" |
#endif |
namespace mojo { |
+namespace test { |
namespace { |
// Returns true and logs a warning on Windows prior to Vista. |
@@ -46,57 +43,19 @@ bool IsNonBlocking(const embedder::PlatformHandle& handle) { |
#endif |
} |
-// Note: On POSIX, this method sets the handle to block. |
bool WriteByte(const embedder::PlatformHandle& handle, char c) { |
-#if defined(OS_WIN) |
- DWORD num_bytes_written = 0; |
- OVERLAPPED overlapped = { 0 }; |
- |
- if (!WriteFile(handle.handle, &c, 1, &num_bytes_written, &overlapped)) { |
- if (GetLastError() != ERROR_IO_PENDING) |
- return false; |
- |
- if (GetOverlappedResult(handle.handle, &overlapped, &num_bytes_written, |
- TRUE)) { |
- return num_bytes_written == 1; |
- } |
- |
- return false; |
- } |
- return num_bytes_written == 1; |
-#else |
- // We're lazy. Set it to block. |
- PCHECK(fcntl(handle.fd, F_SETFL, 0) == 0); |
- |
- return HANDLE_EINTR(write(handle.fd, &c, 1)) == 1; |
-#endif |
+ size_t bytes_written = 0; |
+ BlockingWrite(handle, &c, 1, &bytes_written); |
+ return bytes_written == 1; |
} |
-// Note: On POSIX, this method sets the handle to block. |
bool ReadByte(const embedder::PlatformHandle& handle, char* c) { |
-#if defined(OS_WIN) |
- DWORD num_bytes_read = 0; |
- OVERLAPPED overlapped = { 0 }; |
- |
- if (!ReadFile(handle.handle, c, 1, &num_bytes_read, &overlapped)) { |
- if (GetLastError() != ERROR_IO_PENDING) |
- return false; |
- |
- if (GetOverlappedResult(handle.handle, &overlapped, &num_bytes_read, TRUE)) |
- return num_bytes_read == 1; |
- |
- return false; |
- } |
- return num_bytes_read == 1; |
-#else |
- // We're lazy. Set it to block. |
- PCHECK(fcntl(handle.fd, F_SETFL, 0) == 0); |
- |
- return HANDLE_EINTR(read(handle.fd, c, 1)) == 1; |
-#endif |
+ size_t bytes_read = 0; |
+ BlockingRead(handle, c, 1, &bytes_read); |
+ return bytes_read == 1; |
} |
-typedef test::MultiprocessTestBase MultiprocessTestBaseTest; |
+typedef MultiprocessTestBase MultiprocessTestBaseTest; |
TEST_F(MultiprocessTestBaseTest, RunChild) { |
if (SkipTest()) |
@@ -172,4 +131,5 @@ MOJO_MULTIPROCESS_TEST_CHILD_MAIN(PassedChannel) { |
} |
} // namespace |
+} // namespace test |
} // namespace mojo |