1717 * under the License.
1818 */
1919
20- import { ToolingLog , ToolingLogCollectingWriter , createStripAnsiSerializer } from '@kbn/dev-utils' ;
20+ import {
21+ ToolingLog ,
22+ ToolingLogCollectingWriter ,
23+ createStripAnsiSerializer ,
24+ createRecursiveSerializer ,
25+ } from '@kbn/dev-utils' ;
2126import { Config } from './config' ;
2227import { createRunner } from './runner' ;
2328import { Build } from './build' ;
@@ -31,6 +36,21 @@ log.setWriters([testWriter]);
3136
3237expect . addSnapshotSerializer ( createStripAnsiSerializer ( ) ) ;
3338
39+ const STACK_TRACE = / ( \│ \s + ) a t .+ \( .+ \) $ / ;
40+ const isStackTrace = ( x : any ) => typeof x === 'string' && STACK_TRACE . test ( x ) ;
41+
42+ expect . addSnapshotSerializer (
43+ createRecursiveSerializer (
44+ ( v ) => Array . isArray ( v ) && v . some ( isStackTrace ) ,
45+ ( v ) => {
46+ const start = v . findIndex ( isStackTrace ) ;
47+ v [ start ] = v [ start ] . replace ( STACK_TRACE , '$1<stacktrace>' ) ;
48+ while ( isStackTrace ( v [ start + 1 ] ) ) v . splice ( start + 1 , 1 ) ;
49+ return v ;
50+ }
51+ )
52+ ) ;
53+
3454beforeEach ( ( ) => {
3555 testWriter . messages . length = 0 ;
3656 jest . clearAllMocks ( ) ;
@@ -196,8 +216,7 @@ describe('task rejection', () => {
196216 " info [ kibana ] foo",
197217 " │ERROR failure 0 sec",
198218 " │ERROR Error: FOO",
199- " │ at Object.it (/Users/spalger/kbn-dev/master/kibana/src/dev/build/lib/runner.test.ts:183:19)",
200- " │ at process._tickCallback (internal/process/next_tick.js:68:7)",
219+ " │ <stacktrace>",
201220 "",
202221 ]
203222 ` ) ;
0 commit comments