Add another mempool test.
authorcedric <cedric>
Wed, 17 Sep 2008 16:33:16 +0000 (16:33 +0000)
committercedric <cedric@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Wed, 17 Sep 2008 16:33:16 +0000 (16:33 +0000)
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/PROTO/eina@36054 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

src/tests/eina_test_mempool.c

index dc0cec0..3e6ef5c 100644 (file)
@@ -163,6 +163,48 @@ START_TEST(eina_mempool_ememoa_fixed)
 }
 END_TEST
 
+START_TEST(eina_mempool_ememoa_unknown)
+{
+   Eina_Module_Group *gp;
+   Eina_Mempool *mp;
+   int *tbl[512];
+   int i;
+
+   eina_mempool_init();
+
+   eina_module_root_add(PACKAGE_BUILD_DIR"/src/tests");
+
+   gp = eina_mempool_module_group_get();
+   fail_if(!gp);
+   eina_module_path_register(gp, PACKAGE_BUILD_DIR"/src/modules", EINA_TRUE);
+
+   mp = eina_mempool_new("ememoa_unknown", "test", NULL, 0, 2, sizeof (int), 8, sizeof (int) * 2, 8);
+   fail_if(!mp);
+
+   for (i = 0; i < 512; ++i)
+     {
+       tbl[i] = eina_mempool_alloc(mp, sizeof (int));
+       fail_if(!tbl[i]);
+       *tbl[i] = i;
+     }
+
+   for (i = 0; i < 512; ++i)
+     fail_if(*tbl[i] != i);
+
+   for (i = 0; i < 256; ++i)
+     eina_mempool_free(mp, tbl[i]);
+
+   for (i = 256; i < 512; ++i)
+     tbl[i] = eina_mempool_realloc(mp, tbl[i], 2 * sizeof (int));
+
+   eina_mempool_gc(mp);
+   eina_mempool_statistics(mp);
+
+   eina_mempool_delete(mp);
+
+   eina_mempool_shutdown();
+}
+END_TEST
 #endif
 
 void
@@ -173,6 +215,7 @@ eina_test_mempool(TCase *tc)
    tcase_add_test(tc, eina_mempool_pass_through);
 #ifdef EINA_EMEMOA_SUPPORT
    tcase_add_test(tc, eina_mempool_ememoa_fixed);
+   tcase_add_test(tc, eina_mempool_ememoa_unknown);
 #endif
 }