libamxc  1.10.3
C Generic Data Containers
test_amxc_variant_dump.h File Reference

Go to the source code of this file.

Functions

int test_amxc_variant_dump_testsetup (void **state)
 
int test_amxc_variant_dump_testteardown (void **state)
 
void test_amxc_variant_dump (void **state)
 
void test_amxc_variant_dump2 (void **state)
 
void test_amxc_variant_log (void **state)
 
void test_amxc_variant_dump_null (void **state)
 
void test_amxc_variant_dump2_null (void **state)
 
void test_amxc_variant_log_null (void **state)
 
void test_amxc_variant_dump_list_comma_position (void **state)
 
void test_amxc_variant_dump_htable_comma_position (void **state)
 

Function Documentation

◆ test_amxc_variant_dump()

void test_amxc_variant_dump ( void **  state)

◆ test_amxc_variant_dump2()

void test_amxc_variant_dump2 ( void **  state)

◆ test_amxc_variant_dump2_null()

void test_amxc_variant_dump2_null ( void **  state)

◆ test_amxc_variant_dump_htable_comma_position()

void test_amxc_variant_dump_htable_comma_position ( void **  state)

Definition at line 308 of file test_amxc_variant_dump.c.

308  {
309  amxc_var_t myvar;
310  teststate_t* teststate = *state;
311  int status = -1;
312 
313  // GIVEN a variant containing a hashtable
314  amxc_var_init(&myvar);
316  amxc_var_add_key(cstring_t, &myvar, "key1", "text1");
317  amxc_var_add_key(cstring_t, &myvar, "key2", "text2");
318  amxc_var_add_key(int32_t, &myvar, "key3", 3);
319  amxc_var_add_key(bool, &myvar, "key4", true);
320 
321  // WHEN serializing it
322  status = amxc_var_dump(&myvar, teststate->fd);
323 
324  // THEN the element without trailing comma is the last in the in the serialization output
325  // (not the last in hashtable internal order).
326  assert_int_equal(0, status);
327  assert_string_equal(teststate->buffer,
328  "{\n"
329  " key1 = \"text1\",\n"
330  " key2 = \"text2\",\n"
331  " key3 = 3,\n"
332  " key4 = true\n"
333  "}\n");
334 
335  amxc_var_clean(&myvar);
336 }
#define cstring_t
Convenience macro.
Definition: amxc_variant.h:584
#define AMXC_VAR_ID_HTABLE
Ambiorix Hash Table variant id.
Definition: amxc_variant.h:212
int amxc_var_dump(const amxc_var_t *const var, int fd)
Dumps the content of the variant in a human readable manner.
#define amxc_var_add_key(type, var, key, data)
Convenience macro for adding a variant to composite variant type.
Definition: amxc_variant.h:627
int amxc_var_set_type(amxc_var_t *const var, const uint32_t type)
Change the variant data type.
Definition: amxc_variant.c:261
int amxc_var_init(amxc_var_t *const var)
Initializes a variant.
Definition: amxc_variant.c:223
void amxc_var_clean(amxc_var_t *const var)
Clean-up and reset variant.
Definition: amxc_variant.c:237
The variant struct definition.
Definition: amxc_variant.h:861

◆ test_amxc_variant_dump_list_comma_position()

void test_amxc_variant_dump_list_comma_position ( void **  state)

Definition at line 278 of file test_amxc_variant_dump.c.

278  {
279  amxc_var_t myvar;
280  teststate_t* teststate = *state;
281  int status = -1;
282 
283  // GIVEN a variant containing a list
284  amxc_var_init(&myvar);
286  amxc_var_add(cstring_t, &myvar, "text1");
287  amxc_var_add(cstring_t, &myvar, "text2");
288  amxc_var_add(int32_t, &myvar, 3);
289  amxc_var_add(bool, &myvar, true);
290 
291  // WHEN serializing it
292  status = amxc_var_dump(&myvar, teststate->fd);
293 
294  // THEN in the serialization output, commas are inbetween the elements
295  // and not after the last element
296  assert_int_equal(0, status);
297  assert_string_equal(teststate->buffer,
298  "[\n"
299  " \"text1\",\n"
300  " \"text2\",\n"
301  " 3,\n"
302  " true\n"
303  "]\n");
304 
305  amxc_var_clean(&myvar);
306 }
#define AMXC_VAR_ID_LIST
Ambiorix Linked List variant id.
Definition: amxc_variant.h:206
#define amxc_var_add(type, var, data)
Convenience macro for adding a variant to composite variant type.
Definition: amxc_variant.h:618

◆ test_amxc_variant_dump_null()

void test_amxc_variant_dump_null ( void **  state)

◆ test_amxc_variant_dump_testsetup()

int test_amxc_variant_dump_testsetup ( void **  state)

Definition at line 93 of file test_amxc_variant_dump.c.

93  {
94  teststate_t* teststate = calloc(1, sizeof(teststate_t));
95  assert_non_null(teststate);
96 
97  teststate->fd = shm_open("/test_amxc_variant_dump", O_CREAT | O_TRUNC | O_RDWR, S_IRUSR | S_IWUSR);
98  assert_int_not_equal(teststate->fd, -1);
99  assert_int_not_equal(-1, ftruncate(teststate->fd, 1024));
100  teststate->buffer = mmap(NULL, 1024, PROT_READ | PROT_WRITE, MAP_SHARED, teststate->fd, 0);
101  assert_non_null(teststate->buffer);
102 
103  *state = teststate;
104  return 0;
105 }

◆ test_amxc_variant_dump_testteardown()

int test_amxc_variant_dump_testteardown ( void **  state)

Definition at line 108 of file test_amxc_variant_dump.c.

108  {
109  assert_non_null(state);
110  shm_unlink("/test_amxc_variant_dump");
111  free(*state);
112  *state = NULL;
113  return 0;
114 }

◆ test_amxc_variant_log()

void test_amxc_variant_log ( void **  state)

◆ test_amxc_variant_log_null()

void test_amxc_variant_log_null ( void **  state)