@@ -20,7 +20,7 @@ import { clearAllChildren, createErrorTestItem, getTestCaseNodes } from './testI
20
20
import { sendTelemetryEvent } from '../../../telemetry' ;
21
21
import { EventName } from '../../../telemetry/constants' ;
22
22
import { splitLines } from '../../../common/stringUtils' ;
23
- import { buildErrorNodeOptions , fixLogLines , populateTestTree , splitTestNameWithRegex } from './utils' ;
23
+ import { buildErrorNodeOptions , populateTestTree , splitTestNameWithRegex } from './utils' ;
24
24
import { Deferred } from '../../../common/utils/async' ;
25
25
26
26
export class PythonResultResolver implements ITestResultResolver {
@@ -151,15 +151,16 @@ export class PythonResultResolver implements ITestResultResolver {
151
151
const tempArr : TestItem [ ] = getTestCaseNodes ( i ) ;
152
152
testCases . push ( ...tempArr ) ;
153
153
} ) ;
154
+ const testItem = rawTestExecData . result [ keyTemp ] ;
154
155
155
- if ( rawTestExecData . result [ keyTemp ] . outcome === 'error' ) {
156
- const rawTraceback = rawTestExecData . result [ keyTemp ] . traceback ?? '' ;
156
+ if ( testItem . outcome === 'error' ) {
157
+ const rawTraceback = testItem . traceback ?? '' ;
157
158
const traceback = splitLines ( rawTraceback , {
158
159
trim : false ,
159
160
removeEmptyEntries : true ,
160
161
} ) . 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
163
164
} \r\n${ traceback } \r\n`;
164
165
const message = new TestMessage ( text ) ;
165
166
@@ -170,23 +171,17 @@ export class PythonResultResolver implements ITestResultResolver {
170
171
if ( indiItem . uri && indiItem . range ) {
171
172
message . location = new Location ( indiItem . uri , indiItem . range ) ;
172
173
runInstance . errored ( indiItem , message ) ;
173
- runInstance . appendOutput ( fixLogLines ( text ) ) ;
174
174
}
175
175
}
176
176
} ) ;
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 ?? '' ;
182
179
const traceback = splitLines ( rawTraceback , {
183
180
trim : false ,
184
181
removeEmptyEntries : true ,
185
182
} ) . join ( '\r\n' ) ;
186
183
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` ;
190
185
const message = new TestMessage ( text ) ;
191
186
192
187
// note that keyTemp is a runId for unittest library...
@@ -197,14 +192,10 @@ export class PythonResultResolver implements ITestResultResolver {
197
192
if ( indiItem . uri && indiItem . range ) {
198
193
message . location = new Location ( indiItem . uri , indiItem . range ) ;
199
194
runInstance . failed ( indiItem , message ) ;
200
- runInstance . appendOutput ( fixLogLines ( text ) ) ;
201
195
}
202
196
}
203
197
} ) ;
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' ) {
208
199
const grabTestItem = this . runIdToTestItem . get ( keyTemp ) ;
209
200
const grabVSid = this . runIdToVSid . get ( keyTemp ) ;
210
201
if ( grabTestItem !== undefined ) {
@@ -216,7 +207,7 @@ export class PythonResultResolver implements ITestResultResolver {
216
207
}
217
208
} ) ;
218
209
}
219
- } else if ( rawTestExecData . result [ keyTemp ] . outcome === 'skipped' ) {
210
+ } else if ( testItem . outcome === 'skipped' ) {
220
211
const grabTestItem = this . runIdToTestItem . get ( keyTemp ) ;
221
212
const grabVSid = this . runIdToVSid . get ( keyTemp ) ;
222
213
if ( grabTestItem !== undefined ) {
@@ -228,11 +219,11 @@ export class PythonResultResolver implements ITestResultResolver {
228
219
}
229
220
} ) ;
230
221
}
231
- } else if ( rawTestExecData . result [ keyTemp ] . outcome === 'subtest-failure' ) {
222
+ } else if ( testItem . outcome === 'subtest-failure' ) {
232
223
// split on [] or () based on how the subtest is setup.
233
224
const [ parentTestCaseId , subtestId ] = splitTestNameWithRegex ( keyTemp ) ;
234
225
const parentTestItem = this . runIdToTestItem . get ( parentTestCaseId ) ;
235
- const data = rawTestExecData . result [ keyTemp ] ;
226
+ const data = testItem ;
236
227
// find the subtest's parent test item
237
228
if ( parentTestItem ) {
238
229
const subtestStats = this . subTestStats . get ( parentTestCaseId ) ;
@@ -243,20 +234,19 @@ export class PythonResultResolver implements ITestResultResolver {
243
234
failed : 1 ,
244
235
passed : 0 ,
245
236
} ) ;
246
- runInstance . appendOutput ( fixLogLines ( `${ parentTestCaseId } [subtests]:\r\n` ) ) ;
247
237
// clear since subtest items don't persist between runs
248
238
clearAllChildren ( parentTestItem ) ;
249
239
}
250
240
const subTestItem = this . testController ?. createTestItem ( subtestId , subtestId ) ;
251
- runInstance . appendOutput ( fixLogLines ( `${ subtestId } Failed\r\n` ) ) ;
252
241
// create a new test item for the subtest
253
242
if ( subTestItem ) {
254
243
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`;
257
247
parentTestItem . children . add ( subTestItem ) ;
258
248
runInstance . started ( subTestItem ) ;
259
- const message = new TestMessage ( rawTestExecData ?. result [ keyTemp ] . message ?? '' ) ;
249
+ const message = new TestMessage ( text ) ;
260
250
if ( parentTestItem . uri && parentTestItem . range ) {
261
251
message . location = new Location ( parentTestItem . uri , parentTestItem . range ) ;
262
252
}
@@ -267,7 +257,7 @@ export class PythonResultResolver implements ITestResultResolver {
267
257
} else {
268
258
throw new Error ( 'Parent test item not found' ) ;
269
259
}
270
- } else if ( rawTestExecData . result [ keyTemp ] . outcome === 'subtest-success' ) {
260
+ } else if ( testItem . outcome === 'subtest-success' ) {
271
261
// split on [] or () based on how the subtest is setup.
272
262
const [ parentTestCaseId , subtestId ] = splitTestNameWithRegex ( keyTemp ) ;
273
263
const parentTestItem = this . runIdToTestItem . get ( parentTestCaseId ) ;
@@ -279,7 +269,6 @@ export class PythonResultResolver implements ITestResultResolver {
279
269
subtestStats . passed += 1 ;
280
270
} else {
281
271
this . subTestStats . set ( parentTestCaseId , { failed : 0 , passed : 1 } ) ;
282
- runInstance . appendOutput ( fixLogLines ( `${ parentTestCaseId } [subtests]:\r\n` ) ) ;
283
272
// clear since subtest items don't persist between runs
284
273
clearAllChildren ( parentTestItem ) ;
285
274
}
@@ -289,7 +278,6 @@ export class PythonResultResolver implements ITestResultResolver {
289
278
parentTestItem . children . add ( subTestItem ) ;
290
279
runInstance . started ( subTestItem ) ;
291
280
runInstance . passed ( subTestItem ) ;
292
- runInstance . appendOutput ( fixLogLines ( `${ subtestId } Passed\r\n` ) ) ;
293
281
} else {
294
282
throw new Error ( 'Unable to create new child node for subtest' ) ;
295
283
}
0 commit comments