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