Open NicolasT opened 1 year ago
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 -> Either Condition y -> Program Basic 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?