public static MultiNodeTestRunnerMessageType DetermineMessageType(string messageStr)
{
var matchLog = NodeLogMessageRegex.Match(messageStr);
if(matchLog.Success) return MultiNodeTestRunnerMessageType.NodeLogMessage;
var matchRunnerLog = RunnerLogMessageRegex.Match(messageStr);
if (matchRunnerLog.Success) return MultiNodeTestRunnerMessageType.RunnerLogMessage;
var matchStatus = NodePassStatusRegex.Match(messageStr);
if (matchStatus.Success)
{
return matchStatus.Groups["status"].Value.Equals(NodePassed) ? MultiNodeTestRunnerMessageType.NodePassMessage : MultiNodeTestRunnerMessageType.NodeFailMessage;
}
var matchFailureReason = NodeFailureReasonRegex.Match(messageStr);
if(matchFailureReason.Success) return MultiNodeTestRunnerMessageType.NodeFailureException;
var nodeLogFragmentStatus = NodeLogFragmentRegex.Match(messageStr);
if(nodeLogFragmentStatus.Success) return MultiNodeTestRunnerMessageType.NodeLogFragment;
return MultiNodeTestRunnerMessageType.Unknown;
}