in TeamCity.VSTest.TestLogger/TeamCityTestLogger.cs [32:63]
public void Initialize(TestLoggerEvents events, string testRunDirectory)
{
if (events == null) throw new ArgumentNullException(nameof(events));
OutputLoggerInitializedMessage();
_options.TestRunDirectory = testRunDirectory;
var shouldOpenNewFlowForServiceMessages = _options.FallbackToStdOutTestReporting;
events.TestRunMessage += (_, args) => _handler.OnTestRunMessage(args);
events.TestResult += (_, args) => _handler.OnTestResult(args);
events.TestRunComplete += (_, _) =>
{
_handler.OnTestRunComplete();
_messageWriter.Dispose();
};
#if (NET35 || NET40)
// .Net Framework version of TestLoggerEvents does not have a TestRunStart event handler,
// so test run directory is used as an acceptable substitute for test run sources
_handler.OnTestRunStart(
$"Unit tests from for test run directory {testRunDirectory}",
shouldOpenNewFlowForServiceMessages);
#else
events.TestRunStart += (sender, args) => _handler.OnTestRunStart(
"Unit tests from " + string.Join(" ", args.TestRunCriteria.Sources),
shouldOpenNewFlowForServiceMessages);
#endif
}