]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
ceph_test_objectstore: clean out test dir for each test
authorSage Weil <sage@redhat.com>
Wed, 23 Dec 2015 22:55:22 +0000 (17:55 -0500)
committerSage Weil <sage@redhat.com>
Fri, 1 Jan 2016 18:08:54 +0000 (13:08 -0500)
Signed-off-by: Sage Weil <sage@redhat.com>
src/test/objectstore/store_test.cc

index 598b444e6fde0452bd500b8a0d476b0271c70dd8..100e1c4ef1f1f96c67f11799c1c6bea1cc5a3322 100644 (file)
@@ -42,9 +42,20 @@ public:
   boost::scoped_ptr<ObjectStore> store;
 
   StoreTest() : store(0) {}
+
+  void rm_r(string path) {
+    string cmd = string("rm -r ") + path;
+    cout << "==> " << cmd << std::endl;
+    int r = ::system(cmd.c_str());
+    if (r) {
+      cerr << "failed with exit code " << r
+          << ", continuing anyway" << std::endl;
+    }
+  }
+
   virtual void SetUp() {
     int r = ::mkdir("store_test_temp_dir", 0777);
-    if (r < 0 && errno != EEXIST) {
+    if (r < 0) {
       r = -errno;
       cerr << __func__ << ": unable to create store_test_temp_dir" << ": " << cpp_strerror(r) << std::endl;
       return;
@@ -64,8 +75,10 @@ public:
   }
 
   virtual void TearDown() {
-    if (store)
+    if (store) {
       store->umount();
+      rm_r("store_test_temp_dir");
+    }
   }
 };