This app is very IO-heavy and side-effecty. Would be nice to refactor it to write some pure tests, be able to feed in pure (mocked) filesystem events, and stuff like that.
Some simple high-level properties to test:
The same job should not be enqueued twice (so e.g. saving multiple times in succession will not each trigger a separate unit test run)
A job identical to the one currently running should cause it to be canceled and restarted
This app is very IO-heavy and side-effecty. Would be nice to refactor it to write some pure tests, be able to feed in pure (mocked) filesystem events, and stuff like that.
Some simple high-level properties to test:
Then there's all the untested IO ugliness:
SIGINT
(not sure if Haskell can do anything about these at all)