@@ -31,12 +31,7 @@ public void OnHandshakeReceived(object sender, HandshakeArgs args)
3131 _executions [ testApplication ] = appInfo ;
3232 _output . AssemblyRunStarted ( appInfo . ModulePath , appInfo . TargetFramework , appInfo . Architecture , appInfo . ExecutionId ) ;
3333
34- if ( ! Logger . TraceEnabled ) return ;
35-
36- foreach ( var property in args . Handshake . Properties )
37- {
38- Logger . LogTrace ( ( ) => $ "{ GetHandshakePropertyName ( property . Key ) } : { property . Value } ") ;
39- }
34+ LogHandshake ( args ) ;
4035 }
4136
4237 private static string GetHandshakePropertyName ( byte propertyId ) =>
@@ -65,13 +60,7 @@ public void OnDiscoveredTestsReceived(object sender, DiscoveredTestEventArgs arg
6560 test . Uid ) ;
6661 }
6762
68- if ( ! Logger . TraceEnabled ) return ;
69-
70- Logger . LogTrace ( ( ) => $ "DiscoveredTests Execution Id: { args . ExecutionId } ") ;
71- foreach ( var discoveredTestMessage in args . DiscoveredTests )
72- {
73- Logger . LogTrace ( ( ) => $ "DiscoveredTest: { discoveredTestMessage . Uid } , { discoveredTestMessage . DisplayName } ") ;
74- }
63+ LogDiscoveredTests ( args ) ;
7564 }
7665
7766 public void OnTestResultsReceived ( object sender , TestResultEventArgs args )
@@ -108,23 +97,7 @@ public void OnTestResultsReceived(object sender, TestResultEventArgs args)
10897 errorOutput : null ) ;
10998 }
11099
111- if ( ! Logger . TraceEnabled ) return ;
112-
113- Logger . LogTrace ( ( ) => $ "TestResults Execution Id: { args . ExecutionId } ") ;
114-
115- foreach ( SuccessfulTestResult successfulTestResult in args . SuccessfulTestResults )
116- {
117- Logger . LogTrace ( ( ) => $ "SuccessfulTestResult: { successfulTestResult . Uid } , { successfulTestResult . DisplayName } , " +
118- $ "{ successfulTestResult . State } , { successfulTestResult . Duration } , { successfulTestResult . Reason } , { successfulTestResult . StandardOutput } ," +
119- $ "{ successfulTestResult . ErrorOutput } , { successfulTestResult . SessionUid } ") ;
120- }
121-
122- foreach ( FailedTestResult failedTestResult in args . FailedTestResults )
123- {
124- Logger . LogTrace ( ( ) => $ "FailedTestResult: { failedTestResult . Uid } , { failedTestResult . DisplayName } , " +
125- $ "{ failedTestResult . State } , { failedTestResult . Duration } , { failedTestResult . Reason } , { string . Join ( ", " , failedTestResult . Exceptions ? . Select ( e => $ "{ e . ErrorMessage } , { e . ErrorType } , { e . StackTrace } ") ) } " +
126- $ "{ failedTestResult . StandardOutput } , { failedTestResult . ErrorOutput } , { failedTestResult . SessionUid } ") ;
127- }
100+ LogTestResults ( args ) ;
128101 }
129102
130103 public void OnFileArtifactsReceived ( object sender , FileArtifactEventArgs args )
@@ -140,16 +113,7 @@ public void OnFileArtifactsReceived(object sender, FileArtifactEventArgs args)
140113 artifact . TestDisplayName , artifact . FullPath ) ;
141114 }
142115
143- if ( ! Logger . TraceEnabled ) return ;
144-
145- Logger . LogTrace ( ( ) => $ "FileArtifactMessages Execution Id: { args . ExecutionId } ") ;
146-
147- foreach ( FileArtifact fileArtifactMessage in args . FileArtifacts )
148- {
149- Logger . LogTrace ( ( ) => $ "FileArtifact: { fileArtifactMessage . FullPath } , { fileArtifactMessage . DisplayName } , " +
150- $ "{ fileArtifactMessage . Description } , { fileArtifactMessage . TestUid } , { fileArtifactMessage . TestDisplayName } , " +
151- $ "{ fileArtifactMessage . SessionUid } ") ;
152- }
116+ LogFileArtifacts ( args ) ;
153117 }
154118
155119 public void OnSessionEventReceived ( object sender , SessionEventArgs args )
@@ -180,39 +144,132 @@ public void OnTestProcessExited(object sender, TestProcessExitEventArgs args)
180144 _output . AssemblyRunCompleted ( testApplication . Module . TargetPath ?? testApplication . Module . ProjectFullPath , testApplication . Module . TargetFramework , architecture : null , null , args . ExitCode , string . Join ( Environment . NewLine , args . OutputData ) , string . Join ( Environment . NewLine , args . ErrorData ) ) ;
181145 }
182146
183- if ( ! Logger . TraceEnabled ) return ;
147+ LogTestProcessExit ( args ) ;
148+ }
184149
185- if ( args . ExitCode != ExitCode . Success )
150+ public void OnExecutionIdReceived ( object sender , ExecutionEventArgs args )
151+ {
152+ }
153+
154+ public static TestOutcome ToOutcome ( byte ? testState ) => testState switch
155+ {
156+ TestStates . Passed => TestOutcome . Passed ,
157+ TestStates . Skipped => TestOutcome . Skipped ,
158+ TestStates . Failed => TestOutcome . Fail ,
159+ TestStates . Error => TestOutcome . Error ,
160+ TestStates . Timeout => TestOutcome . Timeout ,
161+ TestStates . Cancelled => TestOutcome . Canceled ,
162+ _ => throw new ArgumentOutOfRangeException ( nameof ( testState ) , $ "Invalid test state value { testState } ")
163+ } ;
164+
165+ private static void LogHandshake ( HandshakeArgs args )
166+ {
167+ if ( ! Logger . TraceEnabled )
186168 {
187- Logger . LogTrace ( ( ) => $ "Test Process exited with non-zero exit code: { args . ExitCode } " ) ;
169+ return ;
188170 }
189171
190- if ( args . OutputData . Count > 0 )
172+ var logMessageBuilder = new StringBuilder ( ) ;
173+
174+ foreach ( var property in args . Handshake . Properties )
191175 {
192- Logger . LogTrace ( ( ) => $ "Output Data: { string . Join ( " \n " , args . OutputData ) } ") ;
176+ logMessageBuilder . AppendLine ( $ " { GetHandshakePropertyName ( property . Key ) } : { property . Value } ") ;
193177 }
194178
195- if ( args . ErrorData . Count > 0 )
179+ Logger . LogTrace ( ( ) => logMessageBuilder . ToString ( ) ) ;
180+ }
181+
182+ private static void LogDiscoveredTests ( DiscoveredTestEventArgs args )
183+ {
184+ if ( ! Logger . TraceEnabled )
196185 {
197- Logger . LogTrace ( ( ) => $ "Error Data: { string . Join ( " \n " , args . ErrorData ) } " ) ;
186+ return ;
198187 }
188+
189+ var logMessageBuilder = new StringBuilder ( ) ;
190+
191+ logMessageBuilder . AppendLine ( $ "DiscoveredTests Execution Id: { args . ExecutionId } ") ;
192+ foreach ( var discoveredTestMessage in args . DiscoveredTests )
193+ {
194+ logMessageBuilder . AppendLine ( $ "DiscoveredTest: { discoveredTestMessage . Uid } , { discoveredTestMessage . DisplayName } ") ;
195+ }
196+
197+ Logger . LogTrace ( ( ) => logMessageBuilder . ToString ( ) ) ;
199198 }
200199
201- public void OnExecutionIdReceived ( object sender , ExecutionEventArgs args )
200+ private static void LogTestResults ( TestResultEventArgs args )
202201 {
202+ if ( ! Logger . TraceEnabled )
203+ {
204+ return ;
205+ }
206+
207+ var logMessageBuilder = new StringBuilder ( ) ;
208+
209+ logMessageBuilder . AppendLine ( $ "TestResults Execution Id: { args . ExecutionId } ") ;
210+
211+ foreach ( SuccessfulTestResult successfulTestResult in args . SuccessfulTestResults )
212+ {
213+ logMessageBuilder . AppendLine ( $ "SuccessfulTestResult: { successfulTestResult . Uid } , { successfulTestResult . DisplayName } , " +
214+ $ "{ successfulTestResult . State } , { successfulTestResult . Duration } , { successfulTestResult . Reason } , { successfulTestResult . StandardOutput } ," +
215+ $ "{ successfulTestResult . ErrorOutput } , { successfulTestResult . SessionUid } ") ;
216+ }
217+
218+ foreach ( FailedTestResult failedTestResult in args . FailedTestResults )
219+ {
220+ logMessageBuilder . AppendLine ( $ "FailedTestResult: { failedTestResult . Uid } , { failedTestResult . DisplayName } , " +
221+ $ "{ failedTestResult . State } , { failedTestResult . Duration } , { failedTestResult . Reason } , { string . Join ( ", " , failedTestResult . Exceptions ? . Select ( e => $ "{ e . ErrorMessage } , { e . ErrorType } , { e . StackTrace } ") ) } " +
222+ $ "{ failedTestResult . StandardOutput } , { failedTestResult . ErrorOutput } , { failedTestResult . SessionUid } ") ;
223+ }
224+
225+ Logger . LogTrace ( ( ) => logMessageBuilder . ToString ( ) ) ;
203226 }
204227
205- public static TestOutcome ToOutcome ( byte ? testState )
228+ private static void LogFileArtifacts ( FileArtifactEventArgs args )
206229 {
207- return testState switch
208- {
209- TestStates . Passed => TestOutcome . Passed ,
210- TestStates . Skipped => TestOutcome . Skipped ,
211- TestStates . Failed => TestOutcome . Fail ,
212- TestStates . Error => TestOutcome . Error ,
213- TestStates . Timeout => TestOutcome . Timeout ,
214- TestStates . Cancelled => TestOutcome . Canceled ,
215- _ => throw new ArgumentOutOfRangeException ( nameof ( testState ) , $ "Invalid test state value { testState } ")
216- } ;
230+ if ( ! Logger . TraceEnabled )
231+ {
232+ return ;
233+ }
234+
235+ var logMessageBuilder = new StringBuilder ( ) ;
236+
237+ logMessageBuilder . AppendLine ( $ "FileArtifactMessages Execution Id: { args . ExecutionId } ") ;
238+
239+ foreach ( FileArtifact fileArtifactMessage in args . FileArtifacts )
240+ {
241+ logMessageBuilder . AppendLine ( $ "FileArtifact: { fileArtifactMessage . FullPath } , { fileArtifactMessage . DisplayName } , " +
242+ $ "{ fileArtifactMessage . Description } , { fileArtifactMessage . TestUid } , { fileArtifactMessage . TestDisplayName } , " +
243+ $ "{ fileArtifactMessage . SessionUid } ") ;
244+ }
245+
246+ Logger . LogTrace ( ( ) => logMessageBuilder . ToString ( ) ) ;
247+ }
248+
249+ private static void LogTestProcessExit ( TestProcessExitEventArgs args )
250+ {
251+ if ( ! Logger . TraceEnabled )
252+ {
253+ return ;
254+ }
255+
256+ var logMessageBuilder = new StringBuilder ( ) ;
257+
258+ if ( args . ExitCode != ExitCode . Success )
259+ {
260+ logMessageBuilder . AppendLine ( $ "Test Process exited with non-zero exit code: { args . ExitCode } ") ;
261+ }
262+
263+ if ( args . OutputData . Count > 0 )
264+ {
265+ logMessageBuilder . AppendLine ( $ "Output Data: { string . Join ( Environment . NewLine , args . OutputData ) } ") ;
266+ }
267+
268+ if ( args . ErrorData . Count > 0 )
269+ {
270+ logMessageBuilder . AppendLine ( $ "Error Data: { string . Join ( Environment . NewLine , args . ErrorData ) } ") ;
271+ }
272+
273+ Logger . LogTrace ( ( ) => logMessageBuilder . ToString ( ) ) ;
217274 }
218275}
0 commit comments