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

Side by Side Diff: utils_unittest.cc

Issue 5265001: AU: Add unit tests for utils IsSymlink and SetProcessPriority. (Closed) Base URL: ssh://git@gitrw.chromium.org:9222/update_engine.git@master
Patch Set: Created 10 years, 1 month 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
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
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
OLDNEW
« 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