JetBrains / lincheck

Framework for testing concurrent data structures
Mozilla Public License 2.0
555 stars 31 forks source link

User code can catch internal Linchek ForcibleExecutionFinishException by catching Exception #225

Closed avpotapov00 closed 5 months ago

avpotapov00 commented 11 months ago

We use ForcibleExecutionFinishException to break the execution if we have some sudden invocation result. However, tested code can catch some exceptions and don't re-throw them. If ForcibleExecutionFinishException is ignored, we may never know that execution was halted.

ndkoval commented 11 months ago

To fix the issue, you need to transform all catch blocks, propagating ForcibleExecutionFinishException

ndkoval commented 11 months ago

Let's fix it after #136

ndkoval commented 6 months ago

Let's simply make it an Error, and that will likely be enough in practice!