GLAST / LAT > DAQ and FSW > FSW > Doxygen Index> QMEM / V0-2-1 > qmem_unit_test / rhel6-32


Interface   Data Structures   File List   Data Fields   Globals  

qmem_unit_test.c File Reference

Unit test for the QMEM package. More...

#include <stddef.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <QMEM/QMEM.h>
#include <qmem_unit_test.h>

Functions

static void show_banner (const char *desc_1, const char *desc_2)
 Display a message as a banner.
static void show_at_level (const int level, const char *item_1, const char *item_2)
 Display text with indentation.
void test_Push_State (test_Test_Descriptor *td_p, const char *desc, const int index)
 Enter a new test state.
void test_Pop_State (test_Test_Descriptor *td_p)
 Return for a test state.
static void show_desc_stack (const test_Test_Descriptor *td_p)
 Display the current state description stack.
static void show_status_name (const QMEM_Status status)
 Display the name for a QMEM_Status value.
void test_Show (const test_Test_Descriptor *td_p, const int level, const char *item_1, const char *item_2)
 Display text with indentation.
int test_Generic_Error (const test_Test_Descriptor *td_p, const char *fmt, const char *str_param, const unsigned int int_param)
 Display a generic error message.
void test_Show_Context (const test_Test_Descriptor *td_p, const Context *exp_p, const Context *act_p)
 Display QMEM parsing context.
int test_Context_Compare (const test_Test_Descriptor *td_p, const Context *exp_p, const Context *act_p, const char *desc)
 Verify parsing context information.
int test_Memory_Compare (const test_Test_Descriptor *td_p, const void *expect_p, const void *actual_p, const void *mask_p, const unsigned int num_bytes)
 Verify the contents of a buffer in memory.
int test_NULL_Compare (const test_Test_Descriptor *td_p, const void *actual, const char *desc)
 Check a 32-bit value to make sure it is not NULL.
int test_Status_Compare (const test_Test_Descriptor *td_p, const QMEM_Status expect, const QMEM_Status actual, const char *func)
 Check a QMEM_Status value.
int test_Value32_Compare (const test_Test_Descriptor *td_p, const unsigned int expect, const unsigned int actual, const char *desc)
 Check a 32-bit value.
void test_Show_Item (const test_Test_Descriptor *td_p, const char *name, const char *fmt, const char *str_param, const unsigned int int_param)
 Display an item of data.
int qmem_unit_test (void)
 The unit test entry point.
int main (void)
 The application entry point for the host version of the test.

Variables

test_Test_Descriptor QMEM_td
 Descriptor for the QMEM unit test.


Detailed Description

Unit test for the QMEM package.

**  CVS $Id: qmem_unit_test.c,v 1.2 2011/03/30 23:56:36 russell Exp $
**  

Function Documentation

int main ( void   ) 

The application entry point for the host version of the test.

Return values:
0 Success.
-1 Failure.

References qmem_unit_test().

int qmem_unit_test ( void   ) 

The unit test entry point.

Configures the test environment, runs the various subtests, collects the status values, and displays the results.

Return values:
0 Success.
-1 Failure.

References DIM, _test_Test_Descriptor::exec, _test_Test_Descriptor::fail, qmem_test_context(), qmem_test_ctb(), qmem_test_datagram(), qmem_test_start(), show_banner(), test_Generic_Error(), test_Pop_State(), and test_Push_State().

Referenced by main().

void show_at_level ( const int  level,
const char *  item_1,
const char *  item_2 
) [static]

Display text with indentation.

Display text with indentation appropriate for the specified test state level.

Parameters:
level Test state level.
item_1 First text string to display.
item_2 Second text string to display.
Returns:
Nothing.

Referenced by show_desc_stack(), test_Context_Compare(), test_Generic_Error(), test_Memory_Compare(), test_NULL_Compare(), test_Push_State(), test_Show(), test_Show_Context(), test_Show_Item(), test_Status_Compare(), and test_Value32_Compare().

void show_banner ( const char *  desc_1,
const char *  desc_2 
) [static]

Display a message as a banner.

Parameters:
desc_1 First text string to display.
desc_2 Second text string to display.
Returns:
Nothing.

Referenced by qmem_unit_test(), test_Pop_State(), and test_Push_State().

void show_desc_stack ( const test_Test_Descriptor td_p  )  [static]

Display the current state description stack.

Display all the state descriptions on the test's state stack.

Parameters:
td_p Pointer to test descriptor.
Returns:
Nothing.

References _test_Test_Descriptor::depth, _test_Test_Descriptor::desc, _test_Test_Descriptor::index, and show_at_level().

Referenced by test_Context_Compare(), test_Generic_Error(), test_Memory_Compare(), test_NULL_Compare(), test_Status_Compare(), and test_Value32_Compare().

void show_status_name ( const QMEM_Status  status  )  [static]

Display the name for a QMEM_Status value.

Parameters:
status QMEM_Status value to interpret.
Returns:
Nothing.

References QMEM_STATUS_BAD_CTB_LEN, QMEM_STATUS_BAD_CTX, QMEM_STATUS_BAD_DIR, QMEM_STATUS_BAD_HDR, QMEM_STATUS_BAD_TYPE, QMEM_STATUS_BAD_VER, QMEM_STATUS_INCOMPLETE, QMEM_STATUS_NULL_PTR, QMEM_STATUS_OK, QMEM_STATUS_SHORT, and QMEM_STATUS_TRUNCATED.

Referenced by test_Status_Compare().

int test_Context_Compare ( const test_Test_Descriptor td_p,
const Context exp_p,
const Context act_p,
const char *  desc 
)

Verify parsing context information.

Parameters:
td_p Pointer to test descriptor.
exp_p Pointer to expected information.
act_p Pointer to actual information.
desc Description of the information.
Return values:
0 Information is correct.
-1 Information is not correct.

References _test_Test_Descriptor::depth, show_at_level(), show_desc_stack(), and test_Show_Context().

Referenced by WRAP_get_context().

int test_Generic_Error ( const test_Test_Descriptor td_p,
const char *  fmt,
const char *  str_param,
const unsigned int  int_param 
)

Display a generic error message.

Parameters:
td_p Pointer to test descriptor.
fmt Format string to display.
str_param First parameter (string) for fmt string.
int_param Second parameter (uint) for fmt string.
Returns:
-1.

References _test_Test_Descriptor::depth, show_at_level(), and show_desc_stack().

Referenced by qmem_unit_test(), and WRAP_alloc_context().

int test_Memory_Compare ( const test_Test_Descriptor td_p,
const void *  expect_p,
const void *  actual_p,
const void *  mask_p,
const unsigned int  num_bytes 
)

Verify the contents of a buffer in memory.

This function verifies the contents of a memory buffer and reports an error if the values are not as expected. An optional mask can be used to indicate which bits should be verified.

Parameters:
td_p Pointer to test descriptor.
expect_p Pointer to a memory buffer with the expected values.
actual_p Pointer to the memory buffer to verify.
mask_p Pointer to a memory buffer of mask values.
num_bytes Number of bytes to verify within the buffer.
Return values:
0 Buffer values are correct.
-1 One or more values within the buffer are incorrect.

References _test_Test_Descriptor::depth, show_at_level(), and show_desc_stack().

Referenced by WRAP_get_context().

int test_NULL_Compare ( const test_Test_Descriptor td_p,
const void *  actual,
const char *  desc 
)

Check a 32-bit value to make sure it is not NULL.

Parameters:
td_p Pointer to test descriptor.
actual Actual value.
desc Description of the value.
Return values:
0 Actual value != NULL.
-1 Actual value == NULL.

References _test_Test_Descriptor::depth, show_at_level(), and show_desc_stack().

Referenced by WRAP_alloc_context().

void test_Pop_State ( test_Test_Descriptor td_p  ) 

Return for a test state.

Pop a test state description from a test's state stack.

Parameters:
td_p Pointer to test descriptor.
Returns:
Nothing.

References _test_Test_Descriptor::depth, _test_Test_Descriptor::desc, and show_banner().

Referenced by qmem_test_context(), qmem_test_ctb(), qmem_test_datagram(), qmem_test_start(), qmem_unit_test(), WRAP_alloc_context(), WRAP_get_context(), WRAP_init_context(), WRAP_parse_contribution(), WRAP_parse_datagram(), and WRAP_start_parsing().

void test_Push_State ( test_Test_Descriptor td_p,
const char *  desc,
const int  index 
)

Enter a new test state.

Push a new test state description onto a test's state stack. This state stack provides a trace of the execution of the test.

Parameters:
td_p Pointer to test descriptor.
desc Description of the new state.
index Generic index value.
Returns:
Nothing.

References _test_Test_Descriptor::depth, _test_Test_Descriptor::desc, DIM, _test_Test_Descriptor::index, show_at_level(), and show_banner().

Referenced by qmem_test_context(), qmem_test_ctb(), qmem_test_datagram(), qmem_test_start(), qmem_unit_test(), WRAP_alloc_context(), WRAP_get_context(), WRAP_init_context(), WRAP_parse_contribution(), WRAP_parse_datagram(), and WRAP_start_parsing().

void test_Show ( const test_Test_Descriptor td_p,
const int  level,
const char *  item_1,
const char *  item_2 
)

Display text with indentation.

Display text with indentation appropriate for the specified level.

Parameters:
td_p Pointer to test descriptor.
level Indentation level.
item_1 First text string to display.
item_2 Second text string to display.
Returns:
Nothing.

References show_at_level().

void test_Show_Context ( const test_Test_Descriptor td_p,
const Context exp_p,
const Context act_p 
)

Display QMEM parsing context.

Parameters:
td_p Pointer to test descriptor.
exp_p Pointer to expected information.
act_p Pointer to actual information.
Returns:
Nothing.

References _Context::bytes_available, _Context::bytes_dumped, _Context::cmd_fcode, _Context::data_buf, _test_Test_Descriptor::depth, _Context::lat_unit, _Context::num_datagrams, show_at_level(), _Context::start_addr, _Context::status, and _Context::tran_id.

Referenced by test_Context_Compare().

void test_Show_Item ( const test_Test_Descriptor td_p,
const char *  name,
const char *  fmt,
const char *  str_param,
const unsigned int  int_param 
)

Display an item of data.

This function displays an item of data in a predefined format.

Parameters:
td_p Pointer to test descriptor.
name Name of the item.
fmt Format string to display the item's value.
str_param First parameter (string) for fmt string.
int_param Second parameter (uint) for fmt string.
Returns:
Nothing.

References _test_Test_Descriptor::depth, and show_at_level().

int test_Status_Compare ( const test_Test_Descriptor td_p,
const QMEM_Status  expect,
const QMEM_Status  actual,
const char *  func 
)

Check a QMEM_Status value.

Compare actual and expected QMEM_Status values and display a message if they differ.

Parameters:
td_p Pointer to test descriptor.
expect Expected value.
actual Actual value.
func Name of the function that returned the status.
Return values:
0 Actual value == Expected value
-1 Actual value != Expected value.

References _test_Test_Descriptor::depth, show_at_level(), show_desc_stack(), and show_status_name().

Referenced by WRAP_init_context(), WRAP_parse_contribution(), WRAP_parse_datagram(), and WRAP_start_parsing().

int test_Value32_Compare ( const test_Test_Descriptor td_p,
const unsigned int  expect,
const unsigned int  actual,
const char *  desc 
)

Check a 32-bit value.

Compare actual and expected 32-bit values and display a message if they differ.

Parameters:
td_p Pointer to test descriptor.
expect Expected value.
actual Actual value.
desc Description of the value.
Return values:
0 Actual value == Expected value
-1 Actual value != Expected value.

References _test_Test_Descriptor::depth, show_at_level(), and show_desc_stack().


Generated on Tue Nov 29 17:31:41 2011 by  doxygen 1.5.8