Deflake unlink test.
Multiple tests were creating the same directory before removing it, making it possible for concurrent tests to fail because the directory already exists. PiperOrigin-RevId: 232389814 Change-Id: I35d409fff4b3fd864b30fee742cb587b14975c23
This commit is contained in:
parent
a9fe9afd63
commit
3eae03fe4f
|
@ -47,19 +47,20 @@ TEST(UnlinkTest, DirNotEmpty) {
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST(UnlinkTest, Rmdir) {
|
TEST(UnlinkTest, Rmdir) {
|
||||||
std::string path = JoinPath(GetAbsoluteTestTmpdir(), "NewDir");
|
auto dir = ASSERT_NO_ERRNO_AND_VALUE(TempPath::CreateDir());
|
||||||
ASSERT_THAT(mkdir(path.c_str(), 0755), SyscallSucceeds());
|
EXPECT_THAT(rmdir(dir.path().c_str()), SyscallSucceeds());
|
||||||
EXPECT_THAT(rmdir(path.c_str()), SyscallSucceeds());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST(UnlinkTest, AtDir) {
|
TEST(UnlinkTest, AtDir) {
|
||||||
int dirfd;
|
int dirfd;
|
||||||
EXPECT_THAT(dirfd = open(GetAbsoluteTestTmpdir().c_str(), O_DIRECTORY, 0),
|
auto tmpdir = GetAbsoluteTestTmpdir();
|
||||||
SyscallSucceeds());
|
EXPECT_THAT(dirfd = open(tmpdir.c_str(), O_DIRECTORY, 0), SyscallSucceeds());
|
||||||
|
|
||||||
std::string path = JoinPath(GetAbsoluteTestTmpdir(), "NewDir");
|
auto dir = ASSERT_NO_ERRNO_AND_VALUE(TempPath::CreateDirIn(tmpdir));
|
||||||
EXPECT_THAT(mkdir(path.c_str(), 0755), SyscallSucceeds());
|
auto dir_relpath =
|
||||||
EXPECT_THAT(unlinkat(dirfd, "NewDir", AT_REMOVEDIR), SyscallSucceeds());
|
ASSERT_NO_ERRNO_AND_VALUE(GetRelativePath(tmpdir, dir.path()));
|
||||||
|
EXPECT_THAT(unlinkat(dirfd, dir_relpath.c_str(), AT_REMOVEDIR),
|
||||||
|
SyscallSucceeds());
|
||||||
ASSERT_THAT(close(dirfd), SyscallSucceeds());
|
ASSERT_THAT(close(dirfd), SyscallSucceeds());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue