1
0
mirror of https://github.com/django/django.git synced 2024-12-23 01:25:58 +00:00
django/tests
Allan Feldman 36fa071d6e Fixed #32889 -- Allowed per-request sync_to_async context in ASGIHandler .
By using a asgiref's ThreadSensitiveContext context manager, requests
will be able to execute independently of other requests when sync work
is involved.

Prior to this commit, a single global thread was used to execute any
sync work independent of the request from which that work was scheduled.
This could result in contention for the global sync thread in the case
of a slow sync function.

Requests are now isolated to their own sync thread.
2021-07-01 12:13:19 +02:00
..
absolute_url_overrides
admin_autodiscover
admin_changelist Refs #24121 -- Added __repr__() to ChangeList and BaseStorage. 2021-06-07 06:31:50 +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
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 Fixed typos in test comments. 2021-06-07 20:54:28 +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 Refs #32379 -- Added USE_TZ settings to AdminScriptTestCase.write_settings(). 2021-05-25 13:22:40 +02:00
admin_utils Refs #31369 -- Removed models.NullBooleanField per deprecation timeline. 2021-01-14 17:50:04 +01:00
admin_views Refs #24121 -- Added __repr__() to AdminForm, BlockContext, BlockTranslateNode, and IncludeNode. 2021-06-10 12:47:53 +02:00
admin_widgets Fixed capitalization of "ECMAScript" and "JavaScript". 2021-04-29 20:29:08 +02: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 #32690 -- Fixed __in lookup crash when combining with filtered aggregates. 2021-05-05 11:41:35 +02: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 Fixed #32889 -- Allowed per-request sync_to_async context in ASGIHandler . 2021-07-01 12:13:19 +02:00
async
auth_tests Refs #32508 -- Raised ImproperlyConfigured/TypeError instead of using "assert" in various code. 2021-06-25 06:55:47 +02:00
backends Fixed #32653 -- Made quoting names in the Oracle backend consistent with db_table. 2021-04-30 12:59:07 +02:00
base
bash_completion
basic Fixed #24141 -- Added QuerySet.contains(). 2021-03-06 20:40:29 +01:00
builtin_server
bulk_create Refs #31369 -- Removed models.NullBooleanField per deprecation timeline. 2021-01-14 17:50:04 +01:00
cache Fixed #32772 -- Made database cache count size once per set. 2021-05-26 11:21:11 +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 #32885 -- Used _read_csrf_cookie()/_set_csrf_cookie() in more CSRF tests. 2021-06-30 07:48:15 +02: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
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
datetimes Fixed #31235 -- Made assertQuerysetEqual() compare querysets directly. 2020-11-06 09:24:50 +01:00
db_functions Refs #32858, Refs #32392 -- Restored using :: shortcut syntax in Cast() on PostgreSQL. 2021-06-22 06:28:42 +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 #30427, Fixed #16176 -- Corrected setting descriptor in Field.contribute_to_class(). 2021-06-15 12:01:28 +02:00
defer_regress Removed hardcoded pk in defer_regress test. 2020-11-04 06:41:47 +01:00
delete Refs #32508 -- Raised TypeError instead of using "assert" on unsupported operations for sliced querysets. 2021-03-10 09:16:28 +01: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 Refs #24121 -- Added __repr__() to MiddlewareMixin and subclasses. 2021-03-10 21:16:58 +01: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 TypeError instead of using "assert" on unsupported operations for sliced querysets. 2021-03-10 09:16:28 +01:00
empty
empty_models
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 Fixed #32676 -- Prevented migrations from rendering related field attributes when not passed during initialization. 2021-05-28 20:25:59 +02:00
field_defaults
field_subclassing
file_storage Fixed #28154 -- Prevented infinite loop in FileSystemStorage.save() when a broken symlink with the same name exists. 2021-06-02 12:20:22 +02:00
file_uploads Refs #32355 -- Used addClassCleanup() in tests. 2021-06-04 12:53:11 +02:00
files Skipped GetImageDimensionsTests.test_webp when WEBP is not installed. 2020-10-06 11:25:04 +02:00
filtered_relation
fixtures Fixed #32291 -- Added fixtures compression support to dumpdata. 2021-01-12 15:47:58 +01:00
fixtures_model_package
fixtures_regress Fixed #31235 -- Made assertQuerysetEqual() compare querysets directly. 2020-11-06 09:24:50 +01:00
flatpages_tests
force_insert_update
foreign_object Fixed #32366 -- Updated datetime module usage to recommended approach. 2021-05-12 11:08:41 +02:00
forms_tests Fixed #32807 -- Fixed JSONField crash when redisplaying None values. 2021-06-28 11:02:08 +02:00
from_db_value
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 #32260 -- Made View.as_view() do not use update_wrapper(). 2021-03-30 07:58:09 +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
get_or_create
gis_tests Fixed #32721 -- Fixed migrations crash when adding namespaced spatial indexes on PostGIS. 2021-05-14 07:10:28 +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
i18n Refs #32144 -- Made makemessages remove temporary files on preprocessing error. 2021-07-01 10:11:10 +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 #30427, Fixed #16176 -- Corrected setting descriptor in Field.contribute_to_class(). 2021-06-15 12:01:28 +02:00
known_related_objects
logging_tests Refs #32355 -- Used addClassCleanup() in tests. 2021-06-04 12:53:11 +02:00
lookup Refs #24121 -- Added __repr__() to Lookup. 2021-05-24 07:32:25 +02:00
m2m_and_m2o
m2m_intermediary
m2m_multiple
m2m_recursive
m2m_regress Fixed #31235 -- Made assertQuerysetEqual() compare querysets directly. 2020-11-06 09:24:50 +01:00
m2m_signals
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 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 #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
messages_tests Refs #24121 -- Added __repr__() to ChangeList and BaseStorage. 2021-06-07 06:31:50 +02:00
middleware Fixed #32678 -- Removed SECURE_BROWSER_XSS_FILTER setting. 2021-04-30 12:32:52 +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 Fixed #25250 -- Clarified partially recorded state of squashed migrations in showmigrations --list. 2021-06-11 09:35:42 +02:00
migrations2
model_enums Refs #32074 -- Backported Enum.__repr__() from Python 3.10. 2021-04-07 10:28:40 +02:00
model_fields Fixed #32718 -- Relaxed file name validation in FileField. 2021-05-13 08:53:44 +02: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 #30427, Fixed #16176 -- Corrected setting descriptor in Field.contribute_to_class(). 2021-06-15 12:01:28 +02:00
model_inheritance_regress
model_meta Fixed #32294 -- Prevented ManyToManyField's hidden related name collisions between apps. 2020-12-30 13:11:47 +01: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 #32494 -- Adjusted system check for raw_id_fields to warn about Field.attname. 2021-03-04 08:41:28 +01:00
multiple_database
mutually_referential
nested_foreign_keys
no_models
null_fk
null_fk_ordering
null_queries
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 #32786 -- Moved subquery ordering clearing optimization to the _in lookup. 2021-06-30 10:08:55 +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 Fixed #32381 -- Made QuerySet.bulk_update() return the number of objects updated. 2021-06-29 06:58:46 +02:00
queryset_pickle Refs #32548 -- Added tests for passing conditional expressions to Q(). 2021-03-17 21:53:36 +01: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 #32698 -- Moved HttpRequest.get_raw_uri() to ExceptionReporter._get_raw_insecure_uri(). 2021-04-30 08:05:42 +02:00
requirements Updated asgiref dependency for 3.2 release series. 2021-04-06 10:38:43 +02:00
reserved_names
resolve_url
responses Refs #24121 -- Added __repr__() to StreamingHttpResponse and subclasses. 2021-06-22 21:28:48 +02:00
reverse_lookup
save_delete_hooks
schema Fixed #32832 -- Fixed adding BLOB/TEXT nullable field with default on MySQL 8.0.13+. 2021-06-10 20:03:43 +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
select_related_onetoone
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 #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 #32379 -- Started deprecation toward changing default USE_TZ to True. 2021-05-18 20:26:44 +02: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 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 #32375 -- Started deprecation toward changing the default sitemap protocol to https. 2021-05-21 11:00:54 +02:00
sites_framework
sites_tests
staticfiles_tests Fixed #32716 -- Fixed ManifestStaticFilesStorage crash when max_post_process_passes is 0. 2021-06-07 07:56:20 +02:00
str
string_lookup
swappable_models
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 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 Fixed #32824 -- Improved performance of NodeList.render(). 2021-06-11 12:22:06 +02:00
templates
test_client Fixed ResourceWarning in test_client.tests.ClientTest.test_uploading_named_temp_file(). 2021-06-24 11:47:29 +02:00
test_client_regress Fixed #31789 -- Added a new headers interface to HttpResponse. 2020-09-14 08:41:59 +02:00
test_exceptions
test_runner Refs #32655 -- Improved error if iter_test_cases() is passed a string. 2021-06-29 20:41:40 +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 Made SerializeMixin check lockfile attr at import time. 2021-06-04 12:29:09 +02: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
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 #32870 -- Improved error message when URLconf is empty. 2021-06-22 08:09:53 +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 #32727 -- Allowed spaces before time zone offset in parse_datetime(). 2021-06-24 10:07:55 +02:00
validation Refs #31369 -- Removed models.NullBooleanField per deprecation timeline. 2021-01-14 17:50:04 +01:00
validators Fixed CVE-2021-33571 -- Prevented leading zeros in IPv4 addresses. 2021-06-02 10:58:39 +02:00
version Fixed #32316 -- Deferred accessing __file__. 2021-04-01 14:33:30 +02:00
view_tests Refs #32508 -- Raised ImproperlyConfigured/TypeError instead of using "assert" in various code. 2021-06-25 06:55:47 +02:00
wsgi
.coveragerc
README.rst
runtests.py Fixed #32609 -- Updated runtests.py to support directory path test labels. 2021-06-10 20:19:30 +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

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