[Groonga-commit] groonga/grnxx at 2aa6507 [master] Add a test for grnxx::map::Pool::sweep().

Back to archive index

susumu.yata null+****@clear*****
Mon Aug 19 13:17:30 JST 2013


susumu.yata	2013-08-19 13:17:30 +0900 (Mon, 19 Aug 2013)

  New Revision: 2aa6507caf17e620c1b79eca11c3887f003b4a95
  https://github.com/groonga/grnxx/commit/2aa6507caf17e620c1b79eca11c3887f003b4a95

  Message:
    Add a test for grnxx::map::Pool::sweep().

  Modified files:
    test/test_map_pool.cpp

  Modified: test/test_map_pool.cpp (+17 -1)
===================================================================
--- test/test_map_pool.cpp    2013-08-19 13:17:05 +0900 (5738cad)
+++ test/test_map_pool.cpp    2013-08-19 13:17:30 +0900 (8ca7dc2)
@@ -439,7 +439,23 @@ void test_map_pool_defrag() {
 
 template <typename T>
 void test_map_pool_sweep() {
-  // TODO
+  std::unique_ptr<grnxx::Storage> storage(grnxx::Storage::create(nullptr));
+  std::unique_ptr<grnxx::map::Pool<T>> pool(
+      grnxx::map::Pool<T>::create(storage.get(),
+                                  grnxx::STORAGE_ROOT_NODE_ID));
+  std::vector<T> keys;
+  std::vector<std::int64_t> key_ids;
+  generate_random_keys(get_num_keys<T>(), &keys);
+  for (std::uint64_t i = 0; i < keys.size(); ++i) {
+    const std::int64_t key_id = pool->add(keys[i]);
+    key_ids.push_back(key_id);
+  }
+  pool->sweep(grnxx::Duration(0));
+  for (std::uint64_t i = 0; i < keys.size(); ++i) {
+    T stored_key;
+    assert(pool->get(key_ids[i], &stored_key));
+    assert(grnxx::map::Helper<T>::equal_to(stored_key, keys[i]));
+  }
 }
 
 template <typename T>
-------------- next part --------------
HTML����������������������������...
Download 



More information about the Groonga-commit mailing list
Back to archive index