UnitTests/PathV2: Setup a test fixture to make tracking created file system
authorMichael J. Spencer <bigcheesegs@gmail.com>
Wed, 5 Jan 2011 16:39:05 +0000 (16:39 +0000)
committerMichael J. Spencer <bigcheesegs@gmail.com>
Wed, 5 Jan 2011 16:39:05 +0000 (16:39 +0000)
entities easier.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122880 91177308-0d34-0410-b5e6-96231b3b80d8

unittests/Support/Path.cpp

index a4fb518255b97e72eea99c9b442432f0d6b5c908..132d43950b3199a53f27e3f2f6804e2f687f4422 100644 (file)
@@ -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) {