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