am 5d804006: Merge "adb/base win32 tests: fix comment and open() flags"
* commit '5d8040060515128f2bee9b4759d0618b90c4d70c':
adb/base win32 tests: fix comment and open() flags
diff --git a/adb/adb_io_test.cpp b/adb/adb_io_test.cpp
index f637073..84e3db6 100644
--- a/adb/adb_io_test.cpp
+++ b/adb/adb_io_test.cpp
@@ -31,10 +31,11 @@
#include "base/test_utils.h"
// All of these tests fail on Windows because they use the C Runtime open(),
-// but the adb_io APIs expect file descriptors from adb_open(). Also, the
-// android::base file APIs use the C Runtime which uses CR/LF translation by
-// default (changeable with _setmode()), but the adb_io APIs use adb_read()
-// and adb_write() which do no translation.
+// but the adb_io APIs expect file descriptors from adb_open(). This could
+// theoretically be fixed by making adb_read()/adb_write() fallback to using
+// read()/write() if an unrecognized fd is used, and by making adb_open() return
+// fds far from the range that open() returns. But all of that might defeat the
+// purpose of the tests.
TEST(io, ReadFdExactly_whole) {
const char expected[] = "Foobar";
diff --git a/base/test_utils.cpp b/base/test_utils.cpp
index b0c5a12..22641e7 100644
--- a/base/test_utils.cpp
+++ b/base/test_utils.cpp
@@ -37,9 +37,9 @@
return -1;
}
// Use open() to match the close() that TemporaryFile's destructor does.
- // Note that on Windows, this does CR/LF translation and _setmode() should
- // be used to change that if appropriate.
- return open(template_name, O_CREAT | O_EXCL | O_RDWR, S_IRUSR | S_IWUSR);
+ // Use O_BINARY to match base file APIs.
+ return open(template_name, O_CREAT | O_EXCL | O_RDWR | O_BINARY,
+ S_IRUSR | S_IWUSR);
}
char* mkdtemp(char* template_name) {