Example #1
0
int
main ()
{
  TEST_INIT ();

  jmem_heap_init ();

  jmem_register_free_unused_memory_callback (test_heap_give_some_memory_back);

#ifdef JMEM_STATS
  jmem_heap_stats_print ();
#endif /* JMEM_STATS */

  for (uint32_t i = 0; i < test_iters; i++)
  {
    for (uint32_t j = 0; j < test_sub_iters; j++)
    {
      size_t size = (size_t) rand () % test_threshold_block_size;
      ptrs[j] = (uint8_t *) jmem_heap_alloc_block (size);
      sizes[j] = size;

      TEST_ASSERT (sizes[j] == 0 || ptrs[j] != NULL);
      memset (ptrs[j], 0, sizes[j]);
    }

    /* jmem_heap_print (true); */

    for (uint32_t j = 0; j < test_sub_iters; j++)
    {
      if (ptrs[j] != NULL)
      {
        for (size_t k = 0; k < sizes[j]; k++)
        {
          TEST_ASSERT (ptrs[j][k] == 0);
        }

        jmem_heap_free_block (ptrs[j], sizes[j]);

        ptrs[j] = NULL;
      }
    }
  }

#ifdef JMEM_STATS
  jmem_heap_stats_print ();
#endif /* JMEM_STATS */

  return 0;
} /* main */
Example #2
0
/**
 * Initialize memory allocators.
 */
void
jmem_init (void)
{
  jmem_heap_init ();
} /* jmem_init */