From: Michael J. Spencer Date: Wed, 5 Jan 2011 16:39:05 +0000 (+0000) Subject: UnitTests/PathV2: Setup a test fixture to make tracking created file system X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=2558516859ac52a17c85afff01073303bd522979;p=oota-llvm.git UnitTests/PathV2: Setup a test fixture to make tracking created file system entities easier. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122880 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/unittests/Support/Path.cpp b/unittests/Support/Path.cpp index a4fb518255b..132d43950b3 100644 --- a/unittests/Support/Path.cpp +++ b/unittests/Support/Path.cpp @@ -123,7 +123,29 @@ TEST(Support, Path) { path::native(*i, temp_store); } +} + +class FileSystemTest : public testing::Test { +protected: + /// Unique temporary directory in which all created filesystem entities must + /// be placed. It is recursively removed at the end of each test. + SmallString<128> TestDirectory; + + virtual void SetUp() { + /*int fd; + ASSERT_NO_ERROR( + fs::unique_file("%%-%%-%%-%%/test-directory.anchor", fd, TestDirectory)); + // We don't care about this specific file. + ::close(fd);*/ + } + virtual void TearDown() { + /*uint32_t removed; + ASSERT_NO_ERROR(fs::remove_all(TestDirectory.str(), removed));*/ + } +}; + +TEST_F(FileSystemTest, TempFiles) { // Create a temp file. int FileDescriptor; SmallString<64> TempPath; @@ -175,7 +197,9 @@ TEST(Support, Path) { // Make sure Temp1 doesn't exist. ASSERT_NO_ERROR(fs::exists(Twine(TempPath), TempFileExists)); EXPECT_FALSE(TempFileExists); +} +TEST_F(FileSystemTest, DirectoryIteration) { error_code ec; for (fs::directory_iterator i(".", ec), e; i != e; i.increment(ec)) { if (ec) {