mirror of
https://github.com/zebrajr/node.git
synced 2026-01-15 12:15:26 +00:00
test: add known issues test for debugger heap snapshot race
Refs: https://github.com/nodejs/node/issues/39555 PR-URL: https://github.com/nodejs/node/pull/39557 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Michaël Zasso <targos@protonmail.com>
This commit is contained in:
committed by
Node.js GitHub Bot
parent
4d60ee8d1c
commit
7db86e7cce
48
test/known_issues/test-debugger-takeHeapSnapshot-race.js
Normal file
48
test/known_issues/test-debugger-takeHeapSnapshot-race.js
Normal file
@@ -0,0 +1,48 @@
|
||||
'use strict';
|
||||
const common = require('../common');
|
||||
|
||||
// Refs: https://github.com/nodejs/node/issues/39555
|
||||
|
||||
// After this issue is fixed, this can perhaps be integrated into
|
||||
// test/sequential/test-debugger-heap-profiler.js as it shares almost all
|
||||
// the same code.
|
||||
|
||||
// These skips should be uncommented once the issue is fixed.
|
||||
// common.skipIfInspectorDisabled();
|
||||
|
||||
// if (!common.isMainThread) {
|
||||
// common.skip('process.chdir() is not available in workers');
|
||||
// }
|
||||
|
||||
// This assert.fail() can be removed once the issue is fixed.
|
||||
if (!common.hasCrypto || !process.features.inspector) {
|
||||
require('assert').fail('crypto is not available');
|
||||
}
|
||||
|
||||
const fixtures = require('../common/fixtures');
|
||||
const startCLI = require('../common/debugger');
|
||||
const tmpdir = require('../common/tmpdir');
|
||||
|
||||
tmpdir.refresh();
|
||||
process.chdir(tmpdir.path);
|
||||
|
||||
const { readFileSync } = require('fs');
|
||||
|
||||
const filename = 'node.heapsnapshot';
|
||||
|
||||
// Check that two simultaneous snapshots don't step all over each other.
|
||||
{
|
||||
const cli = startCLI([fixtures.path('debugger/empty.js')]);
|
||||
|
||||
function onFatal(error) {
|
||||
cli.quit();
|
||||
throw error;
|
||||
}
|
||||
|
||||
return cli.waitForInitialBreak()
|
||||
.then(() => cli.waitForPrompt())
|
||||
.then(() => cli.command('takeHeapSnapshot(); takeHeapSnapshot()'))
|
||||
.then(() => JSON.parse(readFileSync(filename, 'utf8')))
|
||||
.then(() => cli.quit())
|
||||
.then(null, onFatal);
|
||||
}
|
||||
Reference in New Issue
Block a user