Skip to content

Commit b57e11e

Browse files
committed
strip stack traces from snapshots
1 parent 851fd9e commit b57e11e

1 file changed

Lines changed: 22 additions & 3 deletions

File tree

src/dev/build/lib/runner.test.ts

Lines changed: 22 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,12 @@
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';
2126
import { Config } from './config';
2227
import { createRunner } from './runner';
2328
import { Build } from './build';
@@ -31,6 +36,21 @@ log.setWriters([testWriter]);
3136

3237
expect.addSnapshotSerializer(createStripAnsiSerializer());
3338

39+
const STACK_TRACE = /(\│\s+)at .+ \(.+\)$/;
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+
3454
beforeEach(() => {
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

Comments
 (0)