clang compiler warnings: Fix various warnings for tests
authorMatthew Jordan <mjordan@digium.com>
Sat, 11 Apr 2015 15:27:08 +0000 (15:27 +0000)
committerMatthew Jordan <mjordan@digium.com>
Sat, 11 Apr 2015 15:27:08 +0000 (15:27 +0000)
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
tests/test_sched.c
tests/test_stringfields.c
tests/test_strings.c

index be9866c..c7a711f 100644 (file)
@@ -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;
        }
 
index 87b0918..5ad2f5d 100644 (file)
@@ -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;
index 7123480..2eeb83d 100644 (file)
@@ -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 {
index cf089a8..4321d4a 100644 (file)
@@ -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) {