@@ -20,7 +20,7 @@ import { clearAllChildren, createErrorTestItem, getTestCaseNodes } from './testI
2020import { sendTelemetryEvent } from '../../../telemetry' ;
2121import { EventName } from '../../../telemetry/constants' ;
2222import { splitLines } from '../../../common/stringUtils' ;
23- import { buildErrorNodeOptions , fixLogLines , populateTestTree , splitTestNameWithRegex } from './utils' ;
23+ import { buildErrorNodeOptions , populateTestTree , splitTestNameWithRegex } from './utils' ;
2424import { Deferred } from '../../../common/utils/async' ;
2525
2626export class PythonResultResolver implements ITestResultResolver {
@@ -151,15 +151,16 @@ export class PythonResultResolver implements ITestResultResolver {
151151 const tempArr : TestItem [ ] = getTestCaseNodes ( i ) ;
152152 testCases . push ( ...tempArr ) ;
153153 } ) ;
154+ const testItem = rawTestExecData . result [ keyTemp ] ;
154155
155- if ( rawTestExecData . result [ keyTemp ] . outcome === 'error' ) {
156- const rawTraceback = rawTestExecData . result [ keyTemp ] . traceback ?? '' ;
156+ if ( testItem . outcome === 'error' ) {
157+ const rawTraceback = testItem . traceback ?? '' ;
157158 const traceback = splitLines ( rawTraceback , {
158159 trim : false ,
159160 removeEmptyEntries : true ,
160161 } ) . join ( '\r\n' ) ;
161- const text = `${ rawTestExecData . result [ keyTemp ] . test } failed with error: ${
162- rawTestExecData . result [ keyTemp ] . message ?? rawTestExecData . result [ keyTemp ] . outcome
162+ const text = `${ testItem . test } failed with error: ${
163+ testItem . message ?? testItem . outcome
163164 } \r\n${ traceback } \r\n`;
164165 const message = new TestMessage ( text ) ;
165166
@@ -170,23 +171,17 @@ export class PythonResultResolver implements ITestResultResolver {
170171 if ( indiItem . uri && indiItem . range ) {
171172 message . location = new Location ( indiItem . uri , indiItem . range ) ;
172173 runInstance . errored ( indiItem , message ) ;
173- runInstance . appendOutput ( fixLogLines ( text ) ) ;
174174 }
175175 }
176176 } ) ;
177- } else if (
178- rawTestExecData . result [ keyTemp ] . outcome === 'failure' ||
179- rawTestExecData . result [ keyTemp ] . outcome === 'passed-unexpected'
180- ) {
181- const rawTraceback = rawTestExecData . result [ keyTemp ] . traceback ?? '' ;
177+ } else if ( testItem . outcome === 'failure' || testItem . outcome === 'passed-unexpected' ) {
178+ const rawTraceback = testItem . traceback ?? '' ;
182179 const traceback = splitLines ( rawTraceback , {
183180 trim : false ,
184181 removeEmptyEntries : true ,
185182 } ) . join ( '\r\n' ) ;
186183
187- const text = `${ rawTestExecData . result [ keyTemp ] . test } failed: ${
188- rawTestExecData . result [ keyTemp ] . message ?? rawTestExecData . result [ keyTemp ] . outcome
189- } \r\n${ traceback } \r\n`;
184+ const text = `${ testItem . test } failed: ${ testItem . message ?? testItem . outcome } \r\n${ traceback } \r\n` ;
190185 const message = new TestMessage ( text ) ;
191186
192187 // note that keyTemp is a runId for unittest library...
@@ -197,14 +192,10 @@ export class PythonResultResolver implements ITestResultResolver {
197192 if ( indiItem . uri && indiItem . range ) {
198193 message . location = new Location ( indiItem . uri , indiItem . range ) ;
199194 runInstance . failed ( indiItem , message ) ;
200- runInstance . appendOutput ( fixLogLines ( text ) ) ;
201195 }
202196 }
203197 } ) ;
204- } else if (
205- rawTestExecData . result [ keyTemp ] . outcome === 'success' ||
206- rawTestExecData . result [ keyTemp ] . outcome === 'expected-failure'
207- ) {
198+ } else if ( testItem . outcome === 'success' || testItem . outcome === 'expected-failure' ) {
208199 const grabTestItem = this . runIdToTestItem . get ( keyTemp ) ;
209200 const grabVSid = this . runIdToVSid . get ( keyTemp ) ;
210201 if ( grabTestItem !== undefined ) {
@@ -216,7 +207,7 @@ export class PythonResultResolver implements ITestResultResolver {
216207 }
217208 } ) ;
218209 }
219- } else if ( rawTestExecData . result [ keyTemp ] . outcome === 'skipped' ) {
210+ } else if ( testItem . outcome === 'skipped' ) {
220211 const grabTestItem = this . runIdToTestItem . get ( keyTemp ) ;
221212 const grabVSid = this . runIdToVSid . get ( keyTemp ) ;
222213 if ( grabTestItem !== undefined ) {
@@ -228,11 +219,11 @@ export class PythonResultResolver implements ITestResultResolver {
228219 }
229220 } ) ;
230221 }
231- } else if ( rawTestExecData . result [ keyTemp ] . outcome === 'subtest-failure' ) {
222+ } else if ( testItem . outcome === 'subtest-failure' ) {
232223 // split on [] or () based on how the subtest is setup.
233224 const [ parentTestCaseId , subtestId ] = splitTestNameWithRegex ( keyTemp ) ;
234225 const parentTestItem = this . runIdToTestItem . get ( parentTestCaseId ) ;
235- const data = rawTestExecData . result [ keyTemp ] ;
226+ const data = testItem ;
236227 // find the subtest's parent test item
237228 if ( parentTestItem ) {
238229 const subtestStats = this . subTestStats . get ( parentTestCaseId ) ;
@@ -243,20 +234,19 @@ export class PythonResultResolver implements ITestResultResolver {
243234 failed : 1 ,
244235 passed : 0 ,
245236 } ) ;
246- runInstance . appendOutput ( fixLogLines ( `${ parentTestCaseId } [subtests]:\r\n` ) ) ;
247237 // clear since subtest items don't persist between runs
248238 clearAllChildren ( parentTestItem ) ;
249239 }
250240 const subTestItem = this . testController ?. createTestItem ( subtestId , subtestId ) ;
251- runInstance . appendOutput ( fixLogLines ( `${ subtestId } Failed\r\n` ) ) ;
252241 // create a new test item for the subtest
253242 if ( subTestItem ) {
254243 const traceback = data . traceback ?? '' ;
255- const text = `${ data . subtest } Failed: ${ data . message ?? data . outcome } \r\n${ traceback } \r\n` ;
256- runInstance . appendOutput ( fixLogLines ( text ) ) ;
244+ const text = `${ data . subtest } failed: ${
245+ testItem . message ?? testItem . outcome
246+ } \r\n${ traceback } \r\n`;
257247 parentTestItem . children . add ( subTestItem ) ;
258248 runInstance . started ( subTestItem ) ;
259- const message = new TestMessage ( rawTestExecData ?. result [ keyTemp ] . message ?? '' ) ;
249+ const message = new TestMessage ( text ) ;
260250 if ( parentTestItem . uri && parentTestItem . range ) {
261251 message . location = new Location ( parentTestItem . uri , parentTestItem . range ) ;
262252 }
@@ -267,7 +257,7 @@ export class PythonResultResolver implements ITestResultResolver {
267257 } else {
268258 throw new Error ( 'Parent test item not found' ) ;
269259 }
270- } else if ( rawTestExecData . result [ keyTemp ] . outcome === 'subtest-success' ) {
260+ } else if ( testItem . outcome === 'subtest-success' ) {
271261 // split on [] or () based on how the subtest is setup.
272262 const [ parentTestCaseId , subtestId ] = splitTestNameWithRegex ( keyTemp ) ;
273263 const parentTestItem = this . runIdToTestItem . get ( parentTestCaseId ) ;
@@ -279,7 +269,6 @@ export class PythonResultResolver implements ITestResultResolver {
279269 subtestStats . passed += 1 ;
280270 } else {
281271 this . subTestStats . set ( parentTestCaseId , { failed : 0 , passed : 1 } ) ;
282- runInstance . appendOutput ( fixLogLines ( `${ parentTestCaseId } [subtests]:\r\n` ) ) ;
283272 // clear since subtest items don't persist between runs
284273 clearAllChildren ( parentTestItem ) ;
285274 }
@@ -289,7 +278,6 @@ export class PythonResultResolver implements ITestResultResolver {
289278 parentTestItem . children . add ( subTestItem ) ;
290279 runInstance . started ( subTestItem ) ;
291280 runInstance . passed ( subTestItem ) ;
292- runInstance . appendOutput ( fixLogLines ( `${ subtestId } Passed\r\n` ) ) ;
293281 } else {
294282 throw new Error ( 'Unable to create new child node for subtest' ) ;
295283 }
0 commit comments