django1/tests
Mariusz Felisiak 93a42d43a6 [4.0.x] Fixed #33159 -- Reverted "Fixed #32970 -- Changed WhereNode.clone() to create a shallow copy of children."
This reverts commit e441847eca.

A shallow copy is not enough because querysets can be reused and
evaluated in nested nodes, which shouldn't mutate JOIN aliases.

Thanks Michal Čihař for the report.
Backport of 903aaa35e5 from main
2021-09-30 11:26:53 +02:00
..
absolute_url_overrides
admin_autodiscover Used assertRaisesMessage() in various tests. 2020-02-07 12:46:23 +01:00
admin_changelist [4.0.x] Fixed #33083 -- Fixed selecting all items in the admin changelist when actions are both top and bottom. 2021-09-21 19:59:09 +02:00
admin_checks Corrected messages of admin checks for invalid model field names. 2021-03-04 08:41:28 +01:00
admin_custom_urls Fixed #32771 -- Used IS_POPUP_VAR constant instead of hard-coded value. 2021-05-20 07:04:26 +02:00
admin_default_site Refs #24121 -- Added __repr__() to AdminSite, DefaultAdminSite, and ModelAdmin. 2021-07-05 08:15:58 +02:00
admin_docs Fixed CVE-2021-33203 -- Fixed potential path-traversal via admindocs' TemplateDetailView. 2021-06-02 10:58:39 +02:00
admin_filters Refs #31369 -- Removed models.NullBooleanField per deprecation timeline. 2021-01-14 17:50:04 +01:00
admin_inlines [4.0.x] Fixed #33111 -- Fixed passing object to ModelAdmin.get_inlines() when editing in admin change view. 2021-09-21 13:35:47 +02: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 #32309 -- Added --exclude option to startapp/startproject management commands. 2021-09-01 12:08:02 +02:00
admin_utils Fixed #32873 -- Deprecated settings.USE_L10N. 2021-09-14 12:05:43 +02:00
admin_views Fixed #31026 -- Switched form rendering to template engine. 2021-09-20 15:50:18 +02:00
admin_widgets [4.0.x] Fixed #33070 -- Fixed loading translations with language subtags in admin's Select2 widget. 2021-09-21 08:07:59 +02:00
aggregation [4.0.x] Fixed #33141 -- Renamed Expression.empty_aggregate_value to empty_result_set_value. 2021-09-29 20:52:59 +02:00
aggregation_regress Fixed #32690 -- Fixed __in lookup crash when combining with filtered aggregates. 2021-05-05 11:41:35 +02:00
annotations [4.0.x] Fixed #33018 -- Fixed annotations with empty queryset. 2021-09-29 20:53:16 +02: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 Fixed #32889 -- Allowed per-request sync_to_async context in ASGIHandler . 2021-07-01 12:13:19 +02:00
async Refs #31224 -- Added autoconversion of test async methods. 2020-03-05 14:29:21 +01:00
auth_tests Refs #32508 -- Raised TypeError/ValueError instead of using "assert" in encode() methods of remaining password hashers. 2021-09-06 07:47:53 +02:00
backends Fixed #33017 -- Fixed storage engine introspection on MySQL. 2021-08-20 11:05:21 +02: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 #32508 -- Raised Type/ValueError instead of using "assert" in django.db.models. 2021-07-15 11:43:33 +02:00
cache Fixed #33012 -- Added Redis cache backend. 2021-09-14 15:50:08 +02:00
check_framework Fixed #32863 -- Skipped system check for specifying type of auto-created primary keys on models with invalid app_label. 2021-06-22 20:47:15 +02: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
csrf_tests Refs #32800 -- Added test_masked_secret_accepted_and_not_replaced(). 2021-08-17 12:23:54 +02:00
custom_columns Fixed 32956 -- Lowercased spelling of "web" and "web framework" where appropriate. 2021-07-29 06:24:12 +02: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 Fixed #32442 -- Used converters on returning fields from INSERT statements. 2021-04-07 17:10:00 +02:00
datatypes Refs #31369 -- Removed models.NullBooleanField per deprecation timeline. 2021-01-14 17:50:04 +01:00
dates Refs #32508 -- Raised Type/ValueError instead of using "assert" in django.db.models. 2021-07-15 11:43:33 +02:00
datetimes Fixed #32365 -- Made zoneinfo the default timezone implementation. 2021-09-16 12:11:05 +02:00
db_functions [4.0.x] Fixed #33018 -- Fixed annotations with empty queryset. 2021-09-29 20:53:16 +02:00
db_typecasts
db_utils Fixed #32233 -- Cleaned-up duplicate connection functionality. 2020-12-08 08:55:44 +01:00
dbshell Fixed #32732 -- Removed usage of deprecated 'db' and 'passwd' connection options in MySQL backend. 2021-05-12 12:21:57 +02:00
decorators Refs #32468 -- Added error message on invalid usage of cache decorators. 2021-02-24 10:13:51 +01:00
defer Fixed #32704 -- Fixed list of deferred fields when chaining QuerySet.defer() after only(). 2021-07-20 12:15:29 +02:00
defer_regress Removed hardcoded pk in defer_regress test. 2020-11-04 06:41:47 +01:00
delete Refs #32508 -- Raised Type/ValueError instead of using "assert" in django.db.models. 2021-07-15 11:43:33 +02:00
delete_regress Refs #32682 -- Fixed QuerySet.delete() crash on querysets with self-referential subqueries on MySQL. 2021-04-27 10:34:47 +02:00
deprecation Fixed #32873 -- Deprecated settings.USE_L10N. 2021-09-14 12:05:43 +02:00
dispatch Refs #32508 -- Raised ImproperlyConfigured/TypeError instead of using "assert" in various code. 2021-06-25 06:55:47 +02:00
distinct_on_fields Refs #32508 -- Raised Type/ValueError instead of using "assert" in django.db.models. 2021-07-15 11:43:33 +02:00
empty
empty_models Added assertions for an empty stdout to CoreCommandsNoOutputTests. 2020-04-20 11:32:03 +02:00
expressions Fixed #32793 -- Fixed loss of precision for temporal operations with DecimalFields on MySQL. 2021-06-01 15:11:42 +02: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 #32983 -- Removed unneeded related_name from test model definitions. 2021-08-06 11:57:02 +02:00
field_defaults
field_subclassing
file_storage Fixed 32956 -- Lowercased spelling of "web" and "web framework" where appropriate. 2021-07-29 06:24:12 +02:00
file_uploads Fixed isolation of test_filename_traversal_upload(). 2021-07-05 12:05:13 +02:00
files Fixed #33079 -- Fixed get_image_dimensions() on nonexistent images. 2021-09-02 07:08:50 +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 #32951 -- Removed Query.where_class & co. 2021-07-22 08:49:20 +02:00
forms_tests [4.0.x] Fixed #33134 -- Fixed recursion depth error when rendering Form with BoundFields. 2021-09-29 10:55:01 +02: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 isolation of GenericRelationTests.test_filter_targets_related_pk(). 2021-07-08 13:13:40 +02:00
generic_views Fixed #21936 -- Allowed DeleteView to work with custom Forms and SuccessMessageMixin. 2021-07-14 09:47:03 +02:00
get_earliest_or_latest Refs #32508 -- Raised TypeError instead of using "assert" on unsupported operations for sliced querysets. 2021-03-10 09:16:28 +01: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 Fixed #27674 -- Deprecated GeoModelAdmin and OSMGeoAdmin. 2021-09-17 08:56:16 +02:00
handlers Refs CVE-2021-23336 -- Updated tests and release notes for affected versions. 2021-02-19 09:03:06 +01:00
httpwrappers Refs #24121 -- Added __repr__() to StreamingHttpResponse and subclasses. 2021-06-22 21:28:48 +02:00
humanize_tests Fixed #32873 -- Deprecated settings.USE_L10N. 2021-09-14 12:05:43 +02:00
i18n Fixed #32873 -- Deprecated settings.USE_L10N. 2021-09-14 12:05:43 +02:00
import_error_package
indexes Refs #26167 -- Added @skipUnlessDBFeature('supports_expression_indexes') to a test. 2021-03-08 20:12:26 +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 #33084 -- Removed incorrect system check for ManyToManyField with limit_choices_to. 2021-09-09 12:07:59 +02:00
known_related_objects
logging_tests Fixed #33096 -- Fixed <form> nesting in technical 500 template. 2021-09-10 06:44:39 +02:00
lookup Fixed #27021 -- Allowed lookup expressions in annotations, aggregations, and QuerySet.filter(). 2021-07-09 11:43:06 +02:00
m2m_and_m2o
m2m_intermediary Removed unused __str__() methods in tests models. 2020-04-30 09:13:23 +02:00
m2m_multiple
m2m_recursive
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 #32947 -- Fixed hash() crash on reverse M2M relation when through_fields is a list. 2021-07-26 06:09:29 +02: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 Refs #32355 -- Used addClassCleanup() in tests. 2021-06-04 12:53:11 +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 32956 -- Lowercased spelling of "web" and "web framework" where appropriate. 2021-07-29 06:24:12 +02: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
messages_tests Fixed #21936 -- Allowed DeleteView to work with custom Forms and SuccessMessageMixin. 2021-07-14 09:47:03 +02:00
middleware Fixed 32956 -- Lowercased spelling of "web" and "web framework" where appropriate. 2021-07-29 06:24:12 +02:00
middleware_exceptions Fixed #32614 -- Fixed MiddlewareSyncAsyncTests tests with asgiref 3.3.2+. 2021-04-06 08:03:43 +02:00
migrate_signals Fixed #32395 -- Allowed capturing stdout of migration signals. 2021-02-04 11:19:49 +01:00
migration_test_data_persistence
migrations Refs #33119 -- Added tests for changing model name case referenced by ManyToManyField. 2021-09-20 12:00:10 +02:00
migrations2
model_enums Refs #32074 -- Backported Enum.__repr__() from Python 3.10. 2021-04-07 10:28:40 +02:00
model_fields [4.0.x] Fixed #33033 -- Prevented models.DecimalField from accepting NaN values. 2021-09-28 13:57:45 +02:00
model_forms Fixed #33084 -- Removed incorrect system check for ManyToManyField with limit_choices_to. 2021-09-09 12:07:59 +02:00
model_formsets Fixed #31026 -- Switched form rendering to template engine. 2021-09-20 15:50:18 +02:00
model_formsets_regress Fixed #31235 -- Made assertQuerysetEqual() compare querysets directly. 2020-11-06 09:24:50 +01:00
model_indexes Refs #32508 -- Raised Type/ValueError instead of using "assert" in django.db.models. 2021-07-15 11:43:33 +02:00
model_inheritance Fixed 32956 -- Lowercased spelling of "web" and "web framework" where appropriate. 2021-07-29 06:24:12 +02:00
model_inheritance_regress Removed unused __str__() methods in tests models. 2020-04-30 09:13:23 +02:00
model_meta Refs #32983 -- Removed unneeded related_name from test model definitions. 2021-08-06 11:57:02 +02:00
model_options Fixed #32620 -- Allowed subclasses of Big/SmallAutoField for DEFAULT_AUTO_FIELD. 2021-04-08 13:17:08 +02:00
model_package
model_regress Fixed #31863 -- Prevented mutating model state by copies of model instances. 2020-08-12 12:43:42 +02:00
model_utils Fixed #32812 -- Restored immutability of named values from QuerySet.values_list(). 2021-06-04 07:23:16 +02:00
modeladmin Fixed #32975 -- Fixed admin system check for inlines with foreign keys to proxy models. 2021-09-03 06:48:32 +02:00
multiple_database Fixed isolation of RouterTestCase.test_m2m_cross_database_protection(). 2021-07-05 15:22:08 +02:00
mutually_referential
nested_foreign_keys
no_models
null_fk Removed unused __str__() methods in tests models. 2020-04-15 20:20:32 +02:00
null_fk_ordering Refs #32956 -- Changed "afterwards" to "afterward" in docs and comments. 2021-07-27 10:41:51 +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
order_with_respect_to
ordering Fixed #32546 -- Avoided Meta.ordering columns in GROUP BY clauses. 2021-03-16 07:58:38 +01:00
pagination Fixed #31235 -- Made assertQuerysetEqual() compare querysets directly. 2020-11-06 09:24:50 +01:00
postgres_tests Fixed #32492 -- Added TrigramWordSimilarity() and TrigramWordDistance() on PostgreSQL. 2021-09-17 13:05:15 +02:00
prefetch_related Fixed #32812 -- Restored immutability of named values from QuerySet.values_list(). 2021-06-04 07:23:16 +02:00
project_template Fixed #31840 -- Added support for Cross-Origin Opener Policy header. 2021-03-30 19:59:24 +02:00
properties
proxy_model_inheritance
proxy_models
queries [4.0.x] Fixed #33159 -- Reverted "Fixed #32970 -- Changed WhereNode.clone() to create a shallow copy of children." 2021-09-30 11:26:53 +02:00
queryset_pickle Refs #32548 -- Added tests for passing conditional expressions to Q(). 2021-03-17 21:53:36 +01:00
raw_query Refs #32956 -- Corrected spelling of "gray". 2021-08-02 07:51:24 +02: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 #32698 -- Moved HttpRequest.get_raw_uri() to ExceptionReporter._get_raw_insecure_uri(). 2021-04-30 08:05:42 +02:00
requirements Fixed #33012 -- Added Redis cache backend. 2021-09-14 15:50:08 +02:00
reserved_names
resolve_url Removed unnecessary tuple wrapping of single format string argument. 2020-04-27 08:30:16 +02:00
responses Refs #24121 -- Added __repr__() to StreamingHttpResponse and subclasses. 2021-06-22 21:28:48 +02:00
reverse_lookup Removed unused __str__() methods in tests models. 2020-04-30 09:13:23 +02:00
save_delete_hooks
schema Fixed #33080 -- Preserved nullability of textual fields on Oracle. 2021-09-01 20:54:12 +02: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 Refs #33012 -- Moved PickleSerializer to django.core.serializers.base and added tests. 2021-09-02 11:24:55 +02:00
servers Fixed #32416 -- Made ThreadedWSGIServer close connections after each thread. 2021-04-12 10:23:56 +02: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 #32365 -- Made zoneinfo the default timezone implementation. 2021-09-16 12:11:05 +02:00
shell Refs #32956 -- Updated words ending in -wards. 2021-07-30 20:34:50 +02:00
shortcuts Fixed #31789 -- Added a new headers interface to HttpResponse. 2020-09-14 08:41:59 +02:00
signals Fixed #32594 -- Doc'd and tested that Signal.disconnect() with lazy references returns None. 2021-04-03 14:57:43 +02:00
signed_cookies_tests
signing Fixed #32712 -- Deprecated django.utils.baseconv module. 2021-05-07 11:57:40 +02:00
sitemaps_tests Fixed #32873 -- Deprecated settings.USE_L10N. 2021-09-14 12:05:43 +02:00
sites_framework Removed unused __str__() methods in tests models. 2020-04-15 20:20:32 +02:00
sites_tests Refs #32956 -- Changed "afterwards" to "afterward" in docs and comments. 2021-07-27 10:41:51 +02:00
staticfiles_tests Removed reference to nonexistent collectstatic --exclude-dirs option. 2021-08-19 12:49:46 +02: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 Fixed #32789 -- Made feeds emit elements with no content as self-closing tags. 2021-05-27 21:05:28 +02:00
template_backends Refs #32800 -- Renamed _compare_masked_tokens() to _does_token_match(). 2021-08-03 07:10:31 +02:00
template_loader
template_tests Fixed #32873 -- Deprecated settings.USE_L10N. 2021-09-14 12:05:43 +02:00
templates Fixed #31080 -- Removed redundant type="text/javascript" attribute from <script> tags. 2019-12-11 09:49:54 +01:00
test_client [4.0.x] Fixed #33132 -- Fixed test client handling of querystring only redirects. 2021-09-24 08:23:41 +02: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 #32552 -- Added logger argument to DiscoverRunner. 2021-08-24 09:23:01 +02:00
test_runner_apps Fixed #29127 -- Prevented DiscoverRunner from hiding tagged test with syntax errors. 2021-03-30 10:26:20 +02:00
test_utils Fixed #33054 -- Made TestCase.captureOnCommitCallbacks() capture callbacks recursively. 2021-08-30 07:06:22 +02:00
timezones Fixed #32365 -- Made zoneinfo the default timezone implementation. 2021-09-16 12:11:05 +02: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 isolation of NonAutocommitTests.test_orm_query_after_error_and_rollback(). 2021-07-09 07:38:31 +02:00
unmanaged_models Removed unused __str__() methods in tests models. 2020-04-15 20:20:32 +02:00
update Fixed #32645 -- Fixed QuerySet.update() crash when ordered by joined fields on MySQL/MariaDB. 2021-04-14 21:11:17 +02: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 Fixed #32195 -- Added system check for invalid view in path() and improved error messages. 2021-06-09 09:06:42 +02:00
urlpatterns_reverse Fixed #23895 -- Prevented pickling of ResolverMatch. 2021-07-29 07:04:56 +02:00
user_commands Fixed #33082 -- Fixed CommandTests.test_subparser_invalid_option on Python 3.9.7+. 2021-09-02 10:56:56 +02:00
utils_tests [4.0.x] Fixed #33027 -- Made autoreloader pass -X options. 2021-09-29 12:04:45 +02:00
validation Refs #32508 -- Raised Type/ValueError instead of using "assert" in django.db.models. 2021-07-15 11:43:33 +02:00
validators Refs #22123 -- Added more URLValidator test for invalid IPv6 literals. 2021-08-06 12:58:55 +02:00
version Fixed #32316 -- Deferred accessing __file__. 2021-04-01 14:33:30 +02:00
view_tests Fixed #32873 -- Deprecated settings.USE_L10N. 2021-09-14 12:05:43 +02:00
wsgi
.coveragerc
README.rst
runtests.py Refs #31621 -- Fixed handling --parallel option in test management command and runtests.py. 2021-08-19 09:18:32 +02:00
test_sqlite.py Fixed #32379 -- Started deprecation toward changing default USE_TZ to True. 2021-05-18 20:26:44 +02: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/.