test: refactor test-fs-empty-readStream
authorRich Trott <rtrott@gmail.com>
Wed, 30 Dec 2015 22:02:28 +0000 (14:02 -0800)
committerMyles Borins <mborins@us.ibm.com>
Tue, 19 Jan 2016 19:52:35 +0000 (11:52 -0800)
Refactor test to remove unnecessary booleans and one unnecesary timer.
Instead, throw Error objects where appropriate and rely on
common.mustCall().

The timer seemed to be the source of an issue when parallelizing tests.

Ref: https://github.com/nodejs/node/pull/4476#issuecomment-168080875
PR-URL: https://github.com/nodejs/node/pull/4490
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
test/parallel/test-fs-empty-readStream.js

index 0863e0c..c5a016f 100644 (file)
@@ -15,15 +15,7 @@ fs.open(emptyFile, 'r', function(error, fd) {
     throw new Error('data event should not emit');
   });
 
-  var readEmit = false;
-  read.once('end', function() {
-    readEmit = true;
-    console.error('end event 1');
-  });
-
-  setTimeout(function() {
-    assert.equal(readEmit, true);
-  }, common.platformTimeout(50));
+  read.once('end', common.mustCall(function endEvent1() {}));
 });
 
 fs.open(emptyFile, 'r', function(error, fd) {
@@ -36,13 +28,11 @@ fs.open(emptyFile, 'r', function(error, fd) {
     throw new Error('data event should not emit');
   });
 
-  var readEmit = false;
-  read.once('end', function() {
-    readEmit = true;
-    console.error('end event 2');
+  read.once('end', function endEvent2() {
+    throw new Error('end event should not emit');
   });
 
   setTimeout(function() {
-    assert.equal(readEmit, false);
+    assert.equal(read.isPaused(), true);
   }, common.platformTimeout(50));
 });