Skip to content

v5.0.2

Compare
Choose a tag to compare
@boneskull boneskull released this 06 Mar 01:55
f2ee53c

5.0.2 / 2018-03-05

This release fixes a class of tests which report as false positives. Certain tests will now break, though they would have previously been reported as passing. Details below. Sorry for the inconvenience!

🐛 Fixes

  • #3226: Do not swallow errors that are thrown asynchronously from passing tests (@boneskull). Example:

    it('should actually fail, sorry!', function (done) {
      // passing assertion
      assert(true === true);
    
      // test complete & is marked as passing
      done();
    
      // ...but something evil lurks within
      setTimeout(() => {
        throw new Error('chaos!');
      }, 100);
    });

    Previously to this version, Mocha would have silently swallowed the chaos! exception, and you wouldn't know. Well, now you know. Mocha cannot recover from this gracefully, so it will exit with a nonzero code.

    Maintainers of external reporters: If a test of this class is encountered, the Runner instance will emit the end event twice; you may need to change your reporter to use runner.once('end') intead of runner.on('end').

  • #3093: Fix stack trace reformatting problem (@outsideris)

🔩 Other