OLD | NEW |
---|---|
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "build/build_config.h" | 5 #include "build/build_config.h" |
6 | 6 |
7 #if defined(OS_WIN) | 7 #if defined(OS_WIN) |
8 #include <windows.h> | 8 #include <windows.h> |
9 #include <shellapi.h> | 9 #include <shellapi.h> |
10 #include <shlobj.h> | 10 #include <shlobj.h> |
(...skipping 2125 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
2136 | 2136 |
2137 ASSERT_TRUE(TouchFile(foobar, access_time, modification_time)); | 2137 ASSERT_TRUE(TouchFile(foobar, access_time, modification_time)); |
2138 File::Info file_info; | 2138 File::Info file_info; |
2139 ASSERT_TRUE(GetFileInfo(foobar, &file_info)); | 2139 ASSERT_TRUE(GetFileInfo(foobar, &file_info)); |
2140 EXPECT_EQ(access_time.ToInternalValue(), | 2140 EXPECT_EQ(access_time.ToInternalValue(), |
2141 file_info.last_accessed.ToInternalValue()); | 2141 file_info.last_accessed.ToInternalValue()); |
2142 EXPECT_EQ(modification_time.ToInternalValue(), | 2142 EXPECT_EQ(modification_time.ToInternalValue(), |
2143 file_info.last_modified.ToInternalValue()); | 2143 file_info.last_modified.ToInternalValue()); |
2144 } | 2144 } |
2145 | 2145 |
2146 #if defined(OS_POSIX) && !defined(OS_ANDROID) | |
2147 TEST_F(FileUtilTest, WriteFileWithMode) { | |
2148 FilePath data_dir = | |
2149 temp_dir_.path().Append(FILE_PATH_LITERAL("FilePathTest")); | |
2150 | |
2151 // Create a fresh, empty copy of this directory. | |
2152 if (PathExists(data_dir)) { | |
asanka
2014/11/03 14:44:57
This test, and the creation of a separate test dir
| |
2153 ASSERT_TRUE(DeleteFile(data_dir, true)); | |
2154 } | |
2155 ASSERT_TRUE(CreateDirectory(data_dir)); | |
2156 | |
2157 FilePath foobar(data_dir.Append(FILE_PATH_LITERAL("foobar.txt"))); | |
2158 std::string data("hello"); | |
2159 mode_t mode = 0644; | |
2160 ASSERT_TRUE(WriteFileWithMode(foobar, data.c_str(), data.length(), mode)); | |
2161 | |
2162 struct stat status; | |
2163 ASSERT_EQ(0, stat(foobar.value().c_str(), &status)); | |
asanka
2014/11/03 14:44:57
Is there's a more aggressive umask on the MSan bot
| |
2164 ASSERT_EQ(mode, status.st_mode & 0777); | |
2165 } | |
2166 #endif | |
2167 | |
2146 TEST_F(FileUtilTest, IsDirectoryEmpty) { | 2168 TEST_F(FileUtilTest, IsDirectoryEmpty) { |
2147 FilePath empty_dir = temp_dir_.path().Append(FILE_PATH_LITERAL("EmptyDir")); | 2169 FilePath empty_dir = temp_dir_.path().Append(FILE_PATH_LITERAL("EmptyDir")); |
2148 | 2170 |
2149 ASSERT_FALSE(PathExists(empty_dir)); | 2171 ASSERT_FALSE(PathExists(empty_dir)); |
2150 | 2172 |
2151 ASSERT_TRUE(CreateDirectory(empty_dir)); | 2173 ASSERT_TRUE(CreateDirectory(empty_dir)); |
2152 | 2174 |
2153 EXPECT_TRUE(IsDirectoryEmpty(empty_dir)); | 2175 EXPECT_TRUE(IsDirectoryEmpty(empty_dir)); |
2154 | 2176 |
2155 FilePath foo(empty_dir.Append(FILE_PATH_LITERAL("foo.txt"))); | 2177 FilePath foo(empty_dir.Append(FILE_PATH_LITERAL("foo.txt"))); |
(...skipping 451 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
2607 // Trying to close it should crash. This is important for security. | 2629 // Trying to close it should crash. This is important for security. |
2608 EXPECT_DEATH(CloseWithScopedFD(fds[1]), ""); | 2630 EXPECT_DEATH(CloseWithScopedFD(fds[1]), ""); |
2609 #endif | 2631 #endif |
2610 } | 2632 } |
2611 | 2633 |
2612 #endif // defined(OS_POSIX) | 2634 #endif // defined(OS_POSIX) |
2613 | 2635 |
2614 } // namespace | 2636 } // namespace |
2615 | 2637 |
2616 } // namespace base | 2638 } // namespace base |
OLD | NEW |