diff --git a/CHANGES b/CHANGES index f3876430..9b013e24 100644 --- a/CHANGES +++ b/CHANGES @@ -1,6 +1,8 @@ v3.x.y - YYYY-MMM-DD (to be released) ------------------------------------- + - Regression: Mark the test as failed in case of segfault. + [@zimmerle] - Regex key selection should not be case-sensitive [Issue #2296, #2107, #2297 - @michaelgranzow-avi, @victorhora, @airween, @martinhsv, @zimmerle] diff --git a/test/regression/regression.cc b/test/regression/regression.cc index c4600fae..64db1893 100644 --- a/test/regression/regression.cc +++ b/test/regression/regression.cc @@ -211,7 +211,7 @@ void perform_unit_test(ModSecurityTest *test, */ if (test->m_automake_output) { std::cout << ":test-result: FAIL " << filename \ - << ":" << t->name << std::endl; + << ":" << t->name << ":" << *count << std::endl; } else { std::cout << KRED << "failed!" << RESET << std::endl; } @@ -254,7 +254,7 @@ void perform_unit_test(ModSecurityTest *test, /* Parser error was expected, but with a different content */ if (test->m_automake_output) { std::cout << ":test-result: FAIL " << filename \ - << ":" << t->name << std::endl; + << ":" << t->name << ":" << *count << std::endl; } else { std::cout << KRED << "failed!" << RESET << std::endl; } @@ -280,7 +280,7 @@ void perform_unit_test(ModSecurityTest *test, if (t->parser_error.empty() == false) { if (test->m_automake_output) { std::cout << ":test-result: FAIL " << filename \ - << ":" << t->name << std::endl; + << ":" << t->name << ":" << *count << std::endl; } else { std::cout << KRED << "failed!" << RESET << std::endl; std::cout << KWHT << "Expected a parser error." \ @@ -387,7 +387,7 @@ end: if (!d->contains(t->debug_log)) { if (test->m_automake_output) { std::cout << ":test-result: FAIL " << filename \ - << ":" << t->name << std::endl; + << ":" << t->name << ":" << *count << std::endl; } else { std::cout << KRED << "failed!" << RESET << std::endl; } @@ -399,7 +399,7 @@ end: } else if (r.status != t->http_code) { if (test->m_automake_output) { std::cout << ":test-result: FAIL " << filename \ - << ":" << t->name << std::endl; + << ":" << t->name << ":" << *count << std::endl; } else { std::cout << KRED << "failed!" << RESET << std::endl; } @@ -423,7 +423,7 @@ end: && !contains(getAuditLogContent(modsec_transaction->m_rules->m_auditLog->m_path1), t->audit_log)) { if (test->m_automake_output) { std::cout << ":test-result: FAIL " << filename \ - << ":" << t->name << std::endl; + << ":" << t->name << ":" << *count << std::endl; } else { std::cout << KRED << "failed!" << RESET << std::endl; } diff --git a/test/test-suite.sh b/test/test-suite.sh index e242c7ba..ce03c244 100755 --- a/test/test-suite.sh +++ b/test/test-suite.sh @@ -30,10 +30,10 @@ else RET=$? if [ $RET -eq 127 ] then - echo ":test-result: SKIP: json is not enabled. (unit/$RET) ../$FILE" + echo ":test-result: SKIP: json is not enabled. (unit/$RET) ../$FILE:$i" elif [ $RET -ne 0 ] then - echo ":test-result: FAIL possible segfault: (unit/$RET) ../$FILE" + echo ":test-result: FAIL possible segfault: (unit/$RET) ../$FILE:$i" fi fi