diff --git a/docs/internals/contributing/writing-code/unit-tests.txt b/docs/internals/contributing/writing-code/unit-tests.txt index 5c8d749895..e205092177 100644 --- a/docs/internals/contributing/writing-code/unit-tests.txt +++ b/docs/internals/contributing/writing-code/unit-tests.txt @@ -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//tests`` or ``tests/_...``). - 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 ``_tests``. For example, tests for ``contrib.auth`` are located +in ``tests/auth_tests``. .. _troubleshooting-unit-tests: diff --git a/tests/runtests.py b/tests/runtests.py index a24b99f17a..b1cbed44ac 100755 --- a/tests/runtests.py +++ b/tests/runtests.py @@ -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())