in src/TestFramework/VSTS/Checking/DefaultChecker.cs [287:327]
private void GenerateException(CheckResult checkResult, string message, params object[] parameters)
{
if (checkResult != CheckResult.Succeeded)
{
bool isExceptionRequired = true;
if (!string.IsNullOrEmpty(exceptionFilter))
{
Regex regex = new Regex(exceptionFilter);
if (regex.IsMatch(message))
{
isExceptionRequired = false;
}
}
/************************ Test Case Pass/Fail Configurations **************************
* If the current requirement is in the exceptionalRequirements list *
* do not generate exception but log it in the log file *
**************************************************************************************/
if (null != parameters && parameters.Length == 2)
{
//parameters[0] is reqIdFlag, arameters[1] is reqID
if (exceptionalRequirements.Contains(parameters[1].ToString()))
{
isExceptionRequired = false;
testSite.Log.Add(LogEntryKind.ExceptionalRequirement, message.TrimEnd('.'));
}
}
if (isExceptionRequired)
{
if (checkResult == CheckResult.Failed)
{
asyncErrorProcessor.ReportAsyncException(CreateFailException(message));
}
else if (checkResult == CheckResult.Inconclusive)
{
asyncErrorProcessor.ReportAsyncException(CreateInconclusiveException(message));
}
}
}
}