====================== Running the Test Suite ====================== The easiest way to run the django-filter tests is to check out the source code and create a virtualenv where you can install the test dependencies. Django-filter uses a custom test runner to configure the environment, so a wrapper script is available to set up and run the test suite. .. note:: The following assumes you have `virtualenv`__ and `git`__ installed. __ https://virtualenv.pypa.io/en/stable/ __ https://git-scm.com Clone the repository -------------------- Get the source code using the following command: .. code-block:: bash $ git clone https://github.com/carltongibson/django-filter.git Switch to the django-filter directory: .. code-block:: bash $ cd django-filter Set up the virtualenv --------------------- Create a new virtualenv to run the test suite in: .. code-block:: bash $ virtualenv venv Then activate the virtualenv and install the test requirements: .. code-block:: bash $ source venv/bin/activate $ pip install -r requirements/test.txt Execute the test runner ----------------------- Run the tests with the runner script: .. code-block:: bash $ python runtests.py Test all supported versions --------------------------- You can also use the excellent tox testing tool to run the tests against all supported versions of Python and Django. Install tox, and then simply run: .. code-block:: bash $ pip install tox $ tox Housekeeping ------------ The ``isort`` utility is used to maintain module imports. You can either test the module imports with the appropriate `tox` env, or with `isort` directly. .. code-block:: bash $ pip install tox $ tox -e isort # or $ pip install isort $ isort --check --diff django_filters tests To sort the imports, simply remove the ``--check-only`` option. .. code-block:: bash $ isort --recursive django_filters tests