a code coverage tool for racket
Go to file
2015-01-07 00:21:40 -05:00
private pretty print coveralls data in verbose mode 2015-01-06 23:41:13 -05:00
scribblings added the ability to cover other file extensions 2015-01-04 16:14:20 -05:00
tests fixed a contract bug 2015-01-02 14:48:52 -05:00
.gitignore added a gitignore 2014-12-28 15:08:43 -05:00
.travis.yml looks like travis issues are a racket version issue 2015-01-07 00:12:21 -05:00
cover.rkt display datums not syntax 2015-01-07 00:21:40 -05:00
coverage.rkt initial commit 2014-09-22 17:03:24 -05:00
format.rkt added raw output: only useful for debugging 2014-12-30 12:18:05 -06:00
info.rkt tweak to info.rkt to try to get pkg server to build docs 2015-01-06 17:48:07 -05:00
main.rkt fixed a contract bug 2015-01-02 14:48:52 -05:00
raco.rkt Fix typo in raco output (dumbing -> dumping) 2015-01-06 14:06:33 -08:00
README.md updated readme with travis info 2015-01-06 23:01:19 -05:00
strace.rkt now disabling test coverage when its not needed 2014-12-28 22:24:14 -06:00

Cover

This library is a supplement to rackets raco test that adds code coverage capabilities.

How to install

install via raco pkg install cover. To install for development, checkout the repo into a folder named cover and in the parent directory run raco pkg install cover/.

How to use

To view the arguments for Cover run raco cover -h.

Code coverage can be generated by specifying the -c <format> flag. Right now the valid formats are: html and coveralls.

html simply generates html files for each source file containing coverage information and highlighted source code.

coveralls generates a coveralls coverage report and sends it to coveralls. Using coveralls requires the "COVERALLS_REPO_TOKEN" to be set, and needs bash and curl. Travic-ci/Coveralls support coming soon...

Note that coveralls expect coverage by line. To convert from an expression based coverage to line based coverage we consider any line with any unrun expression to be not run.

The directory that the coverage is outputted to can be specified with the -d flag.

If any tests run by rackunit fail, Cover will return with exit code 1. If all tests pass it will return with exit code 0.

Use with TravisCI

If your code is hosted on a public github repo then you can use this plugin in conjunction with TravisCI and Coveralls. Just enable your repository on both services and then add a .travis.yml file to your repo with the following contents:

langauge: c
env:
  - RACKET_VERSION=6.1.1

before_install:
  - git clone https://github.com/greghendershott/travis-racket.git ../travis-racket
  - cat ../travis-racket/install-racket.sh | bash

script:
 - /usr/racket/bin/raco pkg install --deps search-auto $TRAVIS_BUILD_DIR # install dependencies
 - /usr/racket/bin/raco test $TRAVIS_BUILD_DIR # run tests. you wrote tests, right?
 - /usr/racket/bin/raco cover -c coveralls -d $TRAVIS_BUILD_DIR/coverage . # generate coverage information

The above Travis configuration will install any project dependencies, test your project, and report coverage information to coveralls.

For a contrived example project, look at an example. For additional Travis configuration information look at Travis Racket.

Note: This currently only works for public Github repos. This project does not support coveralls.yml configurations for private repos.

Internals

Cover also comes with a racket API for running tests and generating coverage reports. Documentation coming soon...