Skip to content

Commit 9ccdf4f

Browse files
RaisinTenaduh95
authored andcommitted
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: #58478 (comment) Signed-off-by: Darshan Sen <raisinten@gmail.com> PR-URL: #58601 Reviewed-By: Juan José Arboleda <soyjuanarbol@gmail.com> Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com> Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
1 parent d2f6c82 commit 9ccdf4f

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)