1// Flags: --expose-internals
2'use strict';
3require('../common');
4const assert = require('assert');
5const { E, SystemError, codes } = require('internal/errors');
6
7Reflect.defineProperty(Error, 'stackTraceLimit', {
8  writable: false,
9  value: Error.stackTraceLimit,
10});
11
12E('ERR_TEST', 'custom message', SystemError);
13const { ERR_TEST } = codes;
14
15const ctx = {
16  code: 'ETEST',
17  message: 'code message',
18  syscall: 'syscall_test',
19  path: '/str',
20  dest: '/str2'
21};
22assert.throws(
23  () => { throw new ERR_TEST(ctx); },
24  {
25    code: 'ERR_TEST',
26    name: 'SystemError',
27    info: ctx,
28  }
29);
30