Skip to content

Commit

Permalink
test: s390x z15 accelerated zlib fixes
Browse files Browse the repository at this point in the history
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: #44117
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
  • Loading branch information
AdamMajer authored and juanarbol committed Oct 10, 2022
1 parent 2ed13cc commit 85673c5
Show file tree
Hide file tree
Showing 3 changed files with 5 additions and 3 deletions.
2 changes: 1 addition & 1 deletion test/parallel/test-zlib-dictionary-fail.js
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down
2 changes: 1 addition & 1 deletion test/parallel/test-zlib-flush-drain-longblock.js
Original file line number Diff line number Diff line change
Expand Up @@ -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));

Expand Down
4 changes: 3 additions & 1 deletion test/parallel/test-zlib-from-string.js
Original file line number Diff line number Diff line change
Expand Up @@ -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) => {
Expand Down

0 comments on commit 85673c5

Please sign in to comment.