Tron is an open source project and welcomes contributions from the community. The source and issue tracker are hosted on github at http://github.com/yelp/Tron.
$ mkvirtualenv tron --distribute --no-site-packages $ pip install -r dev/req_dev.txt
All code should be PEP8 compliant, and should pass pyflakes without warnings. All new code should include full test coverage, and bug fixes should include a test which reproduces the reported issue.
This documentation must also be kept up to date with any changes in functionality.
The source package includes a development logging.conf and a sample configuration file with a few test cases. To run a development intsance of Tron create a working directory and start trond using the following:
$ mkdir wd $ bin/trond --working-dir=wd --pid-file=wd/tron.pid --nodaemon -l dev/dev-logging.conf --config-file=tests/data/test_config.yaml
Tron uses the Testify unit testing framework.
Run the tests using make tests or testify tests. If you’re using a virtualenv you may want to run python `which testify` test to have it use the correct environment.
Under dev/ There is also a very useful test runner runtests.py. This script uses the watchdog module to watch for file modifications, and then runs the appropriate unit tests. This script is also a good way to verify that your test filenames match the proper convention. If you don’t see your tests run when you make a modification, it will print the expected filename for the test file.
There should be a github issue created prior to all pull requests. Pull requests should be made to the Yelp:development branch, and should include additions to CHANGES.txt which describe what has changed.