1// Flags: --expose-gc
2
3'use strict';
4const common = require('../common');
5const {
6  assertSummaryShape,
7  expectExperimentalWarning
8} = require('../common/measure-memory');
9const vm = require('vm');
10
11expectExperimentalWarning();
12
13// Test lazy memory measurement - we will need to global.gc()
14// or otherwise these may not resolve.
15{
16  vm.measureMemory()
17    .then(common.mustCall(assertSummaryShape));
18  global.gc();
19}
20
21{
22  vm.measureMemory({})
23    .then(common.mustCall(assertSummaryShape));
24  global.gc();
25}
26
27{
28  vm.measureMemory({ mode: 'summary' })
29    .then(common.mustCall(assertSummaryShape));
30  global.gc();
31}
32
33{
34  vm.measureMemory({ mode: 'detailed' })
35    .then(common.mustCall(assertSummaryShape));
36  global.gc();
37}
38