NorfairKing / sydtest

A modern testing framework for Haskell with good defaults and advanced testing features.
115 stars 25 forks source link

Is it possible to run sydtest not catching exceptions? #72

Closed uhbif19 closed 1 year ago

uhbif19 commented 1 year ago

Context: GHCi seem to have post-mortem debugging support. I can interpret tests with GHCid. But for using such debugging I need test runner to actually raise exception. One can start one specific test, but it is less fast convenient.

So is it possible to run sydtest raising exceptions? If not, where can I patch runner to make it work?

NorfairKing commented 1 year ago

@uhbif19 There's no way to do that. Can you show me where you're using Sydtest? Maybe I can point out the X in what looks like an X-Y problem.

In essence, Sydtest is a test runner + test description DSL. You could write your own runner of course, but that is probably way more effort than necessary.

uhbif19 commented 1 year ago

Can you show me where you're using Sydtest?

It is just regular IO test, nothing fancy.

Maybe I can point out the X in what looks like an X-Y problem.

I do not understand. N*M problem? I do not see it here.

You could write your own runner of course, but that is probably way more effort than necessary.

Yes. It is just Tasty combines some overridable parts into runner, I thought maybe sydtest has something like that. It seems like IsTest does exception catching, so I can just use custom IsTest implementation based on this. Will try that. https://github.com/NorfairKing/sydtest/blob/1677373fb6af28201d90422842ad6e8db0e5106d/sydtest/src/Test/Syd/Run.hs#L377

NorfairKing commented 1 year ago

It is just regular IO test, nothing fancy.

Okido, make sure you're aware of the license.

uhbif19 commented 1 year ago

@NorfairKing

Thanks, I was not aware. While this project is OS, so for it it is probably okay.

So your license is copy-left? Could you please point this in README, because it is was not clear to me that you need to check license.

https://github.com/NorfairKing/sydtest/tree/1677373fb6af28201d90422842ad6e8db0e5106d#license

NorfairKing commented 1 year ago

@uhbif19 It's not copy-left. In fact it's not even free, strictly speaking.

uhbif19 commented 1 year ago

@NorfairKing I am not sure how it should be named. In Russian it is named "viral", meaning that any code which uses this code, gets infected with being Open Source and follow license itself. I am not sure how is this named in English. But it seems like that is what your Conditions section say.

Of course it mentions "case-by-case" non-OpenSource use, but such conditions are just dual-licensing AFAIU.