diff options
Diffstat (limited to 'res')
-rw-r--r-- | res/res_pjsip_pubsub.c | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/res/res_pjsip_pubsub.c b/res/res_pjsip_pubsub.c index c9e8834c6..f9b64f85f 100644 --- a/res/res_pjsip_pubsub.c +++ b/res/res_pjsip_pubsub.c @@ -3527,6 +3527,31 @@ static void test_resource_tree_destroy(struct resource_tree *tree) ast_free(tree); } +static int ineligible_configuration(void) +{ + struct ast_config *config; + struct ast_flags flags = {0,}; + const char *value; + + config = ast_config_load("sorcery.conf", flags); + if (!config) { + return 1; + } + + value = ast_variable_retrieve(config, "res_pjsip_pubsub", "resource_list"); + if (ast_strlen_zero(value)) { + ast_config_destroy(config); + return 1; + } + + if (strcasecmp(value, "memory") && strcasecmp(value, "astdb")) { + ast_config_destroy(config); + return 1; + } + + return 0; +} + AST_TEST_DEFINE(resource_tree) { RAII_VAR(struct resource_list *, list, NULL, cleanup_resource_list); @@ -3550,6 +3575,12 @@ AST_TEST_DEFINE(resource_tree) break; } + if (ineligible_configuration()) { + ast_test_status_update(test, "Ineligible configuration for this test. Please add a " + "'res_pjsip_pubsub' section to sorcery.conf, and set 'resource_list=memory'\n"); + return AST_TEST_NOT_RUN; + } + list = create_resource_list(test, "foo", "test", resources, ARRAY_LEN(resources)); if (!list) { return AST_TEST_FAIL; @@ -3609,6 +3640,12 @@ AST_TEST_DEFINE(complex_resource_tree) break; } + if (ineligible_configuration()) { + ast_test_status_update(test, "Ineligible configuration for this test. Please add a " + "'res_pjsip_pubsub' section to sorcery.conf, and set 'resource_list=memory'\n"); + return AST_TEST_NOT_RUN; + } + list_1 = create_resource_list(test, "foo", "test", resources_1, ARRAY_LEN(resources_1)); if (!list_1) { return AST_TEST_FAIL; @@ -3669,6 +3706,12 @@ AST_TEST_DEFINE(bad_resource) break; } + if (ineligible_configuration()) { + ast_test_status_update(test, "Ineligible configuration for this test. Please add a " + "'res_pjsip_pubsub' section to sorcery.conf, and set 'resource_list=memory'\n"); + return AST_TEST_NOT_RUN; + } + list = create_resource_list(test, "foo", "test", resources, ARRAY_LEN(resources)); if (!list) { return AST_TEST_FAIL; @@ -3728,6 +3771,12 @@ AST_TEST_DEFINE(bad_branch) break; } + if (ineligible_configuration()) { + ast_test_status_update(test, "Ineligible configuration for this test. Please add a " + "'res_pjsip_pubsub' section to sorcery.conf, and set 'resource_list=memory'\n"); + return AST_TEST_NOT_RUN; + } + list_1 = create_resource_list(test, "foo", "test", resources_1, ARRAY_LEN(resources_1)); if (!list_1) { return AST_TEST_FAIL; @@ -3794,6 +3843,12 @@ AST_TEST_DEFINE(duplicate_resource) break; } + if (ineligible_configuration()) { + ast_test_status_update(test, "Ineligible configuration for this test. Please add a " + "'res_pjsip_pubsub' section to sorcery.conf, and set 'resource_list=memory'\n"); + return AST_TEST_NOT_RUN; + } + list_1 = create_resource_list(test, "foo", "test", resources_1, ARRAY_LEN(resources_1)); if (!list_1) { return AST_TEST_FAIL; @@ -3861,6 +3916,12 @@ AST_TEST_DEFINE(loop) break; } + if (ineligible_configuration()) { + ast_test_status_update(test, "Ineligible configuration for this test. Please add a " + "'res_pjsip_pubsub' section to sorcery.conf, and set 'resource_list=memory'\n"); + return AST_TEST_NOT_RUN; + } + list_1 = create_resource_list(test, "herp", "test", resources_1, ARRAY_LEN(resources_1)); if (!list_1) { return AST_TEST_FAIL; @@ -3903,6 +3964,12 @@ AST_TEST_DEFINE(bad_event) break; } + if (ineligible_configuration()) { + ast_test_status_update(test, "Ineligible configuration for this test. Please add a " + "'res_pjsip_pubsub' section to sorcery.conf, and set 'resource_list=memory'\n"); + return AST_TEST_NOT_RUN; + } + list = create_resource_list(test, "foo", "tsetse", resources, ARRAY_LEN(resources)); if (!list) { return AST_TEST_FAIL; |