diff options
| author | Ashley Whetter <AWhetter@users.noreply.github.com> | 2017-07-12 05:45:16 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2017-07-12 05:45:16 +0100 |
| commit | 9f7797ae15bd5e4e5c4ad320afcc15eeb4cdae82 (patch) | |
| tree | a3316d20d3be3ce78f0aed8b1e39ade7f75176bc /doc/development_guide | |
| parent | 6794b421d0004c593748df850083914049f11a98 (diff) | |
| download | pylint-git-9f7797ae15bd5e4e5c4ad320afcc15eeb4cdae82.tar.gz | |
Expanded documentation for new contributors (#1569)
Diffstat (limited to 'doc/development_guide')
| -rw-r--r-- | doc/development_guide/contribute.rst | 43 |
1 files changed, 42 insertions, 1 deletions
diff --git a/doc/development_guide/contribute.rst b/doc/development_guide/contribute.rst index 924979900..e367a42de 100644 --- a/doc/development_guide/contribute.rst +++ b/doc/development_guide/contribute.rst @@ -39,6 +39,8 @@ Archives before April 2013 are available at http://lists.logilab.org/pipermail/python-projects/ +.. _repository: + Repository ---------- @@ -91,7 +93,9 @@ your patch gets accepted. about this topic) -Functional tests +.. _functional_tests: + +Functional Tests ---------------- These are residing under '/test/functional' and they are formed of multiple @@ -128,3 +132,40 @@ current environment in order to have faster feedback. Run with:: .. _`Closing issues via commit messages`: https://help.github.com/articles/closing-issues-via-commit-messages/ .. _`About pull requests`: https://help.github.com/articles/using-pull-requests/ .. _tox: http://tox.readthedocs.io/en/latest/ + + +Tips for Getting Started with Pylint Development +------------------------------------------------ +* Read the :ref:`technical-reference`. It gives a short walkthrough of the pylint + codebase and will help you identify where you will need to make changes + for what you are trying to implement. +* :func:`astroid.extract_node` is your friend. Most checkers are AST based, + so you will likely need to interact with :mod:`astroid`. + A short example of how to use :func:`astroid.extract_node` is given + :ref:`here <astroid_extract_node>`. +* When fixing a bug for a specific check, search the code for the warning + message to find where the warning is raised, + and therefore where the logic for that code exists. + +A Typical Development Workflow +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +#. Create a virtualenv in which to work:: + + $ tox + +#. Write the tests. See :ref:`functional_tests`. +#. Check that the tests fail:: + + $ tox + +#. Fix pylint! +#. Make sure your tests pass:: + + $ tox + + It is also possible to give tox a `pytest specifier <https://docs.pytest.org/en/latest/usage.html#specifying-tests-selecting-tests>`_ + to run only your test:: + + $ tox pylint/test/test_functional.py::test_functional + +#. Package up and submit your changes as outlined in `repository`_. |
