Contributing

nose2-testsuite is currently in the initial development phase and contributions are even more welcome than usual.

Please refer to the roadmap and to the issue tracker for the list of required features.

Required knowledge & experience

In order to contribute to the project in any fashion you must have some knowledge & experience with Git and Github’s forking model.

If you are unfamiliar with Github please read about forks & pull requests before you proceed.

General guidelines about pull requests for this project

  • Before submitting a pull request please ensure your fork is up to date with the upstream.
  • If your contribution was made because an issue was previously opened on the subject please ensure that the last commit message contains “Closes #issue-number”.
  • When submitting the pull request please ensure you are requesting to merge it into the correct version or topic branch. Pull requests against the master branch will not be merged.

Note

Pull requests containing offending commits will not be merged until they will be amended.

Contributing Documentation

The documentation is the most important aspect of any open source project since it serves as the face of the project. It’s the first thing you examine when you review a project.

Therefore, even if you are not a developer and you wish to contribute you can help a lot by improving the documentation.

If you have found a documentation bug, a typo or if you have found better phrasing feel free to fork the project and submit a pull request.

This project uses Sphinx as the documentation tool. If you are unfamiliar with it please refer to the Sphinx documentation first.

Requirements

In order to contribute documentation to nose2-testsuite you must have the following software installed:

Please follow the instructions on the provided links & on this document to install the required software.

Note

If you are running on Windows note that you can use the chocolatey package manager to install Python 2.7.4.

If you are running on your favorite Linux distribution, it might have already provided the required Python version when you installed the distribution.

In order to verify that simply type:

python --version

If not, your package manager might provide it.

Required knowledge & experience

  • In order to edit the documentation you must be familiar with reStructuredText.

Building the documentation

In order to start contributing simply clone the repository or your fork:

# if you have already forked the project use https://github.com/<your-github-username>/nose2-testsuite.git instead
git clone https://github.com/thedrow/nose2-testsuite.git
cd nose2-testsuite

After that install the python dependencies

pip install -r ./requirements/documentation.txt

Note

While not required feel free to setup your own virtualenv and install the required dependencies there.

Build the documentation to ensure everything is working properly.

cd docs/
make html
cd ../

Note

In order to save time you can simply type the following one-liner (assuming your current working directory is the project’s root)

cd docs/ && make html && cd ../

If the build passes and the browser opens you can start editing the documentation immediately.

Guidelines

Note

This section is incomplete. As the documentation evolves more guidelines will be added.

  • All new documentation files must have the *.rst extension.
  • All documentation files must be named using lowercase letters with no spaces, hyphens or underscores.

Submitting a pull request with documentation changes

  • The pull request’s title must be descriptive.
  • The description must summarize all the changes that were made in this pull request.
  • If you fixed your own typo please rebase the commit with the original commit in order to keep clean history. The same rule apply with rephrasing your own words for better clarity.

After you are done editing the documentation and you made sure your contribution follows the guidelines above please submit a pull request.

If you followed the guidelines and the contribution is helpful the pull requests will be merged as soon as possible.

Contributing Code

Requirements

In order to contribute code to nose2-testsuite you must have the following software installed:

Warning

virtualenvwrapper-powershell is not stable enough and currently it does not work with Python 3.x. You can create your virtualenv without virtualenvwrapper-powershell but it is certainly less comfortable.

Due to that the recommended development operating system is Linux.

Please follow the instructions on the provided links & on this document to install the required software.