avajs / ava

Node.js test runner that lets you develop with confidence 🚀
MIT License
20.74k stars 1.41k forks source link

Timeouts shouldn't hide assertion failures #1997

Open Marsup opened 5 years ago

Marsup commented 5 years ago

Issuehunt badges

Prerequisites

I checked other issues and couldn't find something similar, although #1485 is slightly related and is genuinely both surprising and completely counter-intuitive to me, but I'm not going to start this debate again.

Description

Test timeouts are hiding failed assertions.

Test Source

test('foo', t => {
  t.is(1, 2);
  return new Promise(() => {
    function f() {
      setTimeout(f, 10);
    }
    f();
  });
});

Error Message & Stack Trace

✖ Exited because no new tests completed within the last 2000ms of inactivity

That's all there is, no trace of the assertion.

Command-Line Arguments

ava --timeout=2s

Environment

Node.js v10.14.1
linux 4.18.0-12-generic
1.0.0-rc.2
6.4.1

There is a $40.00 open bounty on this issue. Add more on Issuehunt.

novemberborn commented 5 years ago

Agreed. This is ultimately a limitation of the reporters, though we currently don't send the results of individual assertions to the main process either. I'm adding the appropriate labels.

IssueHuntBot commented 5 years ago

@issuehunt has funded $40.00 to this issue.


yagyadeep786 commented 6 months ago

I want to contribute and fix this bug.

novemberborn commented 6 months ago

@yagyadeep786 by all means. I don’t know if this is still an issue though, you’ll want to verify that first.