summaryrefslogtreecommitdiffstats
path: root/mojo/embedder
diff options
context:
space:
mode:
authorviettrungluu@chromium.org <viettrungluu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-05-13 16:28:12 +0000
committerviettrungluu@chromium.org <viettrungluu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-05-13 16:28:12 +0000
commita1a8bbbddf99bd104605cf1851ff03ddd5e0d880 (patch)
treef2facd04e717dd87ae9a8518ce78a0eaa4d12bc7 /mojo/embedder
parentf043f5b605b0083a62b73a8316dbca5eefda5524 (diff)
downloadchromium_src-a1a8bbbddf99bd104605cf1851ff03ddd5e0d880.zip
chromium_src-a1a8bbbddf99bd104605cf1851ff03ddd5e0d880.tar.gz
chromium_src-a1a8bbbddf99bd104605cf1851ff03ddd5e0d880.tar.bz2
Mojo: Add test utils to go between a ScopedPlatformHandle and a ScopedFILE.
(This is useful since Chromium's temporary file functions mostly spit out a FILE*.) R=sky@chromium.org Review URL: https://codereview.chromium.org/273023003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@270121 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'mojo/embedder')
-rw-r--r--mojo/embedder/platform_channel_pair_posix_unittest.cc46
1 files changed, 18 insertions, 28 deletions
diff --git a/mojo/embedder/platform_channel_pair_posix_unittest.cc b/mojo/embedder/platform_channel_pair_posix_unittest.cc
index 17fb3bc..5e45427 100644
--- a/mojo/embedder/platform_channel_pair_posix_unittest.cc
+++ b/mojo/embedder/platform_channel_pair_posix_unittest.cc
@@ -17,8 +17,10 @@
#include "base/file_util.h"
#include "base/files/file_path.h"
+#include "base/files/scoped_file.h"
#include "base/logging.h"
#include "base/macros.h"
+#include "mojo/common/test/test_utils.h"
#include "mojo/embedder/platform_channel_utils_posix.h"
#include "mojo/embedder/scoped_platform_handle.h"
#include "testing/gtest/include/gtest/gtest.h"
@@ -27,16 +29,6 @@ namespace mojo {
namespace embedder {
namespace {
-ScopedPlatformHandle PlatformHandleFromFILE(FILE* fp) {
- CHECK(fp);
- return ScopedPlatformHandle(PlatformHandle(dup(fileno(fp))));
-}
-
-FILE* FILEFromPlatformHandle(ScopedPlatformHandle h, const char* mode) {
- CHECK(h.is_valid());
- return fdopen(h.release().fd, mode);
-}
-
void WaitReadable(PlatformHandle h) {
struct pollfd pfds = {};
pfds.fd = h.fd;
@@ -144,12 +136,12 @@ TEST_F(PlatformChannelPairPosixTest, SendReceiveFDs) {
PlatformHandleVector platform_handles;
for (size_t j = 1; j <= i; j++) {
base::FilePath ignored;
- FILE* fp = base::CreateAndOpenTemporaryFile(&ignored);
+ base::ScopedFILE fp(base::CreateAndOpenTemporaryFile(&ignored));
ASSERT_TRUE(fp);
- platform_handles.push_back(PlatformHandleFromFILE(fp).release());
+ fwrite(std::string(j, '0' + i).data(), 1, j, fp.get());
+ platform_handles.push_back(
+ test::PlatformHandleFromFILE(fp.Pass()).release());
ASSERT_TRUE(platform_handles.back().is_valid());
- fwrite(std::string(j, '0' + i).data(), 1, j, fp);
- fclose(fp);
}
// Send the FDs.
@@ -168,14 +160,13 @@ TEST_F(PlatformChannelPairPosixTest, SendReceiveFDs) {
EXPECT_EQ(i, received_handles->size());
for (size_t j = 0; j < received_handles->size(); j++) {
- FILE* fp = FILEFromPlatformHandle(
- ScopedPlatformHandle((*received_handles)[j]), "rb");
+ base::ScopedFILE fp(test::FILEFromPlatformHandle(
+ ScopedPlatformHandle((*received_handles)[j]), "rb"));
(*received_handles)[j] = PlatformHandle();
ASSERT_TRUE(fp);
- rewind(fp);
+ rewind(fp.get());
char read_buf[100];
- size_t bytes_read = fread(read_buf, 1, sizeof(read_buf), fp);
- fclose(fp);
+ size_t bytes_read = fread(read_buf, 1, sizeof(read_buf), fp.get());
EXPECT_EQ(j + 1, bytes_read);
EXPECT_EQ(std::string(j + 1, '0' + i), std::string(read_buf, bytes_read));
}
@@ -191,13 +182,13 @@ TEST_F(PlatformChannelPairPosixTest, AppendReceivedFDs) {
{
base::FilePath ignored;
- FILE* fp = base::CreateAndOpenTemporaryFile(&ignored);
+ base::ScopedFILE fp(base::CreateAndOpenTemporaryFile(&ignored));
ASSERT_TRUE(fp);
+ fwrite(file_contents.data(), 1, file_contents.size(), fp.get());
PlatformHandleVector platform_handles;
- platform_handles.push_back(PlatformHandleFromFILE(fp).release());
+ platform_handles.push_back(
+ test::PlatformHandleFromFILE(fp.Pass()).release());
ASSERT_TRUE(platform_handles.back().is_valid());
- fwrite(file_contents.data(), 1, file_contents.size(), fp);
- fclose(fp);
// Send the FD.
EXPECT_TRUE(PlatformChannelSendHandles(server_handle.get(),
@@ -221,14 +212,13 @@ TEST_F(PlatformChannelPairPosixTest, AppendReceivedFDs) {
EXPECT_TRUE((*handles)[1].is_valid());
{
- FILE* fp = FILEFromPlatformHandle(ScopedPlatformHandle((*handles)[1]),
- "rb");
+ base::ScopedFILE fp(test::FILEFromPlatformHandle(
+ ScopedPlatformHandle((*handles)[1]), "rb"));
(*handles)[1] = PlatformHandle();
ASSERT_TRUE(fp);
- rewind(fp);
+ rewind(fp.get());
char read_buf[100];
- size_t bytes_read = fread(read_buf, 1, sizeof(read_buf), fp);
- fclose(fp);
+ size_t bytes_read = fread(read_buf, 1, sizeof(read_buf), fp.get());
EXPECT_EQ(file_contents.size(), bytes_read);
EXPECT_EQ(file_contents, std::string(read_buf, bytes_read));
}