Move IsDir() to utils.
This patch moves the generic IsDir() function to the utils.cc file
where other similar functions reside. It also adds unit tests for it.
BUG=None
TEST=Added unittests.
Change-Id: Iba05059f72a1156bb5f19ae0624ae7025af4c522
Reviewed-on: https://chromium-review.googlesource.com/200691
Tested-by: Alex Deymo <deymo@chromium.org>
Reviewed-by: Gilad Arnold <garnold@chromium.org>
Commit-Queue: Alex Deymo <deymo@chromium.org>
diff --git a/utils_unittest.cc b/utils_unittest.cc
index 77a7d9b..3103349 100644
--- a/utils_unittest.cc
+++ b/utils_unittest.cc
@@ -198,6 +198,20 @@
EXPECT_TRUE(utils::RecursiveUnlinkDir(temp_dir));
}
+TEST(UtilsTest, IsDirTest) {
+ string temp_dir;
+ EXPECT_TRUE(utils::MakeTempDirectory("isdir-test.XXXXXX", &temp_dir));
+ string temp_file = temp_dir + "temp-file";
+ EXPECT_TRUE(utils::WriteFile(temp_file.c_str(), "", 0));
+ string temp_symlink = temp_dir + "temp-symlink";
+ EXPECT_EQ(0, symlink(temp_dir.c_str(), temp_symlink.c_str()));
+ EXPECT_TRUE(utils::IsDir(temp_dir.c_str()));
+ EXPECT_FALSE(utils::IsDir(temp_file.c_str()));
+ EXPECT_FALSE(utils::IsDir(temp_symlink.c_str()));
+ EXPECT_FALSE(utils::IsDir("/non/existent/path"));
+ ASSERT_TRUE(utils::RecursiveUnlinkDir(temp_dir));
+}
+
TEST(UtilsTest, TempFilenameTest) {
const string original = "/foo.XXXXXX";
const string result = utils::TempFilename(original);