blob: b7fc1909d577bc10c48709fef62aa09c6e208b54 [file]
/**
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
#include <stdio.h>
#include <string.h>
#include "testutil/testutil.h"
#include "os/os.h"
#include "testbench.h"
/* Limit max blocks for testing */
#define MEMPOOL_TEST_MAX_BLOCKS (128)
/* Create a memory pool for testing */
#ifndef MEM_BLOCK_SIZE
#define MEM_BLOCK_SIZE (80)
#endif
#ifndef MEM_MEM_BLOCKS
#define NUM_MEM_BLOCKS (10)
#endif
/* Test memory pool structure */
struct os_mempool g_TstMempool;
/* Test memory pool buffer */
os_membuf_t *TstMembuf;
extern uint32_t TstMembufSz;
/* Array of block pointers. */
void *block_array[MEMPOOL_TEST_MAX_BLOCKS];
void
testbench_mempool_init(void *arg)
{
/*
* Lorem ipsum dolor sit amet, consectetur adipiscing elit,
* sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
*/
LOG_DEBUG(&testlog, LOG_MODULE_TEST,
"%s testbench mempool_init", buildID);
TstMembufSz = (sizeof(os_membuf_t) *
OS_MEMPOOL_SIZE(NUM_MEM_BLOCKS, MEM_BLOCK_SIZE));
TstMembuf = os_malloc(TstMembufSz);
tu_suite_set_pass_cb(testbench_ts_pass, NULL);
tu_suite_set_fail_cb(testbench_ts_fail, NULL);
}
void
testbench_mempool_complete(void *arg)
{
os_free((void*)TstMembuf);
}
TEST_CASE_DECL(os_mempool_test_case)
TEST_SUITE(testbench_mempool_suite)
{
LOG_DEBUG(&testlog, LOG_MODULE_TEST, "%s testbench_mempool", buildID);
tu_suite_set_init_cb(testbench_mempool_init, NULL);
tu_suite_set_complete_cb(testbench_mempool_complete, NULL);
os_mempool_test_case();
}
int
testbench_mempool()
{
tu_suite_set_init_cb(testbench_mempool_init, NULL);
tu_suite_set_complete_cb(testbench_mempool_complete, NULL);
LOG_DEBUG(&testlog, LOG_MODULE_TEST, "%s testbench_mempool", buildID);
testbench_mempool_suite();
return tu_any_failed;
}