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', { get() { return 0; } });
8
9E('ERR_TEST', 'custom message', SystemError);
10const { ERR_TEST } = codes;
11
12const ctx = {
13  code: 'ETEST',
14  message: 'code message',
15  syscall: 'syscall_test',
16  path: '/str',
17  dest: '/str2'
18};
19assert.throws(
20  () => { throw new ERR_TEST(ctx); },
21  {
22    code: 'ERR_TEST',
23    name: 'SystemError',
24    info: ctx,
25  }
26);
27