diff options
author | Joshua Colp <jcolp@digium.com> | 2015-06-25 04:52:02 -0500 |
---|---|---|
committer | Gerrit Code Review <gerrit2@gerrit.digium.api> | 2015-06-25 04:52:02 -0500 |
commit | 6fffef78c37fdbd483fc97f02b8d0102600a49d5 (patch) | |
tree | 36a8e6b4299a1286027298b158a5699c810cab52 | |
parent | 52aa9536a134d1cef6bc96f53a060acfd5c323a9 (diff) | |
parent | daaa551c92a793f95ec24198d8b62fc09618f035 (diff) |
Merge "test.c: Add unit test registration checks for summary and description."
-rw-r--r-- | include/asterisk/test.h | 13 | ||||
-rw-r--r-- | main/test.c | 36 |
2 files changed, 39 insertions, 10 deletions
diff --git a/include/asterisk/test.h b/include/asterisk/test.h index 69f88374e..49731feb6 100644 --- a/include/asterisk/test.h +++ b/include/asterisk/test.h @@ -224,13 +224,22 @@ struct ast_test_info { /*! * \brief test category * + * \details * Tests are categorized in a directory tree style hierarchy. It is expected that * this string have both a leading and trailing forward slash ('/'). */ const char *category; - /*! \brief optional short summary of test */ + /*! + * \brief Short summary of test + * + * \note The summary must not end with a newline. + */ const char *summary; - /*! \brief optional brief detailed description of test */ + /*! + * \brief More detailed description of test + * + * \note The description must not end with a newline. + */ const char *description; }; diff --git a/main/test.c b/main/test.c index d1dce09e8..2f6200f96 100644 --- a/main/test.c +++ b/main/test.c @@ -640,33 +640,53 @@ static struct ast_test *test_alloc(ast_test_cb_t *cb) if (ast_strlen_zero(test->info.category)) { ast_log(LOG_ERROR, "Test %s has no category, test registration refused.\n", - test->info.name); + test->info.name); return test_free(test); } if (test->info.category[0] != '/' || test->info.category[strlen(test->info.category) - 1] != '/') { ast_log(LOG_WARNING, "Test category '%s' for test '%s' is missing a leading or trailing slash.\n", - test->info.category, test->info.name); - /* Flag an error anyways so test_registrations fails but allow the test to be - * registered. */ - registration_errors++; + test->info.category, test->info.name); + /* + * Flag an error anyways so test_registrations fails but allow the + * test to be registered. + */ + ++registration_errors; } if (ast_strlen_zero(test->info.summary)) { ast_log(LOG_ERROR, "Test %s%s has no summary, test registration refused.\n", - test->info.category, test->info.name); + test->info.category, test->info.name); return test_free(test); } + if (test->info.summary[strlen(test->info.summary) - 1] == '\n') { + ast_log(LOG_WARNING, "Test %s%s summary has a trailing newline.\n", + test->info.category, test->info.name); + /* + * Flag an error anyways so test_registrations fails but allow the + * test to be registered. + */ + ++registration_errors; + } if (ast_strlen_zero(test->info.description)) { ast_log(LOG_ERROR, "Test %s%s has no description, test registration refused.\n", - test->info.category, test->info.name); + test->info.category, test->info.name); return test_free(test); } + if (test->info.description[strlen(test->info.description) - 1] == '\n') { + ast_log(LOG_WARNING, "Test %s%s description has a trailing newline.\n", + test->info.category, test->info.name); + /* + * Flag an error anyways so test_registrations fails but allow the + * test to be registered. + */ + ++registration_errors; + } if (!(test->status_str = ast_str_create(128))) { ast_log(LOG_ERROR, "Failed to allocate status_str for %s%s, test registration failed.\n", - test->info.category, test->info.name); + test->info.category, test->info.name); return test_free(test); } |