diff options
author | Adam Majer <amajer@suse.de> | 2019-01-25 11:32:46 +0100 |
---|---|---|
committer | Anna Henningsen <anna@addaleax.net> | 2019-01-29 00:18:32 +0100 |
commit | 8d728f5cd19574c0f33ab71340ea88502f209518 (patch) | |
tree | 2163bc62ad3ccf0642e2bdb80b1765ac531973b5 /test/parallel/test-zlib-brotli-from-string.js | |
parent | 148cac2a40c2ae743e37c964192ea7b0ae3a7fc5 (diff) | |
download | android-node-v8-8d728f5cd19574c0f33ab71340ea88502f209518.tar.gz android-node-v8-8d728f5cd19574c0f33ab71340ea88502f209518.tar.bz2 android-node-v8-8d728f5cd19574c0f33ab71340ea88502f209518.zip |
test: fix zlib-brotli output assumptions
On different architectures, it's possible for the compression algorithm
to produce slightly different outputs. So, don't assume we will
always get the same compressed output on all architectures. Instead,
verify that the decompressing pre-compressed string functions
correctly.
Fixes: https://github.com/nodejs/node/issues/25568
PR-URL: https://github.com/nodejs/node/pull/25697
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Reviewed-By: James M Snell <jasnell@gmail.com>
Diffstat (limited to 'test/parallel/test-zlib-brotli-from-string.js')
-rw-r--r-- | test/parallel/test-zlib-brotli-from-string.js | 26 |
1 files changed, 15 insertions, 11 deletions
diff --git a/test/parallel/test-zlib-brotli-from-string.js b/test/parallel/test-zlib-brotli-from-string.js index ab3673374f..30be44517a 100644 --- a/test/parallel/test-zlib-brotli-from-string.js +++ b/test/parallel/test-zlib-brotli-from-string.js @@ -14,21 +14,25 @@ const inputString = 'ΩΩLorem ipsum dolor sit amet, consectetur adipiscing eli' ' diam ipsum. Suspendisse nec ullamcorper odio. Vestibulu' + 'm arcu mi, sodales non suscipit id, ultrices ut massa. S' + 'ed ac sem sit amet arcu malesuada fermentum. Nunc sed. '; -const expectedBase64Compress = 'G/gBQBwHdky2aHV5KK9Snf05//1pPdmNw/7232fnIm1IB' + - 'K1AA8RsN8OB8Nb7Lpgk3UWWUlzQXZyHQeBBbXMTQXC1j7' + - 'wg3LJs9LqOGHRH2bj/a2iCTLLx8hBOyTqgoVuD1e+Qqdn' + - 'f1rkUNyrWq6LtOhWgxP3QUwdhKGdZm3rJWaDDBV7+pDk1' + - 'MIkrmjp4ma2xVi5MsgJScA3tP1I7mXeby6MELozrwoBQD' + - 'mVTnEAicZNj4lkGqntJe2qSnGyeMmcFgraK94vCg/4iLu' + - 'Tw5RhKhnVY++dZ6niUBmRqIutsjf5TzwF5iAg8a9UkjF5' + - '2eZ0tB2vo6v8SqVfNMkBmmhxr0NT9LkYF69aEjlYzj7IE' + - 'KmEUQf1HBogRYhFIt4ymRNEgHAIzOyNEsQM='; +const compressedString = 'G/gBQBwHdky2aHV5KK9Snf05//1pPdmNw/7232fnIm1IB' + + 'K1AA8RsN8OB8Nb7Lpgk3UWWUlzQXZyHQeBBbXMTQXC1j7' + + 'wg3LJs9LqOGHRH2bj/a2iCTLLx8hBOyTqgoVuD1e+Qqdn' + + 'f1rkUNyrWq6LtOhWgxP3QUwdhKGdZm3rJWaDDBV7+pDk1' + + 'MIkrmjp4ma2xVi5MsgJScA3tP1I7mXeby6MELozrwoBQD' + + 'mVTnEAicZNj4lkGqntJe2qSnGyeMmcFgraK94vCg/4iLu' + + 'Tw5RhKhnVY++dZ6niUBmRqIutsjf5TzwF5iAg8a9UkjF5' + + '2eZ0tB2vo6v8SqVfNMkBmmhxr0NT9LkYF69aEjlYzj7IE' + + 'KmEUQf1HBogRYhFIt4ymRNEgHAIzOyNEsQM='; zlib.brotliCompress(inputString, common.mustCall((err, buffer) => { - assert.strictEqual(buffer.toString('base64'), expectedBase64Compress); + assert(inputString.length > buffer.length); + + zlib.brotliDecompress(buffer, common.mustCall((err, buffer) => { + assert.strictEqual(buffer.toString(), inputString); + })); })); -const buffer = Buffer.from(expectedBase64Compress, 'base64'); +const buffer = Buffer.from(compressedString, 'base64'); zlib.brotliDecompress(buffer, common.mustCall((err, buffer) => { assert.strictEqual(buffer.toString(), inputString); })); |