django/tests
Johan Schiff d01709aae2 Fixed #24141 -- Added QuerySet.contains(). 2021-03-06 20:40:29 +01:00
..
absolute_url_overrides
admin_autodiscover Used assertRaisesMessage() in various tests. 2020-02-07 12:46:23 +01:00
admin_changelist Fixed #16117 -- Added decorators for admin action and display functions. 2021-01-13 17:19:22 +01:00
admin_checks Corrected messages of admin checks for invalid model field names. 2021-03-04 08:41:28 +01:00
admin_custom_urls Updated test URL patterns to use path() and re_path(). 2018-12-31 10:47:32 -05:00
admin_default_site
admin_docs Fixed #32421 -- Made admindocs ModelDetailView show model cached properties. 2021-02-11 06:50:50 +01:00
admin_filters Refs #31369 -- Removed models.NullBooleanField per deprecation timeline. 2021-01-14 17:50:04 +01:00
admin_inlines Refs #30231 -- Fixed SeleniumTests.test_inlines_verbose_name with headless mode. 2021-02-19 07:15:54 +01:00
admin_ordering Fixed #32003 -- Added obj argument to has_perm() methods in tests. 2020-09-14 12:28:17 +02:00
admin_registration Refs #32273 -- Completed test coverage for AdminSite.unregister(). 2020-12-17 08:27:56 +01:00
admin_scripts Fixed #32296 -- Added --skip-checks option to runserver command. 2021-01-18 12:51:35 +01:00
admin_utils Refs #31369 -- Removed models.NullBooleanField per deprecation timeline. 2021-01-14 17:50:04 +01:00
admin_views Refs #21429 -- Added SimpleTestCase.assertNoLogs() on Python < 3.10. 2021-03-02 20:35:33 +01:00
admin_widgets Fixed #29010, Fixed #29138 -- Added limit_choices_to and to_field support to autocomplete fields. 2021-01-12 11:37:38 +01:00
aggregation Fixed #32478 -- Included nested columns referenced by subqueries in GROUP BY on aggregations. 2021-02-24 09:01:36 +01:00
aggregation_regress Fixed #32168 -- Removed serial pk assumption in aggregation_regress tests. 2020-11-04 22:31:57 +01:00
annotations Refs #31369 -- Removed models.NullBooleanField per deprecation timeline. 2021-01-14 17:50:04 +01:00
app_loading
apps Fixed #32285 -- Raised ImproperlyConfigured when AppConfig.label is not a valid Python identifier. 2020-12-22 13:26:30 +01:00
asgi Refs #32394 -- Changed STATIC_URL/MEDIA_URL to relative paths in tests and docs where appropriate. 2021-02-06 13:41:35 +01:00
async Refs #31224 -- Added autoconversion of test async methods. 2020-03-05 14:29:21 +01:00
auth_tests Fixed #28216 -- Added next_page/get_default_redirect_url() to LoginView. 2021-02-08 21:08:05 +01:00
backends Fixed #32403 -- Fixed re-raising DatabaseErrors when using only 'postgres' database. 2021-02-02 21:34:36 +01:00
base
bash_completion Reverted "Refs #23919 -- Removed obsolete __init__.py files in management command directories." 2020-06-01 10:55:41 +02:00
basic Fixed #24141 -- Added QuerySet.contains(). 2021-03-06 20:40:29 +01:00
builtin_server Refs #29069 -- Added test for calling request_finished signal by static file responses. 2020-04-20 06:17:57 +02:00
bulk_create Refs #31369 -- Removed models.NullBooleanField per deprecation timeline. 2021-01-14 17:50:04 +01:00
cache Fixed #29867 -- Added support for storing None value in caches. 2020-12-17 09:57:21 +01:00
check_framework Fixed #32360 -- Added system check for FILE_UPLOAD_TEMP_DIR setting. 2021-01-22 07:51:00 +01:00
conditional_processing Fixed #31789 -- Added a new headers interface to HttpResponse. 2020-09-14 08:41:59 +02:00
constraints Fixed #30916 -- Added support for functional unique constraints. 2021-02-23 20:19:53 +01:00
contenttypes_tests Fixed #31789 -- Added a new headers interface to HttpResponse. 2020-09-14 08:41:59 +02:00
context_processors Refs #28478 -- Deprecated TestCase's allow_database_queries and multi_db in favor of databases. 2019-01-10 19:11:21 -05:00
csrf_tests Refs #21429 -- Added SimpleTestCase.assertNoLogs() on Python < 3.10. 2021-03-02 20:35:33 +01:00
custom_columns Fixed #31235 -- Made assertQuerysetEqual() compare querysets directly. 2020-11-06 09:24:50 +01:00
custom_lookups Fixed #31235 -- Made assertQuerysetEqual() compare querysets directly. 2020-11-06 09:24:50 +01:00
custom_managers Removed unused __str__() methods in tests models. 2020-04-30 09:13:23 +02:00
custom_methods
custom_migration_operations
custom_pk Refs #30573 -- Rephrased "Of Course" and "Obvious(ly)" in documentation and comments. 2020-05-04 12:10:47 +02:00
datatypes Refs #31369 -- Removed models.NullBooleanField per deprecation timeline. 2021-01-14 17:50:04 +01:00
dates Removed unused __str__() methods in tests models. 2020-04-15 20:20:32 +02:00
datetimes Fixed #31235 -- Made assertQuerysetEqual() compare querysets directly. 2020-11-06 09:24:50 +01:00
db_functions Fixed #32392 -- Fixed ExclusionConstraint crash with Cast() in expressions. 2021-01-29 11:05:00 +01:00
db_typecasts
db_utils Fixed #32233 -- Cleaned-up duplicate connection functionality. 2020-12-08 08:55:44 +01:00
dbshell Fixed #32456 -- Added dbshell support for specifying a password file on PostgreSQL. 2021-03-01 09:33:49 +01:00
decorators Refs #32468 -- Added error message on invalid usage of cache decorators. 2021-02-24 10:13:51 +01:00
defer Fixed #30988 -- Deprecated the InvalidQuery exception. 2019-11-18 14:06:51 +01:00
defer_regress Removed hardcoded pk in defer_regress test. 2020-11-04 06:41:47 +01:00
delete Fixed #32107 -- Fixed ProtectedError.protected_objects and RestrictedError.restricted_objects. 2020-10-19 12:43:32 +02:00
delete_regress Fixed #32433 -- Added error message on QuerySet.delete() following distinct(). 2021-02-11 08:33:30 +01:00
deprecation Refs #31842 -- Removed DEFAULT_HASHING_ALGORITHM transitional setting. 2021-01-14 17:50:04 +01:00
dispatch Fixed #32261 -- Added error logging to Signal.send_robust(). 2020-12-15 11:00:26 +01:00
distinct_on_fields Fixed #31235 -- Made assertQuerysetEqual() compare querysets directly. 2020-11-06 09:24:50 +01:00
empty
empty_models Added assertions for an empty stdout to CoreCommandsNoOutputTests. 2020-04-20 11:32:03 +02:00
expressions Fixed #32455 -- Allowed right combining Q() with boolean expressions. 2021-02-18 22:20:36 +01:00
expressions_case Refs #31369 -- Removed models.NullBooleanField per deprecation timeline. 2021-01-14 17:50:04 +01:00
expressions_window Fixed #32178 -- Allowed database backends to skip tests and mark expected failures. 2020-12-10 18:00:57 +01:00
extra_regress Fixed #31235 -- Made assertQuerysetEqual() compare querysets directly. 2020-11-06 09:24:50 +01:00
field_deconstruction Refs #31369 -- Removed models.NullBooleanField per deprecation timeline. 2021-01-14 17:50:04 +01:00
field_defaults
field_subclassing Fixed #30657 -- Allowed customizing Field's descriptors with a descriptor_class attribute. 2019-07-25 08:15:20 +02:00
file_storage Fixed #31941 -- Corrected FileField.deconstruct() with a callable storage. 2020-09-02 11:06:18 +02:00
file_uploads Fixed #30422 -- Made TemporaryFileUploadHandler handle interrupted uploads. 2020-09-30 10:30:43 +02:00
files Skipped GetImageDimensionsTests.test_webp when WEBP is not installed. 2020-10-06 11:25:04 +02:00
filtered_relation Fixed #29789 -- Added support for nested relations to FilteredRelation. 2020-07-09 20:24:00 +02:00
fixtures Fixed #32291 -- Added fixtures compression support to dumpdata. 2021-01-12 15:47:58 +01:00
fixtures_model_package Fixed fixtures loading isolation in tests. 2020-05-15 09:14:05 +02:00
fixtures_regress Fixed #31235 -- Made assertQuerysetEqual() compare querysets directly. 2020-11-06 09:24:50 +01:00
flatpages_tests Fixed #22261 -- Fixed resolving namespaced URLs for flatpages. 2020-01-28 13:14:23 +01:00
force_insert_update
foreign_object Fixed #31235 -- Made assertQuerysetEqual() compare querysets directly. 2020-11-06 09:24:50 +01:00
forms_tests Fixed #32347 -- Made ModelChoiceField include the value in ValidationError for invalid_choice. 2021-01-26 09:31:53 +01:00
from_db_value Removed unused __str__() methods in tests models. 2020-04-15 20:20:32 +02:00
generic_inline_admin Fixed #32003 -- Added obj argument to has_perm() methods in tests. 2020-09-14 12:28:17 +02:00
generic_relations Refs #32045 -- Added tests for GenericRelatedObjectManager.clear()/remove(). 2020-11-06 11:31:21 +01:00
generic_relations_regress Fixed GenericRelationTests.test_annotate when primary key values are large. 2020-11-04 06:41:48 +01:00
generic_views Fixed #31235 -- Made assertQuerysetEqual() compare querysets directly. 2020-11-06 09:24:50 +01:00
get_earliest_or_latest Refs #11557 -- Removed the field_name keyword argument to QuerySet.earliest() and latest(). 2019-01-17 10:52:19 -05:00
get_object_or_404 Removed unused __str__() methods in tests models. 2020-04-15 20:20:32 +02:00
get_or_create Removed unused __str__() methods in tests models. 2020-04-30 09:13:23 +02:00
gis_tests Refs #21429 -- Added SimpleTestCase.assertNoLogs() on Python < 3.10. 2021-03-02 20:35:33 +01:00
handlers Refs CVE-2021-23336 -- Updated tests and release notes for affected versions. 2021-02-19 09:03:06 +01:00
httpwrappers Fixed #32389 -- Fixed ResponseHeaders crash when data is not mapping. 2021-01-28 10:10:08 +01:00
humanize_tests Fixed #31363 -- Added support for negative integers to intword template filter. 2020-03-16 08:44:43 +01:00
i18n Fixed #32145 -- Improved makemessages error message when app's locale directory doesn't exist. 2021-02-09 20:00:20 +01:00
import_error_package
indexes Fixed #26167 -- Added support for functional indexes. 2021-01-13 11:47:50 +01:00
inline_formsets
inspectdb Fixed #32357 -- Dropped support for PostgreSQL 9.6 and PostGIS 2.3. 2021-01-19 12:25:20 +01:00
introspection Fixed #32453 -- Added introspection of unique constraint field ordering on SQLite. 2021-02-17 10:59:17 +01:00
invalid_models_tests Fixed #30916 -- Added support for functional unique constraints. 2021-02-23 20:19:53 +01:00
known_related_objects
logging_tests Fixed tests isolation in logging_tests. 2020-05-08 10:49:34 +02:00
lookup Refs #30841 -- Made isnull lookup raise ValueError for non-boolean values. 2021-01-14 17:50:04 +01:00
m2m_and_m2o Followed style guide for model attribute ordering. 2018-12-27 19:34:14 -05:00
m2m_intermediary Removed unused __str__() methods in tests models. 2020-04-30 09:13:23 +02:00
m2m_multiple
m2m_recursive Fixed #30421 -- Allowed symmetrical intermediate table for self-referential ManyToManyField. 2019-06-21 15:03:17 +02:00
m2m_regress Fixed #31235 -- Made assertQuerysetEqual() compare querysets directly. 2020-11-06 09:24:50 +01:00
m2m_signals Removed unused __str__() methods in tests models. 2020-04-30 09:13:23 +02:00
m2m_through Fixed #31235 -- Made assertQuerysetEqual() compare querysets directly. 2020-11-06 09:24:50 +01:00
m2m_through_regress Fixed #31235 -- Made assertQuerysetEqual() compare querysets directly. 2020-11-06 09:24:50 +01:00
m2o_recursive Fixed #31235 -- Made assertQuerysetEqual() compare querysets directly. 2020-11-06 09:24:50 +01:00
mail Used mock.Mock() in SMTPBackendTests. 2020-08-07 20:31:47 +02:00
managers_regress Fixed #32355 -- Dropped support for Python 3.6 and 3.7 2021-02-10 10:20:54 +01:00
many_to_many Fixed #31235 -- Made assertQuerysetEqual() compare querysets directly. 2020-11-06 09:24:50 +01:00
many_to_one Fixed #32332 -- Fixed loss of parent with non-numeric pk when saving child after parent. 2021-02-04 06:06:00 +01:00
many_to_one_null Fixed #31235 -- Made assertQuerysetEqual() compare querysets directly. 2020-11-06 09:24:50 +01:00
max_lengths Fixed #30295 -- Fixed max_lengths.tests.MaxLengthORMTests when run in isolation. 2019-03-28 10:18:30 +01:00
messages_tests Refs #31842 -- Removed DEFAULT_HASHING_ALGORITHM transitional setting. 2021-01-14 17:50:04 +01:00
middleware Fixed #32124 -- Added per-view opt-out for APPEND_SLASH behavior. 2020-10-22 14:15:19 +02:00
middleware_exceptions Refs #21429 -- Added SimpleTestCase.assertNoLogs() on Python < 3.10. 2021-03-02 20:35:33 +01:00
migrate_signals Fixed #32395 -- Allowed capturing stdout of migration signals. 2021-02-04 11:19:49 +01:00
migration_test_data_persistence
migrations Fixed #30916 -- Added support for functional unique constraints. 2021-02-23 20:19:53 +01:00
migrations2
model_enums Fixed #31154 -- Added support for using enumeration types in templates. 2020-01-10 07:52:06 +01:00
model_fields Fixed #32411 -- Fixed __icontains lookup for JSONField on MySQL. 2021-02-05 16:14:12 +01:00
model_forms Fixed #31235 -- Made assertQuerysetEqual() compare querysets directly. 2020-11-06 09:24:50 +01:00
model_formsets Fixed #31235 -- Made assertQuerysetEqual() compare querysets directly. 2020-11-06 09:24:50 +01:00
model_formsets_regress Fixed #31235 -- Made assertQuerysetEqual() compare querysets directly. 2020-11-06 09:24:50 +01:00
model_indexes Fixed #32458 -- Made __repr__() for Index and BaseConstraint subclasses more consistent. 2021-02-19 20:25:11 +01:00
model_inheritance Fixed #32355 -- Dropped support for Python 3.6 and 3.7 2021-02-10 10:20:54 +01:00
model_inheritance_regress Removed unused __str__() methods in tests models. 2020-04-30 09:13:23 +02:00
model_meta Fixed #32294 -- Prevented ManyToManyField's hidden related name collisions between apps. 2020-12-30 13:11:47 +01:00
model_options Fixed #31007 -- Allowed specifying type of auto-created primary keys. 2020-12-15 11:25:46 +01:00
model_package
model_regress Fixed #31863 -- Prevented mutating model state by copies of model instances. 2020-08-12 12:43:42 +02:00
modeladmin Fixed #32494 -- Adjusted system check for raw_id_fields to warn about Field.attname. 2021-03-04 08:41:28 +01:00
multiple_database Removed unused __str__() methods in tests models. 2020-04-30 09:13:23 +02:00
mutually_referential
nested_foreign_keys Switched setUp() to setUpTestData() where possible in Django's tests. 2018-11-27 09:35:17 -05:00
no_models
null_fk Removed unused __str__() methods in tests models. 2020-04-15 20:20:32 +02:00
null_fk_ordering Removed unused __str__() methods in tests models. 2020-04-30 09:13:23 +02:00
null_queries Removed unused __str__() methods in tests models. 2020-04-30 09:13:23 +02:00
one_to_one Fixed #31235 -- Made assertQuerysetEqual() compare querysets directly. 2020-11-06 09:24:50 +01:00
or_lookups Switched setUp() to setUpTestData() where possible in Django's tests. 2018-11-27 09:35:17 -05:00
order_with_respect_to Fixed #13296 -- Fixed ordering by Options.order_with_respect_to after deleting objects. 2019-09-23 11:20:37 +02:00
ordering Removed serial pk assumption in ordering tests. 2020-11-03 22:26:18 -05:00
pagination Fixed #31235 -- Made assertQuerysetEqual() compare querysets directly. 2020-11-06 09:24:50 +01:00
postgres_tests Fixed #30916 -- Added support for functional unique constraints. 2021-02-23 20:19:53 +01:00
prefetch_related Fixed #32089 -- Fixed prefetch_related_objects() when some objects are already fetched. 2020-12-16 10:52:59 +01:00
project_template Fixed #31232 -- Changed default SECURE_REFERRER_POLICY to 'same-origin'. 2020-02-05 14:39:01 +01:00
properties Adjusted code style of a few test data setup methods. 2018-11-27 09:48:22 -05:00
proxy_model_inheritance Removed obsolete TODO in proxy_model_inheritance test. 2018-08-16 09:20:31 -04:00
proxy_models Updated test URL patterns to use path() and re_path(). 2018-12-31 10:47:32 -05:00
queries Fixed #24141 -- Added QuerySet.contains(). 2021-03-06 20:40:29 +01:00
queryset_pickle Refs #31926 -- Made test_pickle_filteredrelation_m2m do not depend on auto-PK. 2020-10-15 08:17:42 +02:00
raw_query Fixed #32231 -- Allowed passing None params to QuerySet.raw(). 2021-01-05 10:37:11 +01:00
redirects_tests Refs #26601 -- Made get_response argument required and don't accept None in middleware classes. 2021-01-14 17:50:04 +01:00
requests Fixed DataUploadMaxNumberOfFieldsFormPost.test_number_exceeded(). 2021-02-23 09:47:30 +01:00
requirements Refs #32390 -- Bumped required cx_Oracle to 7.0. 2021-02-03 10:03:33 +01:00
reserved_names
resolve_url Removed unnecessary tuple wrapping of single format string argument. 2020-04-27 08:30:16 +02:00
responses Fixed #31789 -- Added a new headers interface to HttpResponse. 2020-09-14 08:41:59 +02:00
reverse_lookup Removed unused __str__() methods in tests models. 2020-04-30 09:13:23 +02:00
save_delete_hooks
schema Fixed #30916 -- Added support for functional unique constraints. 2021-02-23 20:19:53 +01:00
select_for_update Fixed #31866 -- Fixed locking proxy models in QuerySet.select_for_update(of=()). 2020-08-11 11:55:10 +02:00
select_related Refs #30573 -- Rephrased "Of Course" and "Obvious(ly)" in documentation and comments. 2020-05-04 12:10:47 +02:00
select_related_onetoone Removed unused __str__() methods in tests models. 2020-04-30 09:13:23 +02:00
select_related_regress Fixed #31235 -- Made assertQuerysetEqual() compare querysets directly. 2020-11-06 09:24:50 +01:00
serializers Fixed #32420 -- Fixed detecting primary key values in deserialization when PK is also a FK. 2021-02-05 12:33:43 +01:00
servers Fixed #32445 -- Fixed LiveServerThreadTest.test_closes_connections() for non-in-memory database on SQLite. 2021-02-23 06:08:43 +01:00
sessions_tests Refs #31274 -- Removed support for the pre-Django 3.1 encoding format of sessions. 2021-01-14 17:50:04 +01:00
settings_tests Fixed #32304 -- Fixed prefixing STATIC_URL and MEDIA_URL by SCRIPT_NAME for absolute URLs with no domain. 2020-12-31 13:18:57 +01:00
shell Fixed #32183 -- Fixed shell crash when passing code with nested scopes. 2020-11-11 09:18:26 +01:00
shortcuts Fixed #31789 -- Added a new headers interface to HttpResponse. 2020-09-14 08:41:59 +02:00
signals Refs #31327 -- Removed providing_args argument for Signal per deprecation timeline. 2021-01-14 17:50:04 +01:00
signed_cookies_tests
signing Refs #31842 -- Removed DEFAULT_HASHING_ALGORITHM transitional setting. 2021-01-14 17:50:04 +01:00
sitemaps_tests Fixed #31789 -- Added a new headers interface to HttpResponse. 2020-09-14 08:41:59 +02:00
sites_framework Removed unused __str__() methods in tests models. 2020-04-15 20:20:32 +02:00
sites_tests Fixed #31802 -- Added system check for non-integer SITE_ID. 2020-07-24 10:41:55 +02:00
staticfiles_tests Fixed #27854 -- Added system check for nonexistent directories in STATICFILES_DIRS setting. 2021-03-03 11:27:08 +01:00
str
string_lookup Removed unused __str__() methods in tests models. 2020-04-15 20:20:32 +02:00
swappable_models Disabled management commands output with verbosity 0 in various tests. 2020-05-13 09:12:43 +02:00
syndication_tests Removed hardcoded pks in syndication tests. 2020-10-21 06:43:19 +02:00
template_backends Fixed #27827 -- Used "raise from" when raising InvalidTemplateLibrary exceptions in get_package_libraries(). 2020-12-28 07:31:37 +01:00
template_loader
template_tests Refs #21429 -- Added SimpleTestCase.assertNoLogs() on Python < 3.10. 2021-03-02 20:35:33 +01:00
templates Fixed #31080 -- Removed redundant type="text/javascript" attribute from <script> tags. 2019-12-11 09:49:54 +01:00
test_client Fixed #32470 -- Fixed ResolverMatch instance on test clients when request.urlconf is set. 2021-02-23 09:54:49 +01:00
test_client_regress Fixed #31789 -- Added a new headers interface to HttpResponse. 2020-09-14 08:41:59 +02:00
test_exceptions Fixed #28507 -- Made ValidationError.__eq__() ignore messages and params ordering. 2020-07-29 12:04:13 +02:00
test_runner Fixed #32489 -- Added iter_test_cases() to iterate over a TestSuite. 2021-03-05 13:04:07 +01:00
test_runner_apps Fixed #32446 -- Deprecated SERIALIZE test database setting. 2021-02-24 20:31:11 +01:00
test_utils Refs #21429 -- Added SimpleTestCase.assertNoLogs() on Python < 3.10. 2021-03-02 20:35:33 +01:00
timezones Refs #32365 -- Allowed use of non-pytz timezone implementations. 2021-01-19 11:59:37 +01:00
transaction_hooks Fixed #32108 -- Made transaction.on_commit() raise TypeError when callback is not a callable. 2020-10-19 20:46:13 +02:00
transactions Fixed #32220 -- Added durable argument to transaction.atomic(). 2020-11-27 21:43:15 +01:00
unmanaged_models Removed unused __str__() methods in tests models. 2020-04-15 20:20:32 +02:00
update Fixed #25534, Fixed #31639 -- Added support for transform references in expressions. 2020-11-27 20:42:04 +01:00
update_only_fields Fixed #31382 -- Made Model.save(update_fields=...) raise ValueError on non-concrete fields. 2020-08-12 21:13:55 +02:00
urlpatterns Refs #31534 -- Removed django.conf.urls.url() per deprecation timeline. 2021-01-14 17:50:04 +01:00
urlpatterns_reverse Removed unused param_dict return from URLResolver.resolve_error_handler(). 2020-06-22 21:28:56 +02:00
user_commands Fixed #32355 -- Dropped support for Python 3.6 and 3.7 2021-02-10 10:20:54 +01:00
utils_tests Fixed #32355 -- Dropped support for Python 3.6 and 3.7 2021-02-10 10:20:54 +01:00
validation Refs #31369 -- Removed models.NullBooleanField per deprecation timeline. 2021-01-14 17:50:04 +01:00
validators Fixed #32298 -- Fixed URLValidator hostname length validation. 2021-01-04 09:25:40 +01:00
version
view_tests Refs #32394 -- Changed STATIC_URL/MEDIA_URL to relative paths in tests and docs where appropriate. 2021-02-06 13:41:35 +01:00
wsgi Fixed #30567 -- Made WSGIHandler pass FileResponse.block_size to wsgi.file_wrapper. 2019-07-26 07:31:51 +02:00
.coveragerc
README.rst Fixed #30367 -- Changed "pip install" to "python -m pip install" in docs, comments and hints. 2019-04-18 14:41:15 +02:00
runtests.py Fixed #32355 -- Dropped support for Python 3.6 and 3.7 2021-02-10 10:20:54 +01:00
test_sqlite.py Fixed #31007 -- Allowed specifying type of auto-created primary keys. 2020-12-15 11:25:46 +01:00
urls.py

README.rst

To run the test suite, first, create and activate a virtual environment. Then
install some requirements and run the tests::

    $ cd tests
    $ python -m pip install -e ..
    $ python -m pip install -r requirements/py3.txt
    $ ./runtests.py

For more information about the test suite, see
https://docs.djangoproject.com/en/dev/internals/contributing/writing-code/unit-tests/.