Skip to content
Snippets Groups Projects
  • Corey Farrell's avatar
    a6e5bae3
    Remove ASTERISK_REGISTER_FILE. · a6e5bae3
    Corey Farrell authored
    ASTERISK_REGISTER_FILE no longer has any purpose so this commit removes
    all traces of it.
    
    Previously exported symbols removed:
    * __ast_register_file
    * __ast_unregister_file
    * ast_complete_source_filename
    
    This also removes the mtx_prof static variable that was declared when
    MTX_PROFILE was enabled.  This variable was only used in lock.c so it
    is now initialized in that file only.
    
    ASTERISK-26480 #close
    
    Change-Id: I1074af07d71f9e159c48ef36631aa432c86f9966
    a6e5bae3
    History
    Remove ASTERISK_REGISTER_FILE.
    Corey Farrell authored
    ASTERISK_REGISTER_FILE no longer has any purpose so this commit removes
    all traces of it.
    
    Previously exported symbols removed:
    * __ast_register_file
    * __ast_unregister_file
    * ast_complete_source_filename
    
    This also removes the mtx_prof static variable that was declared when
    MTX_PROFILE was enabled.  This variable was only used in lock.c so it
    is now initialized in that file only.
    
    ASTERISK-26480 #close
    
    Change-Id: I1074af07d71f9e159c48ef36631aa432c86f9966
test_app.c 7.49 KiB
/*
 * Asterisk -- An open source telephony toolkit.
 *
 * Copyright (C) 2010, Digium, Inc.
 *
 * Jeff Peeler <jpeeler@digium.com>
 *
 * See http://www.asterisk.org for more information about
 * the Asterisk project. Please do not directly contact
 * any of the maintainers of this project for assistance;
 * the project provides a web site, mailing lists and IRC
 * channels for your use.
 *
 * This program is free software, distributed under the terms of
 * the GNU General Public License Version 2. See the LICENSE file
 * at the top of the source tree.
 */

/*!
 * \file
 * \brief App unit test
 *
 * \author Jeff Peeler <jpeeler@digium.com>
 *
 */

/*** MODULEINFO
	<depend>TEST_FRAMEWORK</depend>
	<support_level>core</support_level>
 ***/

#include "asterisk.h"

#include "asterisk/utils.h"
#include "asterisk/module.h"
#include "asterisk/test.h"
#include "asterisk/app.h"
#include "asterisk/channel.h"

#define BASE_GROUP "a group"

AST_TEST_DEFINE(options_parsing)
{
	enum test_option_flags {
		OPT_SIMPLE,
		OPT_WITHQUOTES,
		OPT_WITHBACKSLASH,
	};
	enum test_option_args {
		OPT_ARG_SIMPLE,
		OPT_ARG_WITHQUOTES,
		OPT_ARG_WITHBACKSLASH,
		OPT_ARG_ARRAY_SIZE,
	};
	AST_APP_OPTIONS(test_options, {
		AST_APP_OPTION_ARG('a', OPT_SIMPLE,        OPT_ARG_SIMPLE),
		AST_APP_OPTION_ARG('b', OPT_WITHQUOTES,    OPT_ARG_WITHQUOTES),
		AST_APP_OPTION_ARG('c', OPT_WITHBACKSLASH, OPT_ARG_WITHBACKSLASH),
	});
	struct ast_flags opts = { 0, };
	struct ast_flags64 opts64 = { 0, };
	char *opt_args[OPT_ARG_ARRAY_SIZE];
	struct {
		const char *string;
		const char *parse[3];
	} options[] = {
		{ "a(simple)b(\"quoted\")c(back\\slash)", { "simple", "quoted", "backslash", }, },
		{ "b(\"((())))\")a(simple)c(back\\)slash)", { "simple", "((())))", "back)slash", }, },
		{ "b(\"((\\\"\\)\\(\")a(simple)c(back\\\"\\)\\(\\\"slash)", { "simple", "((\"\\)\\(", "back\")(\"slash", }, },
	};