From a26d60221e14d3ae5e66a8e07649ceb897eb269a Mon Sep 17 00:00:00 2001 From: dpg5000 Date: Fri, 30 Dec 2016 19:50:35 -0800 Subject: [PATCH 1/4] test: remove process.on('exit') with callback wrapper common.mustCall --- test/parallel/test-stream2-readable-wrap.js | 57 +++++++++------------ 1 file changed, 25 insertions(+), 32 deletions(-) diff --git a/test/parallel/test-stream2-readable-wrap.js b/test/parallel/test-stream2-readable-wrap.js index 0cbd106d5b4b35..b760820130a940 100644 --- a/test/parallel/test-stream2-readable-wrap.js +++ b/test/parallel/test-stream2-readable-wrap.js @@ -1,24 +1,22 @@ 'use strict'; require('../common'); -var assert = require('assert'); +const assert = require('assert'); -var Readable = require('_stream_readable'); -var Writable = require('_stream_writable'); -var EE = require('events').EventEmitter; +const Readable = require('_stream_readable'); +const Writable = require('_stream_writable'); +const EE = require('events').EventEmitter; -var testRuns = 0, completedRuns = 0; function runTest(highWaterMark, objectMode, produce) { - testRuns++; - var old = new EE(); - var r = new Readable({ highWaterMark: highWaterMark, + const old = new EE(); + const r = new Readable({ highWaterMark: highWaterMark, objectMode: objectMode }); - assert.equal(r, r.wrap(old)); + assert.strictEqual(r, r.wrap(old)); - var ended = false; - r.on('end', function() { + let ended = false; + r.on('end', common.mustCall(function() { ended = true; - }); + })); old.pause = function() { console.error('old.pause()'); @@ -32,14 +30,14 @@ function runTest(highWaterMark, objectMode, produce) { flow(); }; - var flowing; - var chunks = 10; - var oldEnded = false; - var expected = []; + let flowing; + let chunks = 10; + let oldEnded = false; + const expected = []; function flow() { flowing = true; while (flowing && chunks-- > 0) { - var item = produce(); + const item = produce(); expected.push(item); console.log('old.emit', chunks, flowing); old.emit('data', item); @@ -52,19 +50,18 @@ function runTest(highWaterMark, objectMode, produce) { } } - var w = new Writable({ highWaterMark: highWaterMark * 2, + const w = new Writable({ highWaterMark: highWaterMark * 2, objectMode: objectMode }); - var written = []; + const written = []; w._write = function(chunk, encoding, cb) { console.log('_write', chunk); written.push(chunk); - setTimeout(cb); + setTimeout(cb, 1000); }; - w.on('finish', function() { - completedRuns++; + w.on('finish', common.mustCall(function() { performAsserts(); - }); + })); r.pipe(w); @@ -77,14 +74,10 @@ function runTest(highWaterMark, objectMode, produce) { } } -runTest(100, false, function() { return Buffer.allocUnsafe(100); }); -runTest(10, false, function() { return Buffer.from('xxxxxxxxxx'); }); -runTest(1, true, function() { return { foo: 'bar' }; }); +runTest(100, false, common.mustCall(function() { return Buffer.allocUnsafe(100); }); +runTest(10, false, common.mustCall(function() { return Buffer.from('xxxxxxxxxx'); })); +runTest(1, true, common.mustCall(function() { return { foo: 'bar' }; })); -var objectChunks = [ 5, 'a', false, 0, '', 'xyz', { x: 4 }, 7, [], 555 ]; -runTest(1, true, function() { return objectChunks.shift(); }); +const objectChunks = [ 5, 'a', false, 0, '', 'xyz', { x: 4 }, 7, [], 555 ]; +runTest(1, true, common.mustCall(function() { return objectChunks.shift(); })); -process.on('exit', function() { - assert.equal(testRuns, completedRuns); - console.log('ok'); -}); From fd8fa5b1bdf9b2f20701a2b7c482e127b6972717 Mon Sep 17 00:00:00 2001 From: dpg5000 Date: Fri, 30 Dec 2016 19:58:08 -0800 Subject: [PATCH 2/4] test: remove process.on('exit') with callback wrapper common.mustCall --- test/parallel/test-stream2-readable-wrap.js | 1 - 1 file changed, 1 deletion(-) diff --git a/test/parallel/test-stream2-readable-wrap.js b/test/parallel/test-stream2-readable-wrap.js index b760820130a940..23a0c47009547d 100644 --- a/test/parallel/test-stream2-readable-wrap.js +++ b/test/parallel/test-stream2-readable-wrap.js @@ -1,7 +1,6 @@ 'use strict'; require('../common'); const assert = require('assert'); - const Readable = require('_stream_readable'); const Writable = require('_stream_writable'); const EE = require('events').EventEmitter; From 15a48bc774582ea3f32afadf1fd13dc522cc7904 Mon Sep 17 00:00:00 2001 From: dpg5000 Date: Fri, 30 Dec 2016 20:08:51 -0800 Subject: [PATCH 3/4] test: implement callback wrapper common.mustCall --- test/parallel/test-stream2-readable-wrap.js | 1 + 1 file changed, 1 insertion(+) diff --git a/test/parallel/test-stream2-readable-wrap.js b/test/parallel/test-stream2-readable-wrap.js index 23a0c47009547d..794083afa19479 100644 --- a/test/parallel/test-stream2-readable-wrap.js +++ b/test/parallel/test-stream2-readable-wrap.js @@ -1,5 +1,6 @@ 'use strict'; require('../common'); + const assert = require('assert'); const Readable = require('_stream_readable'); const Writable = require('_stream_writable'); From b550a8ce157a7fd9e7b3f91fa8884a33a0bb6337 Mon Sep 17 00:00:00 2001 From: dpg5000 Date: Sat, 31 Dec 2016 00:04:54 -0800 Subject: [PATCH 4/4] test: refactor test-stream2-readable-wrap.js --- test/parallel/test-stream2-readable-wrap.js | 32 +++++++-------------- 1 file changed, 10 insertions(+), 22 deletions(-) diff --git a/test/parallel/test-stream2-readable-wrap.js b/test/parallel/test-stream2-readable-wrap.js index 794083afa19479..aa091dc3d806f0 100644 --- a/test/parallel/test-stream2-readable-wrap.js +++ b/test/parallel/test-stream2-readable-wrap.js @@ -1,6 +1,5 @@ 'use strict'; -require('../common'); - +const common = require('../common'); const assert = require('assert'); const Readable = require('_stream_readable'); const Writable = require('_stream_writable'); @@ -10,22 +9,17 @@ function runTest(highWaterMark, objectMode, produce) { const old = new EE(); const r = new Readable({ highWaterMark: highWaterMark, - objectMode: objectMode }); + objectMode: objectMode }); assert.strictEqual(r, r.wrap(old)); - let ended = false; - r.on('end', common.mustCall(function() { - ended = true; - })); + r.on('end', common.mustCall(function() {})); old.pause = function() { - console.error('old.pause()'); old.emit('pause'); flowing = false; }; old.resume = function() { - console.error('old.resume()'); old.emit('resume'); flow(); }; @@ -39,24 +33,20 @@ function runTest(highWaterMark, objectMode, produce) { while (flowing && chunks-- > 0) { const item = produce(); expected.push(item); - console.log('old.emit', chunks, flowing); old.emit('data', item); - console.log('after emit', chunks, flowing); } if (chunks <= 0) { oldEnded = true; - console.log('old end', chunks, flowing); old.emit('end'); } } - const w = new Writable({ highWaterMark: highWaterMark * 2, - objectMode: objectMode }); + const w = new Writable({ highWaterMark: highWaterMark * 2, + objectMode: objectMode }); const written = []; w._write = function(chunk, encoding, cb) { - console.log('_write', chunk); written.push(chunk); - setTimeout(cb, 1000); + setTimeout(cb, 1); }; w.on('finish', common.mustCall(function() { @@ -68,16 +58,14 @@ function runTest(highWaterMark, objectMode, produce) { flow(); function performAsserts() { - assert(ended); assert(oldEnded); assert.deepStrictEqual(written, expected); } } -runTest(100, false, common.mustCall(function() { return Buffer.allocUnsafe(100); }); -runTest(10, false, common.mustCall(function() { return Buffer.from('xxxxxxxxxx'); })); -runTest(1, true, common.mustCall(function() { return { foo: 'bar' }; })); +runTest(100, false, function() { return Buffer.allocUnsafe(100); }); +runTest(10, false, function() { return Buffer.from('xxxxxxxxxx'); }); +runTest(1, true, function() { return { foo: 'bar' }; }); const objectChunks = [ 5, 'a', false, 0, '', 'xyz', { x: 4 }, 7, [], 555 ]; -runTest(1, true, common.mustCall(function() { return objectChunks.shift(); })); - +runTest(1, true, function() { return objectChunks.shift(); });