clang compiler warning: fixes for tests to be compiled using clang
Review Request #4555 - Created March 29, 2015 and submitted
Diederik de Groot | |
13 | |
ASTERISK-24917 | |
Reviewers | |
---|---|
asterisk-dev | |
Asterisk |
clang's static analyzer will throw quite a number warnings / errors during compilation, some of which can be very helpfull in finding corner-case bugs. fixes for tests to be compiled using clang
executing the tests one-by-one works fine (completes to end) (skipping /main/stdtime) -> test show results failed: =================== /main/message/ ====== FAIL test_message_queue_handler_nom /main/message/ 31036ms [test_message.c:int handler_wait_for_message(struct ast_test *):244]: Test timed out while waiting for handler to get message Not sure if this is actually a fail or just a timeout. WIP =================== /main/strings/ ====== FAIL escape_semicolons /main/strings/ 1ms [Mar 29 20:13:43] ERROR[2521]: utils.c:493 char *ast_escape_semicolons(const char *, char *, int): FRACK!, Failed assertion string != NULL && outbuf != NULL (0) -> explainable by the change made to the source. ast_alloca(0) is not being executed -> test2 = NULL: need to resolv the open question how to handle ast_alloca(0) before making any further changes. (With revision 5 of this code, this test now passes without a problem, had to fix both the test and the function being tested though) =================== /main/stdtime ====== "test execute all" fails, caused by the /main/stdtime/ test. START /main/stdtime/ - timezone_watch [test_time.c:enum ast_test_result_state test_timezone_watch(struct ast_test_info *, enum ast_test_command, struct ast_test *):84]: Executing deletion test... j62747*CLI> CLI becomes unresponsive / no further command completion for example. Guess this will need a little further investigation. Maybe the source changes made to main/stdtime/ where not completely correct. Seems to be caused by inotify_daemon, at least there is where the segfault happens. WIP
<?xml version="1.0" encoding="UTF-8"?>
<testsuite errors="0" time="181.742" tests="444" n
<properties>
<property name="version" value="SV
<testsuite errors="0" time="181.742" tests="444" n
<properties>
<property name="version" value="SV
/branches/13/tests/test_strings.c | |||
---|---|---|---|
Diff Revision 8 | Diff Revision 9 | ||
This file contains only whitespace changes. | |||
![]() |
|||
![]() |
![]() AST_TEST_DEFINE(strsep_test)
|
||
388 |
}
|
388 |
}
|
389 | 389 | ||
390 |
static int test_semi(char *string1, char *string2, int test_len) |
390 |
static int test_semi(char *string1, char *string2, int test_len) |
391 |
{
|
391 |
{
|
392 |
char *test2 = NULL; |
392 |
char *test2 = NULL; |
393 |
|
393 | |
394 |
if (test_len > 0) { |
394 |
if (test_len > 0) { |
395 |
test2 = ast_alloca(test_len); |
395 |
test2 = ast_alloca(test_len); |
396 |
*test2 = '\0'; |
396 |
*test2 = '\0'; |
397 |
} else if (test_len == 0) { |
397 |
} else if (test_len == 0) { |
398 |
test2 = ""; |
398 |
test2 = ""; |
![]() |
![]() |
Other reviews