From 210ddf260d39664b3c517818a4d17be6612c704b Mon Sep 17 00:00:00 2001 From: Douglas Christopher Wilson Date: Fri, 10 Oct 2014 20:44:52 -0400 Subject: [PATCH] test: store the value in large packet test --- .../test-send-and-receive-large-packets.js | 40 +++++++++++-------- 1 file changed, 24 insertions(+), 16 deletions(-) diff --git a/test/integration/connection/test-send-and-receive-large-packets.js b/test/integration/connection/test-send-and-receive-large-packets.js index 80b79ec83..61a4c02a4 100644 --- a/test/integration/connection/test-send-and-receive-large-packets.js +++ b/test/integration/connection/test-send-and-receive-large-packets.js @@ -11,8 +11,8 @@ common.getTestConnection(function (err, connection) { var oldMaxAllowedPacket; function getMaxAllowedPacket(connection) { - connection.query('SHOW VARIABLES WHERE Variable_name = ?', ['max_allowed_packet'], function(err, rows) { - if (err) throw err; + connection.query('SHOW VARIABLES WHERE Variable_name = ?', ['max_allowed_packet'], function (err, rows) { + assert.ifError(err); oldMaxAllowedPacket = Number(rows[0].Value); @@ -29,9 +29,8 @@ function increaseMaxAllowedPacketIfNeeded(connection) { ? minMaxAllowedPacket : oldMaxAllowedPacket; - connection.query('SET GLOBAL max_allowed_packet = ?', [newMaxAllowedPacket], function(err, rows) { - if (err) throw err; - + connection.query('SET GLOBAL max_allowed_packet = ?', [newMaxAllowedPacket], function (err, rows) { + assert.ifError(err); // We need to re-connect for this change to take effect, bah connection.end(); @@ -40,35 +39,44 @@ function increaseMaxAllowedPacketIfNeeded(connection) { // We need to wait for the re-connect to happen before starting the actual // test. That's because our buffer to hex shim in 0.4.x takes ~12 sec on // TravisCI, causing a MySQL connection timeout otherwise. - connection.connect(function(err) { - if (err) throw err; + connection.connect(function (err) { + assert.ifError(err); triggerLargeQueryAndResponsePackets(connection); }); }); } -var length = (Math.pow(256, 3) / 2) + 10; // Half, because of hex encoding -var trailing = 'tailing text'; +var length = (Math.pow(256, 3) / 2) + 10; // Half, because of hex encoding +var random = crypto.pseudoRandomBytes || crypto.randomBytes; // Depends on node.js version +var table = 'large_packet_test'; function triggerLargeQueryAndResponsePackets(connection) { - var random = crypto.pseudoRandomBytes || crypto.randomBytes; // Depends on node.js version - var sql = 'SELECT ? as bigField, ? as trailingField'; - random(length, function (err, buf) { assert.ifError(err); assert.equal(buf.length, length); - connection.query(sql, [buf, trailing], function (err, rows) { + common.useTestDb(connection); + + connection.query([ + 'CREATE TEMPORARY TABLE ?? (', + '`id` int(11) unsigned NOT NULL AUTO_INCREMENT,', + '`bb` longblob NOT NULL,', + 'PRIMARY KEY (`id`)', + ') ENGINE=InnoDB DEFAULT CHARSET=utf8' + ].join('\n'), [table], assert.ifError); + + connection.query('INSERT INTO ?? SET ?', [table, {bb: buf}], assert.ifError); + + connection.query('SELECT `id`, `bb` FROM ??', [table], function (err, rows) { assert.ifError(err); connection.query('SET GLOBAL max_allowed_packet = ?', [oldMaxAllowedPacket], assert.ifError); connection.end(function (err) { assert.ifError(err); assert.equal(rows.length, 1); - assert.equal(rows[0].trailingField, trailing); - assert.equal(rows[0].bigField.length, buf.length); - assert.equal(rows[0].bigField.toString('base64'), buf.toString('base64')); + assert.equal(rows[0].bb.length, buf.length); + assert.equal(rows[0].bb.toString('base64'), buf.toString('base64')); }); }); });