| 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 |