PASS_REGULAR_EXPRESSION and FAIL_REGULAR_EXPRESSION both take a list of expressions. Stop searching if the first of those has matched the output as the result will not change anymore.
@@ -166,6 +166,7 @@ bool cmCTestRunTest::EndTest(size_t completed, size_t total, bool started)
{
found = true;
reason = "Required regular expression found.";
+ break;
}
if ( !found )
@@ -196,6 +197,7 @@ bool cmCTestRunTest::EndTest(size_t completed, size_t total, bool started)
reason += passIt->second;
reason += "]";
forceFail = true;