[asterisk-commits] rmudgett: trunk r403726 - in /trunk: include/asterisk/ main/ tests/
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Thu Dec 12 18:40:55 CST 2013
Author: rmudgett
Date: Thu Dec 12 18:40:49 2013
New Revision: 403726
URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=403726
Log:
test_voicemail_api: Add check for a registered voicemail provider before tests.
It is much nicer diagnosing a test failure if app_voicemail is actually
loaded.
Modified:
trunk/include/asterisk/app.h
trunk/main/app.c
trunk/tests/test_voicemail_api.c
Modified: trunk/include/asterisk/app.h
URL: http://svnview.digium.com/svn/asterisk/trunk/include/asterisk/app.h?view=diff&rev=403726&r1=403725&r2=403726
==============================================================================
--- trunk/include/asterisk/app.h (original)
+++ trunk/include/asterisk/app.h Thu Dec 12 18:40:49 2013
@@ -568,6 +568,15 @@
};
/*!
+ * \brief Determine if a voicemail provider is registered.
+ * \since 13.0.0
+ *
+ * \retval 0 if no privider registered.
+ * \retval 1 if a privider is registered.
+ */
+int ast_vm_is_registered(void);
+
+/*!
* \brief Set voicemail function callbacks
*
* \param vm_table Voicemail function table to install.
Modified: trunk/main/app.c
URL: http://svnview.digium.com/svn/asterisk/trunk/main/app.c?view=diff&rev=403726&r1=403725&r2=403726
==============================================================================
--- trunk/main/app.c (original)
+++ trunk/main/app.c Thu Dec 12 18:40:49 2013
@@ -431,6 +431,17 @@
/*! Voicemail not registered warning */
static int vm_warnings;
+
+int ast_vm_is_registered(void)
+{
+ struct ast_vm_functions *table;
+ int is_registered;
+
+ table = ao2_global_obj_ref(vm_provider);
+ is_registered = table ? 1 : 0;
+ ao2_cleanup(table);
+ return is_registered;
+}
int __ast_vm_register(const struct ast_vm_functions *vm_table, struct ast_module *module)
{
Modified: trunk/tests/test_voicemail_api.c
URL: http://svnview.digium.com/svn/asterisk/trunk/tests/test_voicemail_api.c?view=diff&rev=403726&r1=403725&r2=403726
==============================================================================
--- trunk/tests/test_voicemail_api.c (original)
+++ trunk/tests/test_voicemail_api.c Thu Dec 12 18:40:49 2013
@@ -72,7 +72,10 @@
* envelope files on the file system
*/
#define VM_API_TEST_SETUP do { \
- if (test_vm_api_test_setup()) { \
+ if (!ast_vm_is_registered()) { \
+ ast_test_status_update(test, "No voicemail provider registered.\n"); \
+ return AST_TEST_FAIL; \
+ } else if (test_vm_api_test_setup()) { \
VM_API_TEST_CLEANUP; \
ast_test_status_update(test, "Failed to set up necessary mock objects for voicemail API test\n"); \
return AST_TEST_FAIL; \
More information about the asterisk-commits
mailing list