You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When running a test using invariants with tasty-dejafu, when an invariant is violated, all it shows is invariant failure with a trace. I believe this comes from the showCondition function, which doesn't display the inner exception of an InvariantFailure but does include this in the UncaughtException case.
Since my code checking invariants throws exceptions with some message explaining which invariant was violated, it'd be useful to have this displayed so at least I know what's causing the failure (it's not clear from the trace, could be a bug in my invariant check as well).
Is there a particular reason why the exception is discarded? If not, could it be added similar to the UncaughtException case?
The text was updated successfully, but these errors were encountered:
I was, for now, able to recover the exception by using a withTeardown from which I print the Condition in a liftIO. Ugly but worked.
This lead me to another question: withTeardown is
(x ->EitherCondition y ->ProgramBasic n a)
->Program (WithSetup x) n y
->Program (WithSetupAndTeardown x y) n a
Given the teardown function must yield an a, and only got a Condition or an y, the Consistent Result check won't really work since all a can be is some constant.
(Answering my own question: I only realized while writing this, a could be Maybe y in which case the Consistent Result test still makes sense, and the teardown function returns Nothing in case it gets a Left _ value)
When running a test using invariants with
tasty-dejafu
, when an invariant is violated, all it shows isinvariant failure
with a trace. I believe this comes from theshowCondition
function, which doesn't display the inner exception of anInvariantFailure
but does include this in theUncaughtException
case.Since my code checking invariants throws exceptions with some message explaining which invariant was violated, it'd be useful to have this displayed so at least I know what's causing the failure (it's not clear from the trace, could be a bug in my invariant check as well).
Is there a particular reason why the exception is discarded? If not, could it be added similar to the
UncaughtException
case?The text was updated successfully, but these errors were encountered: