| Index: third_party/mojo/src/mojo/edk/embedder/platform_channel_pair_posix_unittest.cc
|
| diff --git a/third_party/mojo/src/mojo/edk/embedder/platform_channel_pair_posix_unittest.cc b/third_party/mojo/src/mojo/edk/embedder/platform_channel_pair_posix_unittest.cc
|
| index 897929fee13d266ef6da9685bb35e16a449f47e4..0b20f4b57b5188ae692b9cca9834e7d1732f667f 100644
|
| --- a/third_party/mojo/src/mojo/edk/embedder/platform_channel_pair_posix_unittest.cc
|
| +++ b/third_party/mojo/src/mojo/edk/embedder/platform_channel_pair_posix_unittest.cc
|
| @@ -15,11 +15,9 @@
|
|
|
| #include <deque>
|
|
|
| -#include "base/files/file_path.h"
|
| -#include "base/files/file_util.h"
|
| #include "base/files/scoped_file.h"
|
| -#include "base/files/scoped_temp_dir.h"
|
| #include "base/logging.h"
|
| +#include "build/build_config.h"
|
| #include "mojo/edk/embedder/platform_channel_utils_posix.h"
|
| #include "mojo/edk/embedder/platform_handle.h"
|
| #include "mojo/edk/embedder/platform_handle_vector.h"
|
| @@ -28,6 +26,11 @@
|
| #include "mojo/public/cpp/system/macros.h"
|
| #include "testing/gtest/include/gtest/gtest.h"
|
|
|
| +#if defined(OS_ANDROID)
|
| +#include "base/android/path_utils.h"
|
| +#include "base/files/file_path.h"
|
| +#endif
|
| +
|
| namespace mojo {
|
| namespace embedder {
|
| namespace {
|
| @@ -39,6 +42,22 @@ void WaitReadable(PlatformHandle h) {
|
| CHECK_EQ(poll(&pfds, 1, -1), 1);
|
| }
|
|
|
| +FILE* NewTmpFile() {
|
| +#if defined(OS_ANDROID)
|
| + base::FilePath tmpdir;
|
| + if (!base::android::GetCacheDirectory(&tmpdir))
|
| + return nullptr;
|
| + std::string templ = tmpdir.Append("XXXXXXXX").value();
|
| + int fd = mkstemp(const_cast<char*>(templ.c_str()));
|
| + if (fd == -1)
|
| + return nullptr;
|
| + CHECK(unlink(templ.c_str()) == 0);
|
| + return fdopen(fd, "w+");
|
| +#else
|
| + return tmpfile();
|
| +#endif
|
| +}
|
| +
|
| class PlatformChannelPairPosixTest : public testing::Test {
|
| public:
|
| PlatformChannelPairPosixTest() {}
|
| @@ -128,9 +147,6 @@ TEST_F(PlatformChannelPairPosixTest, SendReceiveData) {
|
| }
|
|
|
| TEST_F(PlatformChannelPairPosixTest, SendReceiveFDs) {
|
| - base::ScopedTempDir temp_dir;
|
| - ASSERT_TRUE(temp_dir.CreateUniqueTempDir());
|
| -
|
| static const char kHello[] = "hello";
|
|
|
| PlatformChannelPair channel_pair;
|
| @@ -150,9 +166,7 @@ TEST_F(PlatformChannelPairPosixTest, SendReceiveFDs) {
|
| const char c = '0' + (i % 10);
|
| ScopedPlatformHandleVectorPtr platform_handles(new PlatformHandleVector);
|
| for (size_t j = 1; j <= i; j++) {
|
| - base::FilePath unused;
|
| - base::ScopedFILE fp(
|
| - base::CreateAndOpenTemporaryFileInDir(temp_dir.path(), &unused));
|
| + base::ScopedFILE fp(NewTmpFile());
|
| ASSERT_TRUE(fp);
|
| ASSERT_EQ(j, fwrite(std::string(j, c).data(), 1, j, fp.get()));
|
| platform_handles->push_back(
|
| @@ -194,9 +208,6 @@ TEST_F(PlatformChannelPairPosixTest, SendReceiveFDs) {
|
| }
|
|
|
| TEST_F(PlatformChannelPairPosixTest, AppendReceivedFDs) {
|
| - base::ScopedTempDir temp_dir;
|
| - ASSERT_TRUE(temp_dir.CreateUniqueTempDir());
|
| -
|
| static const char kHello[] = "hello";
|
|
|
| PlatformChannelPair channel_pair;
|
| @@ -206,9 +217,7 @@ TEST_F(PlatformChannelPairPosixTest, AppendReceivedFDs) {
|
| const std::string file_contents("hello world");
|
|
|
| {
|
| - base::FilePath unused;
|
| - base::ScopedFILE fp(
|
| - base::CreateAndOpenTemporaryFileInDir(temp_dir.path(), &unused));
|
| + base::ScopedFILE fp(NewTmpFile());
|
| ASSERT_TRUE(fp);
|
| ASSERT_EQ(file_contents.size(),
|
| fwrite(file_contents.data(), 1, file_contents.size(), fp.get()));
|
|
|