Skip to content

Latest commit

 

History

History
124 lines (78 loc) · 3.16 KB

CONTRIBUTING.md

File metadata and controls

124 lines (78 loc) · 3.16 KB

============ Contributing

All projects under the Pylons Projects, including this one, follow the guidelines established at How to Contribute and Coding Style and Standards.

You can contribute to this project in several ways.

  • File an Issue on GitHub
  • Fork this project and create a branch with your suggested change. When ready, submit a pull request for consideration. GitHub Flow describes the workflow process and why it's a good practice. When submitting a pull request, sign CONTRIBUTORS.txt if you have not yet done so.
  • Join the IRC channel #pyramid on irc.freenode.net.

Discuss proposed changes first

To propose a change, open an issue on Github for discussion, preferably before starting any coding. Ask the authors' opinion how the issue should be approached, as this will make it easier to merge the pull request later.

Unit tests

All features must be covered by unit tests, so that test coverage stays at 100%.

To run tests::

pip install tox  # System wide installation
tox

This will run tests for Python 2.x, Python 3.x, PyPy, functional, coverage, and documentation.

Functional tests

All features must be covered by functional tests and have example use.

Preparing compatible browser


Functional tests run on Firefox 45 and Selenium 2.56. Below are instructions
for OSX:

* `Download Firefox 45 ESR
  <https://ftp.mozilla.org/pub/firefox/releases/45.0.2esr/>`_ (`OSX
  <https://ftp.mozilla.org/pub/firefox/releases/45.0.2esr/mac/en-US/>`_)

* Rename ``Firefox.app`` to ``Firefox-45.app``

* Copy ``Firefox-45.app`` to ``Applications``

* Prepare your test run ``export
  FIREFOX_PATH=/Applications/Firefox-45.app/Contents/MacOS/firefox``

.. note ::

    As the writing of this Marionette geckodriver for Firefox is incomplete and cannot
    run all the tests.

Running test suite
~~~~~~~~~~~~~~~~~~

To run functional tests::

    tox -e functional

Stop on error::

    tox -e functional -- -x

Rerun single test::

    tox -e functional -- deformdemo.test:CheckedInputWidgetWithMaskTests

To run/edit/fix functional tests::

    source .tox/functional/bin/activate
    cd deformdefom  # Checked out by tox functional
    pserve demo.ini  # Start web server

    # Run functional test suite using Chrome
    WEBDRIVER="chrome" nosetests -x

    # Run functional test suite using Chrome, stop on pdb on exception
    WEBDRIVER="chrome" nosetests -x --pdb

    # Run one functional test case using Chrome
    WEBDRIVER="chrome" nosetests -x deformdemo.test:SequenceOfDateInputs


Documentation
-------------

All features must be documented with code samples in narrative documentation,
API documentation, and deformdemo.


Changelog
---------

Update ``CHANGES.txt``.

Update ``CONTRIBUTORS.rst``.


Pull requests
-------------

Make a pull request on GitHub for deform or deformdemo.