OLD | NEW |
1 // Copyright (c) 2010 The Chromium OS Authors. All rights reserved. | 1 // Copyright (c) 2010 The Chromium OS 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 <sys/stat.h> | 5 #include <sys/stat.h> |
6 #include <sys/types.h> | 6 #include <sys/types.h> |
7 #include <errno.h> | 7 #include <errno.h> |
8 | 8 |
9 #include <map> | 9 #include <map> |
10 #include <string> | 10 #include <string> |
(...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
122 EXPECT_EQ(0, system("echo hi > RecursiveUnlinkDirTest-b/file")); | 122 EXPECT_EQ(0, system("echo hi > RecursiveUnlinkDirTest-b/file")); |
123 EXPECT_EQ(0, mkdir("RecursiveUnlinkDirTest-b/dir", 0755)); | 123 EXPECT_EQ(0, mkdir("RecursiveUnlinkDirTest-b/dir", 0755)); |
124 EXPECT_EQ(0, system("echo ok > RecursiveUnlinkDirTest-b/dir/subfile")); | 124 EXPECT_EQ(0, system("echo ok > RecursiveUnlinkDirTest-b/dir/subfile")); |
125 EXPECT_TRUE(utils::RecursiveUnlinkDir("RecursiveUnlinkDirTest-b")); | 125 EXPECT_TRUE(utils::RecursiveUnlinkDir("RecursiveUnlinkDirTest-b")); |
126 EXPECT_TRUE(utils::FileExists("RecursiveUnlinkDirTest-a")); | 126 EXPECT_TRUE(utils::FileExists("RecursiveUnlinkDirTest-a")); |
127 EXPECT_EQ(0, system("rm -rf RecursiveUnlinkDirTest-a")); | 127 EXPECT_EQ(0, system("rm -rf RecursiveUnlinkDirTest-a")); |
128 EXPECT_FALSE(utils::FileExists("RecursiveUnlinkDirTest-b")); | 128 EXPECT_FALSE(utils::FileExists("RecursiveUnlinkDirTest-b")); |
129 EXPECT_TRUE(utils::RecursiveUnlinkDir("/something/that/doesnt/exist")); | 129 EXPECT_TRUE(utils::RecursiveUnlinkDir("/something/that/doesnt/exist")); |
130 } | 130 } |
131 | 131 |
| 132 TEST(UtilsTest, IsSymlinkTest) { |
| 133 string temp_dir; |
| 134 EXPECT_TRUE(utils::MakeTempDirectory("/tmp/symlink-test.XXXXXX", &temp_dir)); |
| 135 string temp_file = temp_dir + "temp-file"; |
| 136 EXPECT_TRUE(utils::WriteFile(temp_file.c_str(), "", 0)); |
| 137 string temp_symlink = temp_dir + "temp-symlink"; |
| 138 EXPECT_EQ(0, symlink(temp_file.c_str(), temp_symlink.c_str())); |
| 139 EXPECT_FALSE(utils::IsSymlink(temp_dir.c_str())); |
| 140 EXPECT_FALSE(utils::IsSymlink(temp_file.c_str())); |
| 141 EXPECT_TRUE(utils::IsSymlink(temp_symlink.c_str())); |
| 142 EXPECT_FALSE(utils::IsSymlink("/non/existent/path")); |
| 143 EXPECT_TRUE(utils::RecursiveUnlinkDir(temp_dir)); |
| 144 } |
| 145 |
132 TEST(UtilsTest, TempFilenameTest) { | 146 TEST(UtilsTest, TempFilenameTest) { |
133 const string original = "/foo.XXXXXX"; | 147 const string original = "/foo.XXXXXX"; |
134 const string result = utils::TempFilename(original); | 148 const string result = utils::TempFilename(original); |
135 EXPECT_EQ(original.size(), result.size()); | 149 EXPECT_EQ(original.size(), result.size()); |
136 EXPECT_TRUE(utils::StringHasPrefix(result, "/foo.")); | 150 EXPECT_TRUE(utils::StringHasPrefix(result, "/foo.")); |
137 EXPECT_FALSE(utils::StringHasSuffix(result, "XXXXXX")); | 151 EXPECT_FALSE(utils::StringHasSuffix(result, "XXXXXX")); |
138 } | 152 } |
139 | 153 |
140 TEST(UtilsTest, RootDeviceTest) { | 154 TEST(UtilsTest, RootDeviceTest) { |
141 EXPECT_EQ("/dev/sda", utils::RootDevice("/dev/sda3")); | 155 EXPECT_EQ("/dev/sda", utils::RootDevice("/dev/sda3")); |
(...skipping 15 matching lines...) Expand all Loading... |
157 TEST(UtilsTest, IsRemovableDeviceTest) { | 171 TEST(UtilsTest, IsRemovableDeviceTest) { |
158 EXPECT_FALSE(utils::IsRemovableDevice("")); | 172 EXPECT_FALSE(utils::IsRemovableDevice("")); |
159 EXPECT_FALSE(utils::IsRemovableDevice("/dev/non-existent-device")); | 173 EXPECT_FALSE(utils::IsRemovableDevice("/dev/non-existent-device")); |
160 } | 174 } |
161 | 175 |
162 TEST(UtilsTest, PartitionNumberTest) { | 176 TEST(UtilsTest, PartitionNumberTest) { |
163 EXPECT_EQ("3", utils::PartitionNumber("/dev/sda3")); | 177 EXPECT_EQ("3", utils::PartitionNumber("/dev/sda3")); |
164 EXPECT_EQ("3", utils::PartitionNumber("/dev/mmc0p3")); | 178 EXPECT_EQ("3", utils::PartitionNumber("/dev/mmc0p3")); |
165 } | 179 } |
166 | 180 |
| 181 |
| 182 TEST(UtilsTest, RunAsRootSetProcessPriorityTest) { |
| 183 // getpriority may return -1 on error so the getpriority logic needs to be |
| 184 // enhanced if any of the pre-defined priority constants are changed to -1. |
| 185 ASSERT_NE(-1, utils::kProcessPriorityLow); |
| 186 ASSERT_NE(-1, utils::kProcessPriorityNormal); |
| 187 ASSERT_NE(-1, utils::kProcessPriorityHigh); |
| 188 EXPECT_EQ(utils::kProcessPriorityNormal, getpriority(PRIO_PROCESS, 0)); |
| 189 EXPECT_TRUE(utils::SetProcessPriority(utils::kProcessPriorityHigh)); |
| 190 EXPECT_EQ(utils::kProcessPriorityHigh, getpriority(PRIO_PROCESS, 0)); |
| 191 EXPECT_TRUE(utils::SetProcessPriority(utils::kProcessPriorityLow)); |
| 192 EXPECT_EQ(utils::kProcessPriorityLow, getpriority(PRIO_PROCESS, 0)); |
| 193 EXPECT_TRUE(utils::SetProcessPriority(utils::kProcessPriorityNormal)); |
| 194 EXPECT_EQ(utils::kProcessPriorityNormal, getpriority(PRIO_PROCESS, 0)); |
| 195 } |
| 196 |
167 TEST(UtilsTest, ComparePrioritiesTest) { | 197 TEST(UtilsTest, ComparePrioritiesTest) { |
168 EXPECT_LT(utils::ComparePriorities(utils::kProcessPriorityLow, | 198 EXPECT_LT(utils::ComparePriorities(utils::kProcessPriorityLow, |
169 utils::kProcessPriorityNormal), 0); | 199 utils::kProcessPriorityNormal), 0); |
170 EXPECT_GT(utils::ComparePriorities(utils::kProcessPriorityNormal, | 200 EXPECT_GT(utils::ComparePriorities(utils::kProcessPriorityNormal, |
171 utils::kProcessPriorityLow), 0); | 201 utils::kProcessPriorityLow), 0); |
172 EXPECT_EQ(utils::ComparePriorities(utils::kProcessPriorityNormal, | 202 EXPECT_EQ(utils::ComparePriorities(utils::kProcessPriorityNormal, |
173 utils::kProcessPriorityNormal), 0); | 203 utils::kProcessPriorityNormal), 0); |
174 EXPECT_GT(utils::ComparePriorities(utils::kProcessPriorityHigh, | 204 EXPECT_GT(utils::ComparePriorities(utils::kProcessPriorityHigh, |
175 utils::kProcessPriorityNormal), 0); | 205 utils::kProcessPriorityNormal), 0); |
176 } | 206 } |
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
219 img.c_str()))); | 249 img.c_str()))); |
220 EXPECT_EQ(20 * 1024 * 1024, utils::FileSize(img)); | 250 EXPECT_EQ(20 * 1024 * 1024, utils::FileSize(img)); |
221 int block_count = 0; | 251 int block_count = 0; |
222 int block_size = 0; | 252 int block_size = 0; |
223 EXPECT_TRUE(utils::GetFilesystemSize(img, &block_count, &block_size)); | 253 EXPECT_TRUE(utils::GetFilesystemSize(img, &block_count, &block_size)); |
224 EXPECT_EQ(4096, block_size); | 254 EXPECT_EQ(4096, block_size); |
225 EXPECT_EQ(10 * 1024 * 1024 / 4096, block_count); | 255 EXPECT_EQ(10 * 1024 * 1024 / 4096, block_count); |
226 } | 256 } |
227 | 257 |
228 } // namespace chromeos_update_engine | 258 } // namespace chromeos_update_engine |
OLD | NEW |