gilch / hissp

It's Python with a Lissp.
https://gitter.im/hissp-lang/community
Apache License 2.0
381 stars 11 forks source link

Consider mutation testing #46

Open gilch opened 4 years ago

gilch commented 4 years ago

100% test coverage doesn't mean that everything is actually tested. I'm not even sure if I've covered all my lines yet. I think the compiler could use a little refactoring, but I'm not quite confident enough in my tests to try it. I'm not sure which mutation testing package to use yet, or how well Travis or the like can use them.

gilch commented 3 years ago

I have at least covered all of my lines now. That only means they were run by the tests, not that the tests actually checked everything (but at least they didn't crash). Mutation testing is a much higher level of assurance. I've used mutmut on Python 2 code before, but there may be faster options for Python 3 now.

gilch commented 3 years ago

I'm also considering full type annotations and CrossHair contracts. That's probably about the best we can do short of rewriting it in Idris and proving theorems.