Skip to content

Commit b23648e

Browse files
authored
test: improve flakiness detection on stack corruption tests
This change skips asserting the exit code of the child process with the corrupted async hooks stack only on those platforms where termination via a signal has been observed. Refs: nodejs#58478 (comment) Signed-off-by: Darshan Sen <[email protected]> PR-URL: nodejs#58601 Reviewed-By: Juan José Arboleda <[email protected]> Reviewed-By: Joyee Cheung <[email protected]> Reviewed-By: Rafael Gonzaga <[email protected]> Reviewed-By: Luigi Pinca <[email protected]>
1 parent 40d8983 commit b23648e

File tree

2 files changed

+10
-4
lines changed

2 files changed

+10
-4
lines changed

test/async-hooks/test-emit-after-on-destroyed.js

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,9 +53,12 @@ if (process.argv[2] === 'child') {
5353
child.stdout.on('data', (d) => { outData = Buffer.concat([ outData, d ]); });
5454

5555
child.on('close', common.mustCall((code, signal) => {
56-
if (signal) {
57-
console.log(`Child closed with signal: ${signal}`);
56+
if ((common.isAIX ||
57+
(common.isLinux && process.arch === 'x64')) &&
58+
signal === 'SIGABRT') {
59+
// XXX: The child process could be aborted due to unknown reasons. Work around it.
5860
} else {
61+
assert.strictEqual(signal, null);
5962
assert.strictEqual(code, 1);
6063
}
6164
assert.match(outData.toString(), heartbeatMsg,

test/async-hooks/test-improper-unwind.js

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,9 +56,12 @@ if (process.argv[2] === 'child') {
5656
child.stdout.on('data', (d) => { outData = Buffer.concat([ outData, d ]); });
5757

5858
child.on('close', common.mustCall((code, signal) => {
59-
if (signal) {
60-
console.log(`Child closed with signal: ${signal}`);
59+
if ((common.isAIX ||
60+
(common.isLinux && process.arch === 'x64')) &&
61+
signal === 'SIGABRT') {
62+
// XXX: The child process could be aborted due to unknown reasons. Work around it.
6163
} else {
64+
assert.strictEqual(signal, null);
6265
assert.strictEqual(code, 1);
6366
}
6467
assert.match(outData.toString(), heartbeatMsg,

0 commit comments

Comments
 (0)