From 919d71943b718fee3fad867f3c5c20fa7c9def27 Mon Sep 17 00:00:00 2001 From: Stephen Finucane Date: Tue, 2 Feb 2016 23:10:13 +0000 Subject: docs: Add a contributors guide This guide details the steps one should follow to submit patches for patchwork. It's nothing onerous but rather common sense. This requires moving the testing section from the development guide to this new document. Signed-off-by: Stephen Finucane --- docs/contributing.md | 59 ++++++++++++++++++++++++++++++++++++++++++++++++++++ docs/development.md | 32 ---------------------------- 2 files changed, 59 insertions(+), 32 deletions(-) create mode 100644 docs/contributing.md (limited to 'docs') diff --git a/docs/contributing.md b/docs/contributing.md new file mode 100644 index 0000000..1e61b7f --- /dev/null +++ b/docs/contributing.md @@ -0,0 +1,59 @@ +# Tips and Tricks + +## Coding Standards + +**Follow PEP8**. All code is currently PEP8 compliant and it should stay this +way. + +Changes that fix semantic issues will be generally be happily received, but +please keep such changes seperate from functional changes. + +`pep8` targets are provided via tox. Refer to the [testing section](#testing) +below for more information on usage of this tool. + +## Testing + +patchwork includes a [tox][ref-tox] script to automate testing. This requires +a functional database and some Python requirements like `tox`. Please refer +to the [development guide][doc-development] for information on how to configure +these. + +Assuming these requirements are met, actually testing patchwork is quite easy +to do. To start, you can show the default targets like so: + + $ tox --list + +You'll see that this includes a number of targets to run unit tests against +the different versions of Django supported, along with some other targets +related to code coverage and code quality. To run one of these, use the `-e` +parameter: + + $ tox -e py27-django18 + +In the case of the unit tests targets, you can also run specific tests by +passing the fully qualified test name as an additional argument to this +command: + + $ tox -e py27-django18 patchwork.tests.SubjectCleanUpTest + +Because patchwork support multiple versions of Django, it's very important +that you test against all supported versions. When run without argument, tox +will do this: + + $ tox + +## Submitting Changes + +All patches should be sent to the [mailing list][pw-ml]. When doing so, please +abide by the [QEMU guidelines][ref-qemu-contrib] on contributing or submitting +patches. This covers both the initial submission and any follow up to the +patches. In particulat, please ensure: + +* [All tests pass](#testing) +* Documentation has been updated with new requirements, new script names etc. +* The `CHANGES` file has been updated with any added or removed features + +[doc-development]: development.md +[pw-ml]: https://ozlabs.org/mailman/listinfo/patchwork +[ref-qemu-contrib]: http://wiki.qemu.org/Contribute/SubmitAPatch +[ref-tox]: https://tox.readthedocs.org/en/latest/ diff --git a/docs/development.md b/docs/development.md index 07e0ca0..3868adf 100644 --- a/docs/development.md +++ b/docs/development.md @@ -90,35 +90,3 @@ The following environmental variables are available to configure settings:
PW_TEST_DB_TYPE = 'mysql'
Type of database to use. Options: 'mysql', 'postgresql'
- -## Running Tests - -patchwork includes a [tox] script to automate testing. Before running this, you -should probably install tox: - - $ pip install tox - -You can show available -targets like so: - - $ tox --list - -You'll see that this includes a number of targets to run unit tests against the -different versions of Django supported, along with some other targets related -to code coverage and code quality. To run these, use the `-e` parameter: - - $ tox -e py27-django18 - -In the case of the unit tests targets, you can also run specific tests by -passing the fully qualified test name as an additional argument to this -command: - - $ tox -e py27-django18 patchwork.tests.SubjectCleanUpTest - -Because patchwork supports multiple versions of Django, it's very important -that you test against all supported versions. When run without argument, tox -will do this: - - $ tox - -[tox]: https://tox.readthedocs.org/en/latest/ -- cgit v1.2.3