From 49bcae6196f7903e4ae283303bb9fe3bbbee8a14 Mon Sep 17 00:00:00 2001 From: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> Date: Fri, 8 Mar 2024 04:56:06 -0800 Subject: [PATCH] Deflake --- test/js/node/stream/emit-readable-on-end.js | 19 +++++++++++++++++++ test/js/node/stream/node-stream.test.js | 14 ++------------ 2 files changed, 21 insertions(+), 12 deletions(-) create mode 100644 test/js/node/stream/emit-readable-on-end.js diff --git a/test/js/node/stream/emit-readable-on-end.js b/test/js/node/stream/emit-readable-on-end.js new file mode 100644 index 0000000000..f6f4944593 --- /dev/null +++ b/test/js/node/stream/emit-readable-on-end.js @@ -0,0 +1,19 @@ +const { writeFileSync, createReadStream } = require("fs"); +const { join } = require("path"); +const { tmpdir } = require("os"); + +// This test should fail if ot doesn't go through the "readable" event +process.exitCode = 1; + +const testData = new Uint8Array(parseInt(process.env.READABLE_SIZE || (1024 * 1024).toString(10))).fill("a"); +const path = join(tmpdir(), `${Date.now()}-testEmitReadableOnEnd.txt`); +writeFileSync(path, testData); + +const stream = createReadStream(path); + +stream.on("readable", () => { + const chunk = stream.read(); + if (!chunk) { + process.exitCode = 0; + } +}); diff --git a/test/js/node/stream/node-stream.test.js b/test/js/node/stream/node-stream.test.js index 07e993664c..51544a5e79 100644 --- a/test/js/node/stream/node-stream.test.js +++ b/test/js/node/stream/node-stream.test.js @@ -188,18 +188,8 @@ describe("createReadStream", () => { }); }); - it("should emit readable on end", done => { - const testData = "Hello world"; - const path = join(tmpdir(), `${Date.now()}-testEmitReadableOnEnd.txt`); - writeFileSync(path, testData); - const stream = createReadStream(path); - - stream.on("readable", () => { - const chunk = stream.read(); - if (!chunk) { - done(); - } - }); + it("should emit readable on end", () => { + expect([join(import.meta.dir, "emit-readable-on-end.js")]).toRun(); }); });