AU/unittest: UtilsTest uses unique directories for testing
This will allow tests to be run in parallel.
BUG=chromium:236465
TEST=Tests successful; create/remove uniquely named directories
Change-Id: Iea9f6b4fb4e265a294d6f8dec14d446d0c7f8312
Reviewed-on: https://gerrit.chromium.org/gerrit/62327
Commit-Queue: Gilad Arnold <garnold@chromium.org>
Reviewed-by: Gilad Arnold <garnold@chromium.org>
Tested-by: Gilad Arnold <garnold@chromium.org>
diff --git a/utils_unittest.cc b/utils_unittest.cc
index c0e0dfa..e10e2cb 100644
--- a/utils_unittest.cc
+++ b/utils_unittest.cc
@@ -159,17 +159,24 @@
}
TEST(UtilsTest, RecursiveUnlinkDirTest) {
- EXPECT_EQ(0, mkdir("RecursiveUnlinkDirTest-a", 0755));
- EXPECT_EQ(0, mkdir("RecursiveUnlinkDirTest-b", 0755));
- EXPECT_EQ(0, symlink("../RecursiveUnlinkDirTest-a",
- "RecursiveUnlinkDirTest-b/link"));
- EXPECT_EQ(0, system("echo hi > RecursiveUnlinkDirTest-b/file"));
- EXPECT_EQ(0, mkdir("RecursiveUnlinkDirTest-b/dir", 0755));
- EXPECT_EQ(0, system("echo ok > RecursiveUnlinkDirTest-b/dir/subfile"));
- EXPECT_TRUE(utils::RecursiveUnlinkDir("RecursiveUnlinkDirTest-b"));
- EXPECT_TRUE(utils::FileExists("RecursiveUnlinkDirTest-a"));
- EXPECT_EQ(0, system("rm -rf RecursiveUnlinkDirTest-a"));
- EXPECT_FALSE(utils::FileExists("RecursiveUnlinkDirTest-b"));
+ string first_dir_name;
+ ASSERT_TRUE(utils::MakeTempDirectory("RecursiveUnlinkDirTest-a-XXXXXX",
+ &first_dir_name));
+ ASSERT_EQ(0, Chmod(first_dir_name, 0755));
+ string second_dir_name;
+ ASSERT_TRUE(utils::MakeTempDirectory("RecursiveUnlinkDirTest-b-XXXXXX",
+ &second_dir_name));
+ ASSERT_EQ(0, Chmod(second_dir_name, 0755));
+
+ EXPECT_EQ(0, Symlink(string("../") + first_dir_name,
+ second_dir_name + "/link"));
+ EXPECT_EQ(0, System(string("echo hi > ") + second_dir_name + "/file"));
+ EXPECT_EQ(0, Mkdir(second_dir_name + "/dir", 0755));
+ EXPECT_EQ(0, System(string("echo ok > ") + second_dir_name + "/dir/subfile"));
+ EXPECT_TRUE(utils::RecursiveUnlinkDir(second_dir_name));
+ EXPECT_TRUE(utils::FileExists(first_dir_name.c_str()));
+ EXPECT_EQ(0, System(string("rm -rf ") + first_dir_name));
+ EXPECT_FALSE(utils::FileExists(second_dir_name.c_str()));
EXPECT_TRUE(utils::RecursiveUnlinkDir("/something/that/doesnt/exist"));
}