Asterisk - The Open Source Telephony Project  21.4.1
Data Structures | Macros | Functions | Variables
test_astobj2_weaken.c File Reference

astobj2 weakproxy test module More...

#include "asterisk.h"
#include "asterisk/utils.h"
#include "asterisk/module.h"
#include "asterisk/test.h"
#include "asterisk/astobj2.h"

Go to the source code of this file.

Data Structures

struct  my_weakproxy
 
struct  strong_str
 
struct  weakproxy_str
 

Macros

#define ITERATOR_CHECK_NEXT(iter, var, expected)
 
#define WEAKFIND_CHECK(c, key, var, expected)
 

Functions

static void __reg_module (void)
 
static void __unreg_module (void)
 
static struct strong_stralloc_str (struct ao2_container *weakcontainer, const char *value)
 
 AO2_STRING_FIELD_CMP_FN (weakproxy_str, value)
 
 AO2_STRING_FIELD_HASH_FN (weakproxy_str, value)
 
 AO2_STRING_FIELD_SORT_FN (strong_str, value)
 
struct ast_moduleAST_MODULE_SELF_SYM (void)
 
 AST_TEST_DEFINE (astobj2_weak1)
 
 AST_TEST_DEFINE (astobj2_weak_container)
 
static int load_module (void)
 
static void test_obj_destroy_notify (void *obj, void *data)
 
static void test_obj_destructor (void *obj)
 
static int unload_module (void)
 
static void weakproxy_destructor (void *obj)
 

Variables

static struct ast_module_info __mod_info = { .name = AST_MODULE, .flags = AST_MODFLAG_LOAD_ORDER , .description = "ASTOBJ2 Weak Reference Unit Tests" , .key = "This paragraph is copyright (c) 2006 by Digium, Inc. \In order for your module to load, it must return this \key via a function called \"key\". Any code which \includes this paragraph must be licensed under the GNU \General Public License version 2 or later (at your \option). In addition to Digium's general reservations \of rights, Digium expressly reserves the right to \allow other parties to license this paragraph under \different terms. Any use of Digium, Inc. trademarks or \logos (including \"Asterisk\" or \"Digium\") without \express written permission of Digium, Inc. is prohibited.\n" , .buildopt_sum = AST_BUILDOPT_SUM, .load = load_module, .unload = unload_module, .load_pri = AST_MODPRI_DEFAULT, .support_level = AST_MODULE_SUPPORT_CORE, }
 
static const struct ast_module_infoast_module_info = &__mod_info
 
static int destructor_called
 
static int weakproxydestroyed
 

Detailed Description

astobj2 weakproxy test module

Author
Corey Farrell git@c.nosp@m.fwar.nosp@m.e.com

Definition in file test_astobj2_weaken.c.

Macro Definition Documentation

#define ITERATOR_CHECK_NEXT (   iter,
  var,
  expected 
)
Value:
do { \
var = ao2_iterator_next(iter); \
ast_test_validate_cleanup(test, var == expected, ret, cleanup); \
ao2_cleanup(var); \
} while (0)
static void cleanup(void)
Clean up any old apps that we don't need any more.
Definition: res_stasis.c:327

Definition at line 308 of file test_astobj2_weaken.c.

#define WEAKFIND_CHECK (   c,
  key,
  var,
  expected 
)
Value:
do { \
var = ao2_weakproxy_find(c, key, OBJ_SEARCH_KEY, ""); \
ast_test_validate_cleanup(test, var == expected, ret, cleanup); \
ao2_cleanup(var); \
} while (0)
The arg parameter is a search key, but is not an object.
Definition: astobj2.h:1101
static void cleanup(void)
Clean up any old apps that we don't need any more.
Definition: res_stasis.c:327
#define ao2_weakproxy_find(c, arg, flags, tag)
Perform an ao2_find on a container with ao2_weakproxy objects, returning the real object...
Definition: astobj2.h:1748

Definition at line 315 of file test_astobj2_weaken.c.