[Groonga-commit] groonga/grnxx at 6924d6f [master] Add tests for grnxx::Storage::body_usage() and body_size().

Back to archive index

susumu.yata null+****@clear*****
Thu May 23 14:41:44 JST 2013


susumu.yata	2013-05-23 14:41:44 +0900 (Thu, 23 May 2013)

  New Revision: 6924d6f9ed5e92dd4a2c45b8ec59566c612f482f
  https://github.com/groonga/grnxx/commit/6924d6f9ed5e92dd4a2c45b8ec59566c612f482f

  Message:
    Add tests for grnxx::Storage::body_usage() and body_size().

  Modified files:
    test/test_storage.cpp

  Modified: test/test_storage.cpp (+45 -1)
===================================================================
--- test/test_storage.cpp    2013-05-23 14:41:27 +0900 (334d1d5)
+++ test/test_storage.cpp    2013-05-23 14:41:44 +0900 (1c8d3db)
@@ -655,13 +655,52 @@ void test_storage_max_num_files() {
   assert(storage->max_num_files() == options.max_num_files);
 }
 
+void test_storage_body_usage() {
+  uint64_t prev_body_usage = 0;
+  grnxx::StorageNode node;
+  std::unique_ptr<grnxx::Storage> storage(grnxx::Storage::create(nullptr));
+  assert(storage->body_usage() > prev_body_usage);
+  prev_body_usage = storage->body_usage();
+  node = storage->create_node(grnxx::STORAGE_ROOT_NODE_ID, 1 << 24);
+  assert(node);
+  assert(storage->body_usage() == (prev_body_usage + node.size()));
+  assert(storage->unlink_node(node.id()));
+  assert(storage->sweep(grnxx::Duration(0)));
+  assert(storage->body_usage() == prev_body_usage);
+  for (int i = 0; i < 16; ++i) {
+    assert(storage->create_node(grnxx::STORAGE_ROOT_NODE_ID, 1 << 24));
+    assert(storage->body_usage() > prev_body_usage);
+    prev_body_usage = storage->body_usage();
+  }
+}
+
+void test_storage_body_size() {
+  uint64_t prev_body_size = 0;
+  grnxx::StorageNode node;
+  std::unique_ptr<grnxx::Storage> storage(grnxx::Storage::create(nullptr));
+  assert(storage->body_size() > prev_body_size);
+  prev_body_size = storage->body_size();
+  node = storage->create_node(grnxx::STORAGE_ROOT_NODE_ID, 1 << 23);
+  assert(node);
+  assert(storage->body_size() > prev_body_size);
+  prev_body_size = storage->body_size();
+  assert(storage->unlink_node(node.id()));
+  assert(storage->sweep(grnxx::Duration(0)));
+  assert(storage->body_size() == prev_body_size);
+  for (int i = 0; i < 16; ++i) {
+    assert(storage->create_node(grnxx::STORAGE_ROOT_NODE_ID, 1 << 24));
+    assert(storage->body_size() > prev_body_size);
+    prev_body_size = storage->body_size();
+  }
+}
+
 void test_storage_total_size() {
   uint64_t prev_total_size = 0;
   std::unique_ptr<grnxx::Storage> storage(grnxx::Storage::create(nullptr));
   assert(storage->total_size() > prev_total_size);
   prev_total_size = storage->total_size();
   for (int i = 0; i < 16; ++i) {
-    storage->create_node(grnxx::STORAGE_ROOT_NODE_ID, 1 << 24);
+    assert(storage->create_node(grnxx::STORAGE_ROOT_NODE_ID, 1 << 24));
     assert(storage->total_size() > prev_total_size);
     prev_total_size = storage->total_size();
   }
@@ -703,6 +742,9 @@ void test_storage_random_queries() {
       id_set.insert(node.id());
     }
   }
+  GRNXX_NOTICE() << "body_usage = " << storage->body_usage()
+                 << ", body_size = " << storage->body_size()
+                 << ", total_size = " << storage->total_size();
 }
 
 void test_path() {
@@ -744,6 +786,8 @@ void test_storage() {
   test_storage_flags();
   test_storage_max_file_size();
   test_storage_max_num_files();
+  test_storage_body_usage();
+  test_storage_body_size();
   test_storage_total_size();
   test_storage_random_queries();
 }
-------------- next part --------------
HTML����������������������������...
Download 



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