From 356b770632d34d6e64792bfc0427f4aec1676180 Mon Sep 17 00:00:00 2001 From: Matthew Jordan <mjordan@digium.com> Date: Sat, 11 Apr 2015 15:27:08 +0000 Subject: [PATCH] clang compiler warnings: Fix various warnings for tests This patch fixes a variety of clang compiler warnings for unit tests. This includes autological comparison issues, ignored return values, and interestingly enough, one embedded function. Fun! Review: https://reviewboard.asterisk.org/r/4555 ASTERISK-24917 Reported by: dkdegroot patches: rb4555.patch submitted by dkdegroot (License 6600) ........ Merged revisions 434705 from http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged revisions 434706 from http://svn.asterisk.org/svn/asterisk/branches/13 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@434707 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- tests/test_acl.c | 45 ++++++++++++++++++++------------------- tests/test_sched.c | 2 +- tests/test_stringfields.c | 2 +- tests/test_strings.c | 5 ++++- 4 files changed, 29 insertions(+), 25 deletions(-) diff --git a/tests/test_acl.c b/tests/test_acl.c index be9866c0cf..c7a711fe3b 100644 --- a/tests/test_acl.c +++ b/tests/test_acl.c @@ -122,6 +122,22 @@ struct acl { #define TACL_A AST_SENSE_ALLOW #define TACL_D AST_SENSE_DENY +static int build_ha(const struct acl *acl, size_t len, struct ast_ha **ha, const char *acl_name, int *err, struct ast_test *test, enum ast_test_result_state *res) +{ + size_t i; + + for (i = 0; i < len; ++i) { + if (!(*ha = ast_append_ha(acl[i].access, acl[i].host, *ha, err))) { + ast_test_status_update(test, "Failed to add rule %s with access %s to %s\n", + acl[i].host, acl[i].access, acl_name); + *res = AST_TEST_FAIL; + return -1; + } + } + + return 0; +} + AST_TEST_DEFINE(acl) { struct acl permitallv4 = { "0.0.0.0/0", "permit" }; @@ -211,21 +227,6 @@ AST_TEST_DEFINE(acl) int err = 0; int i; - auto int build_ha(const struct acl *acl, size_t len, struct ast_ha **ha, const char *acl_name); - auto int build_ha(const struct acl *acl, size_t len, struct ast_ha **ha, const char *acl_name) { - size_t i; - - for (i = 0; i < len; ++i) { - if (!(*ha = ast_append_ha(acl[i].access, acl[i].host, *ha, &err))) { - ast_test_status_update(test, "Failed to add rule %s with access %s to %s\n", - acl[i].host, acl[i].access, acl_name); - res = AST_TEST_FAIL; - return -1; - } - } - - return 0; - } switch (cmd) { case TEST_INIT: @@ -263,31 +264,31 @@ AST_TEST_DEFINE(acl) goto acl_cleanup; } - if (build_ha(acl1, ARRAY_LEN(acl1), &ha1, "ha1") != 0) { + if (build_ha(acl1, ARRAY_LEN(acl1), &ha1, "ha1", &err, test, &res) != 0) { goto acl_cleanup; } - if (build_ha(acl2, ARRAY_LEN(acl2), &ha2, "ha2") != 0) { + if (build_ha(acl2, ARRAY_LEN(acl2), &ha2, "ha2", &err, test, &res) != 0) { goto acl_cleanup; } - if (build_ha(acl3, ARRAY_LEN(acl3), &ha3, "ha3") != 0) { + if (build_ha(acl3, ARRAY_LEN(acl3), &ha3, "ha3", &err, test, &res) != 0) { goto acl_cleanup; } - if (build_ha(acl4, ARRAY_LEN(acl4), &ha4, "ha4") != 0) { + if (build_ha(acl4, ARRAY_LEN(acl4), &ha4, "ha4", &err, test, &res) != 0) { goto acl_cleanup; } - if (build_ha(acl5, ARRAY_LEN(acl5), &ha5, "ha5") != 0) { + if (build_ha(acl5, ARRAY_LEN(acl5), &ha5, "ha5", &err, test, &res) != 0) { goto acl_cleanup; } - if (build_ha(acl6, ARRAY_LEN(acl6), &ha6, "ha6") != 0) { + if (build_ha(acl6, ARRAY_LEN(acl6), &ha6, "ha6", &err, test, &res) != 0) { goto acl_cleanup; } - if (build_ha(acl7, ARRAY_LEN(acl7), &ha7, "ha7") != 0) { + if (build_ha(acl7, ARRAY_LEN(acl7), &ha7, "ha7", &err, test, &res) != 0) { goto acl_cleanup; } diff --git a/tests/test_sched.c b/tests/test_sched.c index 87b09189f1..5ad2f5dde5 100644 --- a/tests/test_sched.c +++ b/tests/test_sched.c @@ -202,7 +202,7 @@ static char *handle_cli_sched_bench(struct ast_cli_entry *e, int cmd, struct ast start = ast_tvnow(); for (i = 0; i < num; i++) { - int when = abs(ast_random()) % 60000; + long when = labs(ast_random()) % 60000; if ((sched_ids[i] = ast_sched_add(con, when, sched_cb, NULL)) == -1) { ast_cli(a->fd, "Test failed - sched_add returned -1\n"); goto return_cleanup; diff --git a/tests/test_stringfields.c b/tests/test_stringfields.c index 712348064f..2eeb83d45f 100644 --- a/tests/test_stringfields.c +++ b/tests/test_stringfields.c @@ -212,7 +212,7 @@ AST_TEST_DEFINE(string_field_test) } if (AST_STRING_FIELD_ALLOCATION(test_struct.string2) != strlen("hippopotamus face") + 1) { - ast_test_status_update(test, "The allocation amount is incorrect for string2. We expect %lu but it has %hu\n", + ast_test_status_update(test, "The allocation amount is incorrect for string2. We expect %lu but it has %d\n", (unsigned long) strlen("hippopotamus face"), AST_STRING_FIELD_ALLOCATION(test_struct.string2) + 1); goto error; } else { diff --git a/tests/test_strings.c b/tests/test_strings.c index cf089a8653..4321d4a039 100644 --- a/tests/test_strings.c +++ b/tests/test_strings.c @@ -390,9 +390,12 @@ AST_TEST_DEFINE(strsep_test) static int test_semi(char *string1, char *string2, int test_len) { char *test2 = NULL; - if (test_len >= 0) { + + if (test_len > 0) { test2 = ast_alloca(test_len); *test2 = '\0'; + } else if (test_len == 0) { + test2 = ""; } ast_escape_semicolons(string1, test2, test_len); if (test2 != NULL && strcmp(string2, test2) == 0) { -- GitLab