]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
ceph_test_rados_api_list: update check_list
authorSage Weil <sage@redhat.com>
Mon, 17 Apr 2017 18:24:57 +0000 (14:24 -0400)
committerSage Weil <sage@redhat.com>
Fri, 5 May 2017 17:39:13 +0000 (13:39 -0400)
We no longer see dup entries on split.

Signed-off-by: Sage Weil <sage@redhat.com>
src/test/librados/list.cc

index 50c61a43889b9c1a4b9a58289495145df84702dd..77f5f54fed39e84ca75a95af510b6fd42ff876d8 100644 (file)
@@ -138,16 +138,13 @@ TEST_F(LibRadosListPP, ListObjectsEndIter) {
   ASSERT_TRUE(iter2 == iter_end2);
 }
 
-static void check_list(std::set<std::string>& myset, rados_list_ctx_t& ctx, std::string check_nspace)
+static void check_list(
+  std::set<std::string>& myset,
+  rados_list_ctx_t& ctx,
+  std::string check_nspace)
 {
   const char *entry, *nspace;
-  std::set<std::string> orig_set(myset);
-  /**
-   * During splitting, we might see duplicate items.
-   * We assert that every object returned is in myset and that
-   * we don't hit ENOENT until we have hit every item in myset
-   * at least once.
-   */
+  // we should see every item exactly once.
   int ret;
   while ((ret = rados_nobjects_list_next(ctx, &entry, NULL, &nspace)) == 0) {
     std::string test_name;
@@ -158,7 +155,7 @@ static void check_list(std::set<std::string>& myset, rados_list_ctx_t& ctx, std:
       test_name = std::string(entry);
     }
 
-    ASSERT_TRUE(orig_set.end() != orig_set.find(test_name));
+    ASSERT_TRUE(myset.end() != myset.find(test_name));
     myset.erase(test_name);
   }
   ASSERT_EQ(-ENOENT, ret);