diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 30693d8..e0de0eb 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -36,6 +36,37 @@ Do not commit to master in your fork. Provide a clean branch without merge commits. +Tests +----- + +As a general rule, any behavioral change to rebar requires a test to go with it. If there's +already a test case, you may have to modify that one. If there isn't a test case or a test +suite, add a new test case or suite in `inttest/`. [retest](https://github.com/dizzyd/retest) based tests are preferred, but +we also have EUnit tests in `test/`. + +Say you've added a new test case in `inttest/erlc`. To only execute the modified suite, +you would do the following: +```sh +# First we build rebar and its deps to also get `deps/retest/retest` +$ make debug deps +# Now we can test the modified erlc suite +$ deps/retest/retest -v inttest/erlc +``` + +To test EUnit tests, you would do: +```sh +$ make debug +$ ./rebar -v eunit +``` + +You can also run `make test` to execute both EUnit and [retest](https://github.com/dizzyd/retest) tests as `make check` does. + +Credit +------ + +To give everyone proper credit in addition to the git history, please feel free to append +your name to `THANKS` in your first contribution. + Committing your changes -----------------------