Skip to content
Snippets Groups Projects
Commit 24318aac authored by Jenkins2's avatar Jenkins2 Committed by Gerrit Code Review
Browse files

Merge "unittests: Add a unit test that causes a SEGV and..."

parents d6992daa 08edd54c
No related branches found
No related tags found
No related merge requests found
......@@ -241,6 +241,14 @@ struct ast_test_info {
* \note The description must not end with a newline.
*/
const char *description;
/*!
* \brief Only run if explicitly named
*
* \details
* Run this test only if it's explicitly named on the command line.
* Do NOT run it as part of an execute category or execute all command.
*/
unsigned int explicit_only;
};
#ifdef TEST_FRAMEWORK
......
......@@ -344,7 +344,7 @@ static int test_execute_multiple(const char *name, const char *category, struct
execute = 0;
switch (mode) {
case TEST_CATEGORY:
if (!test_cat_cmp(test->info.category, category)) {
if (!test_cat_cmp(test->info.category, category) && !test->info.explicit_only) {
execute = 1;
}
break;
......@@ -354,7 +354,7 @@ static int test_execute_multiple(const char *name, const char *category, struct
}
break;
case TEST_ALL:
execute = 1;
execute = !test->info.explicit_only;
}
if (execute) {
......
......@@ -321,8 +321,29 @@ cleanup:
return res;
}
AST_TEST_DEFINE(segv)
{
switch (cmd) {
case TEST_INIT:
info->name = "RAISE_SEGV";
info->category = "/DO_NOT_RUN/";
info->summary = "RAISES SEGV!!! (will only be run if explicitly called)";
info->description = "RAISES SEGV!!! (will only be run if explicitly called). "
"This test is mainly used for testing CI and tool failure scenarios.";
info->explicit_only = 1;
return AST_TEST_NOT_RUN;
case TEST_EXECUTE:
break;
}
raise(SIGSEGV);
return AST_TEST_FAIL;
}
static int unload_module(void)
{
AST_TEST_UNREGISTER(segv);
AST_TEST_UNREGISTER(pattern_match_test);
return 0;
}
......@@ -330,6 +351,7 @@ static int unload_module(void)
static int load_module(void)
{
AST_TEST_REGISTER(pattern_match_test);
AST_TEST_REGISTER(segv);
return AST_MODULE_LOAD_SUCCESS;
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment