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

Channel features unit tests. More...

#include "asterisk.h"
#include "asterisk/module.h"
#include "asterisk/test.h"
#include "asterisk/channel.h"
#include "asterisk/time.h"
#include "asterisk/bridge.h"
#include "asterisk/bridge_basic.h"
#include "asterisk/features.h"
#include "asterisk/format_cache.h"

Go to the source code of this file.

Macros

#define CHANNEL_TECH_NAME   "FeaturesTestChannel"
 
#define HANGUP_CHANNEL(channel)
 Hang up a test channel safely.
 
#define START_ALICE(channel)   START_CHANNEL(channel, "Alice", "100")
 Create a test_features_chan_tech for Alice.
 
#define START_BOB(channel)   START_CHANNEL(channel, "Bob", "200")
 Create a test_features_chan_tech for Bob.
 
#define START_CHANNEL(channel, name, number)
 
#define TEST_BACKEND_NAME   "Features Test Logging"
 
#define TEST_CATEGORY   "/channels/features/"
 
#define TEST_CHANNEL_FORMAT   ast_format_slin
 

Functions

static void __reg_module (void)
 
static void __unreg_module (void)
 
struct ast_moduleAST_MODULE_SELF_SYM (void)
 
 AST_TEST_DEFINE (test_features_channel_dtmf)
 
 AST_TEST_DEFINE (test_features_channel_interval)
 
static int feature_callback (struct ast_bridge_channel *bridge_channel, void *obj)
 
static int load_module (void)
 
static void safe_bridge_destroy (struct ast_bridge *bridge)
 
static void safe_channel_release (struct ast_channel *chan)
 
static void stream_periodic_frames (struct ast_channel *chan, int ms, int interval_ms)
 
static void test_nanosleep (int secs, long nanosecs)
 
static int unload_module (void)
 
static void wait_for_bridged (struct ast_channel *channel)
 Wait until a channel is bridged.
 
static void wait_for_unbridged (struct ast_channel *channel)
 Wait until a channel is not bridged.
 

Variables

static struct ast_module_info __mod_info = { .name = AST_MODULE, .flags = AST_MODFLAG_LOAD_ORDER , .description = "Bridge Features 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 struct ast_channel_tech test_features_chan_tech
 A channel technology used for the unit tests. More...
 

Detailed Description

Channel features unit tests.

Author
Kinsey Moore kmoor.nosp@m.e@di.nosp@m.gium..nosp@m.com

Definition in file test_channel_feature_hooks.c.

Variable Documentation

struct ast_channel_tech test_features_chan_tech
static
Initial value:
= {
.type = CHANNEL_TECH_NAME,
.description = "Mock channel technology for Features tests",
}

A channel technology used for the unit tests.

Definition at line 52 of file test_channel_feature_hooks.c.