From 159889488607add5e278cc10cbc180a601b5cf5a Mon Sep 17 00:00:00 2001 From: Adam Majer Date: Sat, 6 Aug 2022 23:29:00 +0200 Subject: [PATCH] test: s390x z15 accelerated zlib fixes Modern s390x x15 has accelerated zlib operations on the CPU. Many distros currently have patches to take advantage of this feature. One side-effect of these patches is that compression routine is no longer deterministic as with software. Interruption to input produces different compressed results. Invalid input can result in processor fault. PR-URL: https://github.com/nodejs/node/pull/44117 Reviewed-By: Luigi Pinca Reviewed-By: Michael Dawson Reviewed-By: Richard Lau --- test/parallel/test-zlib-dictionary-fail.js | 2 +- test/parallel/test-zlib-flush-drain-longblock.js | 2 +- test/parallel/test-zlib-from-string.js | 4 +++- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/test/parallel/test-zlib-dictionary-fail.js b/test/parallel/test-zlib-dictionary-fail.js index 269b733e2c6d56..9546954841f4b1 100644 --- a/test/parallel/test-zlib-dictionary-fail.js +++ b/test/parallel/test-zlib-dictionary-fail.js @@ -53,7 +53,7 @@ const input = Buffer.from([0x78, 0xBB, 0x04, 0x09, 0x01, 0xA5]); stream.on('error', common.mustCall(function(err) { // It's not possible to separate invalid dict and invalid data when using // the raw format - assert.match(err.message, /invalid/); + assert.match(err.message, /(invalid|Operation-Ending-Supplemental Code is 0x12)/); })); stream.write(input); diff --git a/test/parallel/test-zlib-flush-drain-longblock.js b/test/parallel/test-zlib-flush-drain-longblock.js index 94d1d9d04d9369..e2f56ec76292bf 100644 --- a/test/parallel/test-zlib-flush-drain-longblock.js +++ b/test/parallel/test-zlib-flush-drain-longblock.js @@ -16,7 +16,7 @@ zipper.write('A'.repeat(17000)); zipper.flush(); let received = 0; -unzipper.on('data', common.mustCall((d) => { +unzipper.on('data', common.mustCallAtLeast((d) => { received += d.length; }, 2)); diff --git a/test/parallel/test-zlib-from-string.js b/test/parallel/test-zlib-from-string.js index fa96623536d279..92b6f8664666a0 100644 --- a/test/parallel/test-zlib-from-string.js +++ b/test/parallel/test-zlib-from-string.js @@ -55,7 +55,9 @@ const expectedBase64Gzip = 'H4sIAAAAAAAAA11RS05DMQy8yhzg6d2BPSAkJPZu4laWkjiN4' + 'sHnHNzRtagj5AQAA'; zlib.deflate(inputString, common.mustCall((err, buffer) => { - assert.strictEqual(buffer.toString('base64'), expectedBase64Deflate); + zlib.inflate(buffer, common.mustCall((err, inflated) => { + assert.strictEqual(inflated.toString(), inputString); + })); })); zlib.gzip(inputString, common.mustCall((err, buffer) => {