pharo-contributions / mutalk

Mutation Testing in Pharo Smalltalk
22 stars 14 forks source link

TestTookTooMuchTime exception stops the analysis #94

Closed PalumboN closed 7 months ago

PalumboN commented 9 months ago

I was running the mutations and a debugger opened due to a TestTookTooMuchTime exception because of an infinite loop (consequence of the mutation).

This exception should count as any exception, failing the test and killing the mutant. And, also important, to not stop the analysis.

DurieuxPol commented 7 months ago

There are tests in MuTalk that normally handle infinite loops. Maybe you changed something in the API of unit tests and the excepetion is not handled anymore.

PalumboN commented 7 months ago

How is it handled? It was an infinite recursion really.

guillep commented 7 months ago

Yes but SUnit already manages that, and we depend on that support. What I was discussing with @DurieuxPol is that maybe some tests in the VM redefine #runCaseManaged: and probably workaround the time out detection support (which in turn breaks mutalk)

DurieuxPol commented 7 months ago

It is Pharo which handles it. What I meant is that there are tests in MuTalk where the analysis generates infinite loops (for example MTAnalysisTest>>#testExecutingInfiniteLoopAnalysis), but the tests checks if the mutant is killed. So I don't think mutalk is the problem here.