• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1'use strict';
2const common = require('../common');
3const {
4  assertSummaryShape,
5  assertSingleDetailedShape,
6  expectExperimentalWarning
7} = require('../common/measure-memory');
8const assert = require('assert');
9const vm = require('vm');
10
11expectExperimentalWarning();
12
13// Test eager memory measurement
14{
15  vm.measureMemory({ execution: 'eager' })
16    .then(common.mustCall(assertSummaryShape));
17
18  vm.measureMemory({ mode: 'detailed', execution: 'eager' })
19    .then(common.mustCall(assertSingleDetailedShape));
20
21  vm.measureMemory({ mode: 'summary', execution: 'eager' })
22    .then(common.mustCall(assertSummaryShape));
23
24  assert.throws(() => vm.measureMemory(null), {
25    code: 'ERR_INVALID_ARG_TYPE'
26  });
27  assert.throws(() => vm.measureMemory('summary'), {
28    code: 'ERR_INVALID_ARG_TYPE'
29  });
30  assert.throws(() => vm.measureMemory({ mode: 'random' }), {
31    code: 'ERR_INVALID_ARG_VALUE'
32  });
33  assert.throws(() => vm.measureMemory({ execution: 'random' }), {
34    code: 'ERR_INVALID_ARG_VALUE'
35  });
36}
37