libamxp  1.4.0
Patterns C Implementation
test_siginfo_variant.c File Reference
#include <sys/time.h>
#include <sys/resource.h>
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
#include <stdarg.h>
#include <stddef.h>
#include <setjmp.h>
#include <inttypes.h>
#include <limits.h>
#include <unistd.h>
#include <fcntl.h>
#include <cmocka.h>
#include <amxc/amxc_variant_type.h>
#include <amxp/variant_siginfo.h>
#include <amxp_signal_priv.h>
#include "test_siginfo_variant.h"
#include <amxc/amxc_macros.h>

Go to the source code of this file.

Functions

void test_var_siginfo_new (UNUSED void **state)
 
void test_var_siginfo_delete (UNUSED void **state)
 
void test_var_siginfo_set_copy (UNUSED void **state)
 

Function Documentation

◆ test_var_siginfo_delete()

void test_var_siginfo_delete ( UNUSED void **  state)

Definition at line 93 of file test_siginfo_variant.c.

93  {
94  amxc_var_t var;
95 
96  amxc_var_init(&var);
97  assert_int_equal(amxc_var_set_type(&var, AMXC_VAR_ID_SIGINFO), 0);
98  assert_ptr_not_equal(var.data.data, NULL);
99  amxc_var_clean(&var);
100  assert_ptr_equal(var.data.data, NULL);
101 }
#define AMXC_VAR_ID_SIGINFO

◆ test_var_siginfo_new()

void test_var_siginfo_new ( UNUSED void **  state)

Definition at line 77 of file test_siginfo_variant.c.

77  {
78  amxc_var_t var;
79  const amxp_siginfo_t* siginfo = NULL;
80 
81  amxc_var_init(&var);
82  assert_int_equal(amxc_var_set_type(&var, AMXC_VAR_ID_SIGINFO), 0);
83  assert_int_equal(amxc_var_type_of(&var), AMXC_VAR_ID_SIGINFO);
84  assert_string_equal(amxc_var_type_name_of(&var), AMXC_VAR_NAME_SIGINFO);
85 
86  assert_ptr_not_equal(var.data.data, NULL);
87  siginfo = amxc_var_constcast(amxp_siginfo_t, &var);
88  assert_ptr_not_equal(siginfo, NULL);
89 
90  amxc_var_clean(&var);
91 }
struct signalfd_siginfo amxp_siginfo_t
#define AMXC_VAR_NAME_SIGINFO

◆ test_var_siginfo_set_copy()

void test_var_siginfo_set_copy ( UNUSED void **  state)

Definition at line 103 of file test_siginfo_variant.c.

103  {
104  amxc_var_t var;
105  amxc_var_t var_copy;
106  amxp_siginfo_t siginfo = {
107  .ssi_signo = SIGCHLD,
108  .ssi_errno = 0,
109  .ssi_code = 123,
110  .ssi_pid = 5012,
111  .ssi_uid = 100
112  };
113  const amxp_siginfo_t* copy = NULL;
114 
115  amxc_var_init(&var);
116  amxc_var_init(&var_copy);
117  assert_int_not_equal(amxc_var_set(amxp_siginfo_t, NULL, &siginfo), 0);
118  assert_int_not_equal(amxc_var_set(amxp_siginfo_t, &var, NULL), 0);
119  assert_int_equal(amxc_var_set(amxp_siginfo_t, &var, &siginfo), 0);
120  assert_ptr_not_equal(var.data.data, NULL);
121  assert_ptr_not_equal(var.data.data, &siginfo);
122 
123  copy = amxc_var_constcast(amxp_siginfo_t, &var_copy);
124  assert_ptr_equal(copy, NULL);
125 
126  assert_int_equal(amxc_var_copy(&var_copy, &var), 0);
127  assert_ptr_not_equal(var_copy.data.data, NULL);
128 
129  copy = amxc_var_constcast(amxp_siginfo_t, NULL);
130  assert_ptr_equal(copy, NULL);
131  copy = amxc_var_constcast(amxp_siginfo_t, &var_copy);
132  assert_ptr_not_equal(copy, NULL);
133  assert_int_equal(copy->ssi_signo, siginfo.ssi_signo);
134  assert_int_equal(copy->ssi_errno, siginfo.ssi_errno);
135  assert_int_equal(copy->ssi_code, siginfo.ssi_code);
136  assert_int_equal(copy->ssi_pid, siginfo.ssi_pid);
137  assert_int_equal(copy->ssi_uid, siginfo.ssi_uid);
138 
139  amxc_var_clean(&var);
140  amxc_var_clean(&var_copy);
141 }