Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1307)

Unified Diff: util/test/scoped_temp_dir_test.cc

Issue 826003003: win: porting for scoped_temp_dir_test (Closed) Base URL: https://chromium.googlesource.com/crashpad/crashpad@master
Patch Set: . Created 5 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: util/test/scoped_temp_dir_test.cc
diff --git a/util/test/scoped_temp_dir_test.cc b/util/test/scoped_temp_dir_test.cc
index 1e80a828a138150d92872d7810403d50484e2ab6..fd2d9c2fb93d2103a9db48cf1768f6b5e851ba63 100644
--- a/util/test/scoped_temp_dir_test.cc
+++ b/util/test/scoped_temp_dir_test.cc
@@ -18,12 +18,19 @@
#include <fcntl.h>
#include <string.h>
#include <sys/stat.h>
-#include <unistd.h>
#include "base/posix/eintr_wrapper.h"
+#include "build/build_config.h"
#include "gtest/gtest.h"
#include "util/test/errors.h"
+#if defined(OS_POSIX)
Robert Sesek 2015/01/07 23:38:25 Should these come before the project #includes?
scottmg 2015/01/08 00:16:11 They require build/build_config.h, so must go afte
+#include <unistd.h>
+#elif defined(OS_WIN)
+#include <direct.h>
+#include <io.h>
+#endif // OS_POSIX
+
namespace crashpad {
namespace test {
namespace {
@@ -32,14 +39,17 @@ bool FileExists(const base::FilePath& path) {
#if defined(OS_POSIX)
struct stat st;
int rv = lstat(path.value().c_str(), &st);
+#elif defined(OS_WIN)
+ struct _stat st;
+ int rv = _wstat(path.value().c_str(), &st);
+#else
+#error "Not implemented"
+#endif
if (rv < 0) {
EXPECT_EQ(ENOENT, errno) << ErrnoMessage("lstat") << " " << path.value();
Mark Mentovai 2015/01/08 17:22:20 The string isn’t right for Windows. :(
scottmg 2015/01/08 17:39:28 Oops, thanks: https://codereview.chromium.org/8368
return false;
}
return true;
-#else
-#error "Not implemented"
-#endif
}
void CreateFile(const base::FilePath& path) {
@@ -48,6 +58,10 @@ void CreateFile(const base::FilePath& path) {
ASSERT_GE(fd, 0) << ErrnoMessage("creat") << " " << path.value();
ASSERT_EQ(0, IGNORE_EINTR(close(fd)))
<< ErrnoMessage("close") << " " << path.value();
+#elif defined(OS_WIN)
+ int fd = _wcreat(path.value().c_str(), 0644);
+ ASSERT_GE(fd, 0) << ErrnoMessage("_wcreat") << " " << path.value();
+ ASSERT_EQ(0, _close(fd)) << ErrnoMessage("_close") << " " << path.value();
#else
#error "Not implemented"
#endif
@@ -58,6 +72,9 @@ void CreateDirectory(const base::FilePath& path) {
#if defined(OS_POSIX)
ASSERT_EQ(0, mkdir(path.value().c_str(), 0755))
<< ErrnoMessage("mkdir") << " " << path.value();
+#elif defined(OS_WIN)
+ ASSERT_EQ(0, _wmkdir(path.value().c_str()))
+ << ErrnoMessage("_wmkdir") << " " << path.value();
#else
#error "Not implemented"
#endif
@@ -82,10 +99,10 @@ TEST(ScopedTempDir, WithTwoFiles) {
parent = dir.path();
ASSERT_TRUE(FileExists(parent));
- file1 = parent.Append("test1");
+ file1 = parent.Append(FILE_PATH_LITERAL("test1"));
CreateFile(file1);
- file2 = parent.Append("test 2");
+ file2 = parent.Append(FILE_PATH_LITERAL("test 2"));
CreateFile(file2);
}
@@ -102,13 +119,13 @@ TEST(ScopedTempDir, WithRecursiveDirectory) {
parent = dir.path();
ASSERT_TRUE(FileExists(parent));
- file1 = parent.Append(".first-level file");
+ file1 = parent.Append(FILE_PATH_LITERAL(".first-level file"));
CreateFile(file1);
- child_dir = parent.Append("subdir");
+ child_dir = parent.Append(FILE_PATH_LITERAL("subdir"));
CreateDirectory(child_dir);
- file2 = child_dir.Append("second level file");
+ file2 = child_dir.Append(FILE_PATH_LITERAL("second level file"));
CreateFile(file2);
}
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698