django/tests
2025-05-06 08:20:56 +02:00
..
absolute_url_overrides
admin_autodiscover
admin_changelist Fixed #36217 -- Restored pre_save/post_save signal emission via LogEntry.save() for single-object deletion in the admin. 2025-03-04 10:34:15 +01:00
admin_checks Fixed #10743 -- Allowed lookups for related fields in ModelAdmin.list_display. 2024-02-05 21:42:04 -03:00
admin_custom_urls
admin_default_site
admin_docs Captured stderr during admin_docs test. 2025-01-27 09:23:56 +01:00
admin_filters Fixed #35198 -- Fixed facet filters crash on querysets with no primary key. 2024-02-29 10:01:18 +01:00
admin_inlines Fixed #34917 -- Underlined links in the main content area of the admin. 2025-03-27 13:27:33 +01:00
admin_ordering Fixed #9602 -- Added AdminSite.get_model_admin(). 2023-07-07 08:06:01 +02:00
admin_registration Fixed #373 -- Added CompositePrimaryKey. 2024-11-29 11:23:04 +01:00
admin_scripts Fixed #18296 -- Created missing custom target directory for startproject and startapp. 2025-04-27 14:41:27 +01:00
admin_utils Fixed #35959 -- Displayed password reset button in admin only when user has sufficient permissions. 2025-04-17 12:00:20 -03:00
admin_views Fixed #36331 -- Reverted "Fixed #36055 -- Prevented overlap of object-tools buttons and page header in the admin." 2025-04-22 22:13:38 -03:00
admin_widgets Fixed #36013 -- Removed use of IDNA-2003 in django.utils.html. 2025-01-23 10:38:15 +01:00
aggregation Fixed aggregation tests crash on databases that don't support JSONFields. 2025-04-27 09:03:35 +02:00
aggregation_regress Applied Black's 2024 stable style. 2024-01-26 12:45:07 +01:00
annotations Fixed #36299 -- Prevented field selection on QuerySet.alias() after values(). 2025-04-05 20:43:50 +02:00
app_loading Used addCleanup() in tests where appropriate. 2023-12-31 10:01:31 +01:00
apps Fixed #34849 -- Avoided raising RuntimeWarning about import-time queries when apps are reinitialized with test tools. 2023-09-25 08:17:03 +02:00
asgi Fixed #36281 -- Used async-safe write in ASGIHandler.read_body(). 2025-05-04 14:53:08 +02:00
async Fixed #35530 -- Deprecated request.user fallback in auth.login and auth.alogin. 2024-11-28 17:43:46 +01:00
auth_tests Fixed #35959 -- Displayed password reset button in admin only when user has sufficient permissions. 2025-04-17 12:00:20 -03:00
backends Fixed #34865 -- Released memory earlier than garbage collection on database wrapping layers. 2025-03-17 18:28:20 -03:00
base
bash_completion Applied Black's 2024 stable style. 2024-01-26 12:45:07 +01:00
basic Removed outdated docstring in tests/basic/models.py. 2025-02-25 15:22:08 +01:00
builtin_server Fixed #33865 -- Optimized LimitedStream wrapper. 2023-01-05 19:26:56 +01:00
bulk_create Refs #36088, Refs #36260 - Added supports_expression_defaults checks in bulk_create() tests. 2025-04-05 18:47:53 +02:00
cache Fixed #32831 -– Allowed cache tests to be retried via a new "retry" decorator. 2024-09-05 18:25:05 -03:00
check_framework Fixed #35656 -- Added an autodetector attribute to the makemigrations and migrate commands. 2024-10-15 16:39:12 +02:00
composite_pk Fixed #36326 -- Added CompositePrimaryKey support in QuerySet.raw(). 2025-04-17 17:23:06 +02:00
conditional_processing Updated documentation and comments for RFC updates. 2022-11-10 13:52:17 +01:00
constraints Fixed #36198 -- Implemented unresolved transform expression replacement. 2025-03-01 19:57:53 +01:00
contenttypes_tests Fixed #36267 -- Fixed contenttypes shortcut() view crash with an invalid object_id for a UUIDField pk. 2025-04-02 09:33:13 +02:00
context_processors Applied Black's 2024 stable style. 2024-01-26 12:45:07 +01:00
csrf_tests Refs #35727 -- Updated response.content.decode calls to use the HttpResponse.text property. 2024-10-16 11:52:22 +02:00
custom_columns Refs #33990 -- Renamed TransactionTestCase.assertQuerysetEqual() to assertQuerySetEqual(). 2022-10-08 08:07:38 +02:00
custom_lookups Americanized some spellings. 2025-04-16 10:21:38 +02:00
custom_managers Refs #33990 -- Renamed TransactionTestCase.assertQuerysetEqual() to assertQuerySetEqual(). 2022-10-08 08:07:38 +02:00
custom_methods Refs #33990 -- Renamed TransactionTestCase.assertQuerysetEqual() to assertQuerySetEqual(). 2022-10-08 08:07:38 +02:00
custom_migration_operations Fixed #35175 -- Made migraton writer preserve keyword-only arguments. 2024-02-09 09:37:13 +01:00
custom_pk Removed unnecessary trailing commas in tests. 2023-08-22 12:42:57 +02:00
datatypes Refs #36005 -- Used datetime.UTC alias instead of datetime.timezone.utc. 2025-02-18 08:35:36 +01:00
dates Replaced assertQuerysetEqual() to assertSequenceEqual()/assertCountEqual() where appropriate. 2022-10-07 13:05:35 +02:00
datetimes Refs #32365 -- Removed support for pytz timezones per deprecation timeline. 2023-01-17 11:49:15 +01:00
db_functions Refs #36005 -- Used datetime.UTC alias instead of datetime.timezone.utc. 2025-02-18 08:35:36 +01:00
db_typecasts
db_utils Applied Black's 2024 stable style. 2024-01-26 12:45:07 +01:00
dbshell Fixed #18392 -- Changed default mysql encoding to "utf8mb4". 2024-11-18 15:00:33 +01:00
decorators Fixed #35083 -- Updated method_decorator to handle async methods. 2024-08-30 08:54:49 -03:00
defer Fixed #35950 -- Restored refreshing of relations when fields deferred. 2024-12-02 16:01:37 +01:00
defer_regress Fixed #35356 -- Deferred self-referential foreign key fields adequately. 2024-04-23 13:17:17 -03:00
delete Added missing test for QuerySet.delete() when raising EmptyResultSet. 2025-01-02 23:49:49 -03:00
delete_regress Fixed #35073 -- Avoided unnecessary calling of callables used by SET/SET_DEFAULT in Collector.collect(). 2024-02-08 18:41:32 +01:00
deprecation Fixed #35303 -- Implemented async auth backends and utils. 2024-10-07 14:19:41 +02:00
dispatch Fixed #35801 -- Prevented collision of senders with non-overlapping lifetimes. 2025-04-23 13:09:46 +01:00
distinct_on_fields Applied Black's 2024 stable style. 2024-01-26 12:45:07 +01:00
empty
empty_models
expressions Fixed #36198 -- Implemented unresolved transform expression replacement. 2025-03-01 19:57:53 +01:00
expressions_case Refs #33990 -- Renamed TransactionTestCase.assertQuerysetEqual() to assertQuerySetEqual(). 2022-10-08 08:07:38 +02:00
expressions_window Fixed #35444 -- Added generic support for Aggregate.order_by. 2025-03-03 11:37:00 +01:00
extra_regress Fixed #30382 -- Allowed specifying parent classes in force_insert of Model.save(). 2023-06-29 21:52:52 +02:00
field_deconstruction Fixed #36061 -- Added migration support for ManyToManyField.through_fields. 2025-02-06 15:26:12 +01:00
field_defaults Added supports_expression_defaults check in DefaultTests.test_full_clean() test. 2025-04-06 09:40:12 +02:00
field_subclassing
file_storage Refs #36005 -- Used datetime.UTC alias instead of datetime.timezone.utc. 2025-02-18 08:35:36 +01:00
file_uploads Fixed CVE-2024-39330 -- Added extra file name validation in Storage's save method. 2024-07-09 09:21:19 -03:00
files Fixed #36298 -- Truncated the overwritten file content in file_move_safe(). 2025-04-07 16:11:36 +02:00
filtered_relation Fixed #36109 -- Fixed RecursionError when stacking FilteredRelation joins. 2025-01-27 10:32:19 +01:00
fixtures Fixed #36177 -- Added a trailing newline to JSON serializer. (#19232) 2025-03-11 08:01:06 +01:00
fixtures_model_package Refs #33990 -- Renamed TransactionTestCase.assertQuerysetEqual() to assertQuerySetEqual(). 2022-10-08 08:07:38 +02:00
fixtures_regress Fixed #36177 -- Added a trailing newline to JSON serializer. (#19232) 2025-03-11 08:01:06 +01:00
flatpages_tests
force_insert_update Fixed #33579 -- Specialized exception raised on forced update failures. 2025-03-10 21:09:15 +01:00
foreign_object Americanized some spellings. 2025-04-16 10:21:38 +02:00
forms_tests Fixed #35986 -- Fixed test classes with @translation.override decorator. 2025-04-09 09:49:14 +02:00
from_db_value
generic_inline_admin Refs #34380 -- Changed the URLField default scheme to https and removed FORMS_URLFIELD_ASSUME_HTTPS per deprecation timeline. 2025-01-15 22:28:37 +01:00
generic_relations Fixed #33651 -- Added support for prefetching GenericForeignKey. 2023-09-18 13:23:21 +02:00
generic_relations_regress Fixed #34816 -- Fixed GenericForeignKey crash when checking cache for primary keys with different types. 2023-09-08 08:47:11 +02:00
generic_views Refs #36005 -- Used datetime.UTC alias instead of datetime.timezone.utc. 2025-02-18 08:35:36 +01:00
get_earliest_or_latest
get_object_or_404
get_or_create Refs #29499 -- Fixed race condition in update_or_create() test. 2025-01-15 15:36:57 +01:00
gis_tests Refs #36036 -- Removed unsupported 4D GEOS tests. 2025-04-09 22:40:55 -03:00
handlers Refs #33735 -- Adjusted warning stacklevel in StreamingHttpResponse.__iter__()/__aiter__(). 2024-08-28 11:44:05 -03:00
httpwrappers Fixed #35784 -- Added support for preserving the HTTP request method in HttpResponseRedirectBase. 2024-11-14 15:53:49 -03:00
humanize_tests Refs #36005 -- Used datetime.UTC alias instead of datetime.timezone.utc. 2025-02-18 08:35:36 +01:00
i18n Fixed #36010 -- Avoided touching mo files while checking writability. 2025-01-23 11:36:43 +01:00
import_error_package
indexes Fixed #35469 -- Removed deferred SQL to create index removed by AlterField operation. 2024-05-28 12:44:07 +02:00
inline_formsets Fixed #35676 -- Made BaseModelForm validate constraints that reference an InlineForeignKeyField. 2025-03-12 09:16:15 +01:00
inspectdb Refs #36052, #32234 -- Fixed inspectdb tests for CompositePrimaryKey on Oracle. 2025-05-06 08:20:56 +02:00
introspection Refs #35234 -- Deprecated CheckConstraint.check in favor of .condition. 2024-03-01 07:15:32 +01:00
invalid_models_tests Fixed #22977 -- Added system check for clashing managers and reverse related fields. 2025-03-31 22:20:43 +02:00
known_related_objects Fixed #34227 -- Fixed QuerySet.select_related() with multi-level FilteredRelation. 2023-01-24 10:20:27 +01:00
logging_tests Fixed #36138 -- Changed ADMINS and MANAGERS settings to lists of strings. 2025-03-21 10:17:57 +01:00
lookup Fixed #36149 -- Allowed subquery values against tuple exact and in lookups. 2025-02-11 09:08:35 +01:00
m2m_and_m2o Applied Black's 2024 stable style. 2024-01-26 12:45:07 +01:00
m2m_intermediary Applied Black's 2024 stable style. 2024-01-26 12:45:07 +01:00
m2m_multiple Refs #33990 -- Renamed TransactionTestCase.assertQuerysetEqual() to assertQuerySetEqual(). 2022-10-08 08:07:38 +02:00
m2m_recursive
m2m_regress Fixed #33984 -- Reverted "Fixed #32980 -- Made models cache related managers." 2022-09-30 18:18:33 +02:00
m2m_signals
m2m_through Fixed #36197 -- Fixed improper many-to-many count() and exists() for non-pk to_field. 2025-02-18 11:43:27 +01:00
m2m_through_regress Fixed #36177 -- Added a trailing newline to JSON serializer. (#19232) 2025-03-11 08:01:06 +01:00
m2o_recursive
mail Fixed #36309 -- Made email alternatives and attachments pickleable. 2025-04-24 10:11:16 -03:00
managers_regress
many_to_many Refs #33651 -- Removed Prefetch.get_current_queryset() and get_prefetch_queryset() per deprecation timeline. 2025-01-15 22:28:37 +01:00
many_to_one Refs #33651 -- Removed Prefetch.get_current_queryset() and get_prefetch_queryset() per deprecation timeline. 2025-01-15 22:28:37 +01:00
many_to_one_null
max_lengths
messages_tests Fixed #35622 -- Made unittest ignore Django assertions in traceback frames. 2024-08-08 21:34:01 -03:00
middleware Fixed #36138 -- Changed ADMINS and MANAGERS settings to lists of strings. 2025-03-21 10:17:57 +01:00
middleware_exceptions Refs #33476 -- Applied Black's 2023 stable style. 2023-02-01 11:04:38 +01:00
migrate_signals Refs #33476 -- Applied Black's 2023 stable style. 2023-02-01 11:04:38 +01:00
migration_test_data_persistence Fixed #35921 -- Fixed failure when running tests in parallel on postgres. 2024-11-27 12:51:41 +01:00
migrations Fixed #36274 -- Added support for run_before and atomic in MigrationWriter. 2025-04-16 10:20:49 +02:00
migrations2 Fixed #35122 -- Made migrate --prune option respect --app_label. 2024-02-13 14:47:49 +01:00
model_enums Fixed #36005 -- Dropped support for Python 3.10 and 3.11. 2025-01-20 14:07:28 +01:00
model_fields Fixed #36262 -- Made GeneratedField.db_persist a required key-word argument. 2025-03-25 12:50:24 +01:00
model_forms Americanized some spellings. 2025-04-16 10:21:38 +02:00
model_formsets Fixed #35488 -- Fixed BaseModelFormSet.validate_unique() crash due to unhashable type. 2024-06-13 16:21:53 +02:00
model_formsets_regress Refs #33990 -- Renamed TransactionTestCase.assertQuerysetEqual() to assertQuerySetEqual(). 2022-10-08 08:07:38 +02:00
model_indexes
model_inheritance Fixed #36093 -- Adjusted unique checks to account for inherited primary keys. 2025-01-14 16:21:19 +01:00
model_inheritance_regress Applied Black's 2024 stable style. 2024-01-26 12:45:07 +01:00
model_meta Fixed #35407 -- Cached model's Options.swapped. 2024-05-07 14:25:51 +02:00
model_options Refs #27236 -- Reverted AlterIndexTogether deprecation. 2022-07-26 11:41:19 +02:00
model_package
model_regress Refs #33990 -- Renamed TransactionTestCase.assertQuerysetEqual() to assertQuerySetEqual(). 2022-10-08 08:07:38 +02:00
model_utils
modeladmin Refs #34462 -- Removed ModelAdmin.log_deletion() and LogEntryManager.log_action() per deprecation timeline. 2025-01-15 22:28:37 +01:00
multiple_database Fixed #36177 -- Added a trailing newline to JSON serializer. (#19232) 2025-03-11 08:01:06 +01:00
mutually_referential
nested_foreign_keys
no_models
null_fk Refs #33990 -- Renamed TransactionTestCase.assertQuerysetEqual() to assertQuerySetEqual(). 2022-10-08 08:07:38 +02:00
null_fk_ordering Applied Black's 2024 stable style. 2024-01-26 12:45:07 +01:00
null_queries
one_to_one Refs #33651 -- Removed Prefetch.get_current_queryset() and get_prefetch_queryset() per deprecation timeline. 2025-01-15 22:28:37 +01:00
or_lookups Refs #33990 -- Renamed TransactionTestCase.assertQuerysetEqual() to assertQuerySetEqual(). 2022-10-08 08:07:38 +02:00
order_with_respect_to Applied Black's 2024 stable style. 2024-01-26 12:45:07 +01:00
ordering Fixed #34372 -- Fixed queryset crash on order by aggregation using OrderBy. 2023-02-27 07:10:19 +01:00
pagination Fixed #35452 -- Deprecated orphans being more than or equal to page_size in pagination. 2025-03-25 12:04:13 +01:00
postgres_tests Americanized some spellings. 2025-04-16 10:21:38 +02:00
prefetch_related Fixed #34819 -- Made GenericForeignKey prefetching use matching pk representations. 2025-03-26 09:55:38 +01:00
project_template
properties
proxy_model_inheritance
proxy_models Fixed #36177 -- Added a trailing newline to JSON serializer. (#19232) 2025-03-11 08:01:06 +01:00
queries Fixed #36288 -- Addressed improper handling of duplicates in values_list(). 2025-04-11 09:04:49 +02:00
queryset_pickle
raw_query Fixed typos in docstrings and docs. 2024-03-07 06:01:01 +01:00
redirects_tests
requests_tests Fixed #35631 -- Added HttpRequest.get_preferred_type(). 2024-09-09 12:02:18 +02:00
requirements Bumped versions in pre-commit and npm configurations. 2025-02-01 08:53:14 +01:00
reserved_names
resolve_url
responses Refs #36005 -- Used datetime.UTC alias instead of datetime.timezone.utc. 2025-02-18 08:35:36 +01:00
reverse_lookup
save_delete_hooks Applied Black's 2024 stable style. 2024-01-26 12:45:07 +01:00
schema Fixed #36156 -- Added supports_json_field check in test_db_default_output_field_resolving test. 2025-04-05 18:54:08 +02:00
select_for_update Fixed #36301 -- Fixed select_for_update(of) crash when using values()/values_list(). 2025-04-07 22:56:40 +02:00
select_related
select_related_onetoone Fixed #34612 -- Fixed QuerySet.only() crash on reverse relationships. 2023-06-01 19:50:47 +01:00
select_related_regress
serializers Fixed #36177 -- Added a trailing newline to JSON serializer. (#19232) 2025-03-11 08:01:06 +01:00
servers Fixed #36177 -- Added a trailing newline to JSON serializer. (#19232) 2025-03-11 08:01:06 +01:00
sessions_tests Fixed #34901 -- Added async-compatible interface to session engines. 2024-03-13 17:55:15 +01:00
settings_tests Used addCleanup() in tests where appropriate. 2023-12-31 10:01:31 +01:00
shell Fixed #36252 -- Handled duplicate automatic imports in the shell command. 2025-03-17 16:29:28 -03:00
shortcuts Fixed #35784 -- Added support for preserving the HTTP request method in HttpResponseRedirectBase. 2024-11-14 15:53:49 -03:00
signals Fixed #35174 -- Fixed Signal.asend()/asend_robust() crash when all receivers are asynchronous. 2024-02-08 11:36:28 +01:00
signed_cookies_tests
signing Refs #33199 -- Removed support for passing positional arguments to Signer/TimestampSigner. 2023-09-18 22:12:40 +02:00
sitemaps_tests Americanized some spellings. 2025-04-16 10:21:38 +02:00
sites_framework Refs #33476 -- Applied Black's 2023 stable style. 2023-02-01 11:04:38 +01:00
sites_tests Used addCleanup() in tests where appropriate. 2023-12-31 10:01:31 +01:00
sphinx Fixed #29942 -- Restored source file linking in docs by using the Sphinx linkcode ext. 2024-05-14 22:08:29 -03:00
staticfiles_tests Refs #36005 -- Used datetime.UTC alias instead of datetime.timezone.utc. 2025-02-18 08:35:36 +01:00
str
string_lookup
swappable_models Refs #33476 -- Applied Black's 2023 stable style. 2023-02-01 11:04:38 +01:00
syndication_tests Fixed #12978 -- Added support for RSS feed stylesheets. 2024-06-18 17:25:43 +02:00
template_backends Fixed #35837 -- Added missing alters_data=True to QuerySet and UserManager methods. 2024-11-01 11:43:49 +01:00
template_loader
template_tests Fixed #36341 -- Preserved whitespaces in wordwrap template filter. 2025-04-23 16:14:03 -03:00
templates
test_client Fixed #35414 -- Used default headers in AsyncRequestFactory. 2025-01-03 08:41:34 +01:00
test_client_regress Fixed a typo in some tests. 2024-11-11 14:47:04 +01:00
test_exceptions
test_runner Refs #35967 -- Deprecated BaseDatabaseCreation.create_test_db(serialize). 2025-02-16 08:43:42 +01:00
test_runner_apps
test_utils Fixed #36005 -- Dropped support for Python 3.10 and 3.11. 2025-01-20 14:07:28 +01:00
timezones Fixed #35986 -- Fixed test classes with @translation.override decorator. 2025-04-09 09:49:14 +02:00
transaction_hooks Fixed #33616 -- Allowed registering callbacks that can fail in transaction.on_commit(). 2022-09-06 12:21:36 +02:00
transactions Applied Black's 2024 stable style. 2024-01-26 12:45:07 +01:00
unmanaged_models Refs #33476 -- Applied Black's 2023 stable style. 2023-02-01 11:04:38 +01:00
update Fixed #36360 -- Fixed QuerySet.update() crash when referring annotations through values(). 2025-04-30 10:38:19 +01:00
update_only_fields Fixed #33579 -- Specialized exception raised on forced update failures. 2025-03-10 21:09:15 +01:00
urlpatterns Refs #35090 -- Fixed urlpatterns.tests.SimplifiedURLTests when run in reverse. 2025-01-16 13:12:33 +01:00
urlpatterns_reverse Fixed #25582 -- Added support for query and fragment to django.urls.reverse(). 2024-12-11 16:40:28 -03:00
user_commands Fixed #36056 -- Made OutputWrapper a virtual subclass of TextIOBase. 2025-01-04 00:29:53 -03:00
utils_tests Fixed CVE-2025-27556 -- Mitigated potential DoS in url_has_allowed_host_and_scheme() on Windows. 2025-04-02 10:21:33 +02:00
validation Fixed #35638 -- Updated validate_constraints to consider db_default. 2024-08-05 17:33:12 +02:00
validators Fixed #36098 -- Fixed validate_ipv6_address()/validate_ipv46_address() crash for non-string values. 2025-01-15 13:46:06 -03:00
version
view_tests Fixed #36138 -- Changed ADMINS and MANAGERS settings to lists of strings. 2025-03-21 10:17:57 +01:00
wsgi Used addCleanup() in tests where appropriate. 2023-12-31 10:01:31 +01:00
xor_lookups Fixed #34604 -- Corrected fallback SQL for n-ary logical XOR. 2023-06-08 20:41:18 +02:00
.coveragerc Fixed #34810 -- Measured test coverage on django-admin commands. 2023-09-07 15:47:26 -03:00
README.rst
runtests.py Fixed #36005 -- Dropped support for Python 3.10 and 3.11. 2025-01-20 14:07:28 +01:00
sitecustomize.py Fixed #34810 -- Measured test coverage on django-admin commands. 2023-09-07 15:47:26 -03:00
test_sqlite.py
urls.py Applied Black's 2024 stable style. 2024-01-26 12:45:07 +01:00

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/.