Commit 7cf3a578 authored by Tim Graham's avatar Tim Graham
Browse files

Updated docs and runtests.py for removal of tests from contrib.

parent ad0be620
Loading
Loading
Loading
Loading
+4 −19
Original line number Diff line number Diff line
@@ -5,11 +5,6 @@ Unit tests
Django comes with a test suite of its own, in the ``tests`` directory of the
code base. It's our policy to make sure all tests pass at all times.

The tests cover:

* Models, the database API and everything else in core Django core (``tests/``),
* :ref:`contrib-apps` (``django/contrib/<app>/tests`` or ``tests/<app>_...``).

We appreciate any and all contributions to the test suite!

The Django tests all use the testing infrastructure that ships with Django for
@@ -108,8 +103,7 @@ internationalization, type:
   $ ./runtests.py --settings=path.to.settings generic_relations i18n

How do you find out the names of individual tests? Look in ``tests/`` — each
directory name there is the name of a test. Contrib app names are also valid
test names.
directory name there is the name of a test.

If you just want to run a particular class of tests, you can specify a list of
paths to individual test classes. For example, to run the ``TranslationTests``
@@ -221,18 +215,9 @@ and also excludes several directories not relevant to the results
Contrib apps
------------

Tests for contrib apps go in their respective directories under
``django/contrib``, in a ``tests.py`` file. You can split the tests over
multiple modules by using a ``tests`` directory in the normal Python way.

If you have URLs that need to be mapped, put them in ``tests/urls.py``.

To run tests for just one contrib app (e.g. ``auth``), use the same
method as above:

.. code-block:: bash

   $ ./runtests.py --settings=settings django.contrib.auth
Tests for contrib apps can be found in the ``tests/`` directory, typically
under ``<app_name>_tests``. For example, tests for ``contrib.auth`` are located
in ``tests/auth_tests``.

.. _troubleshooting-unit-tests:

+1 −10
Original line number Diff line number Diff line
@@ -9,7 +9,6 @@ import warnings
from argparse import ArgumentParser

import django
from django import contrib
from django.apps import apps
from django.conf import settings
from django.db import connection
@@ -24,9 +23,6 @@ from django.utils.deprecation import (
warnings.simplefilter("error", RemovedInDjango20Warning)
warnings.simplefilter("error", RemovedInDjango21Warning)

CONTRIB_MODULE_PATH = 'django.contrib'

CONTRIB_DIR = os.path.dirname(upath(contrib.__file__))
RUNTESTS_DIR = os.path.abspath(os.path.dirname(upath(__file__)))

TEMPLATE_DIR = os.path.join(RUNTESTS_DIR, 'templates')
@@ -74,7 +70,6 @@ def get_test_modules():
    modules = []
    discovery_paths = [
        (None, RUNTESTS_DIR),
        (CONTRIB_MODULE_PATH, CONTRIB_DIR)
    ]
    # GIS tests are in nested apps
    if connection.features.gis_enabled:
@@ -177,11 +172,7 @@ def setup(verbosity, test_labels):
    # Reduce given test labels to just the app module path
    test_labels_set = set()
    for label in test_labels:
        bits = label.split('.')
        if bits[:2] == ['django', 'contrib']:
            bits = bits[:3]
        else:
            bits = bits[:1]
        bits = label.split('.')[:1]
        test_labels_set.add('.'.join(bits))

    installed_app_names = set(get_installed())