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 if (!common.isWindows) { 19 vm.measureMemory({ mode: 'detailed', execution: 'eager' }) 20 .then(common.mustCall(assertSingleDetailedShape)); 21 } 22 23 vm.measureMemory({ mode: 'summary', execution: 'eager' }) 24 .then(common.mustCall(assertSummaryShape)); 25 26 assert.throws(() => vm.measureMemory(null), { 27 code: 'ERR_INVALID_ARG_TYPE' 28 }); 29 assert.throws(() => vm.measureMemory('summary'), { 30 code: 'ERR_INVALID_ARG_TYPE' 31 }); 32 assert.throws(() => vm.measureMemory({ mode: 'random' }), { 33 code: 'ERR_INVALID_ARG_VALUE' 34 }); 35 assert.throws(() => vm.measureMemory({ execution: 'random' }), { 36 code: 'ERR_INVALID_ARG_VALUE' 37 }); 38} 39