Skip to content
Andy Gill edited this page May 16, 2015 · 4 revisions

A collection of notes about the implementation (what could be improved, deprecated, changed, etc):

Tests

  • Run the examples with make test. The reference output for the diffs is in tests/golden. If make test spits out some diff output, that means a test failed due to differing output. If you look at the diff and think the new output is correct, then delete the appropriate *.ref file in tests/golden and run make test again. The test script will detect that no reference file exists and generate a new one. This can then be committed to the repo.

  • Another way to run tests is

$ cabal exec bash
$ echo main | ghci Main.hs
  • An obvious improvement would be to modify make test to do whatever is necessary to indicate success/failure to Travis CI, so it can run the tests on each commit/push. I generally run the tests before pushing, and they have been useful at catching things.

  • There are a number of de facto tests that I also run that aren't included in make test. This includes the hermit-syb benchmarks, the hermit-streamfusion examples, the Century example and the Type Class Laws study. It would be nice to bring them into the test suite, but for now its a manual (but valuable) process. There are decent Makefiles at least.

Clone this wiki locally