django/tests
Simon Charette 453a5bf302 [3.0.x] Fixed #31735 -- Fixed migrations crash on namespaced inline FK addition on PostgreSQL.
The namespace of the constraint must be included when making the
constraint immediate.

Regression in 22ce5d0031.

Thanks Rodrigo Estevao for the report.

Backport of 2e8941b6f9 from master
2020-06-24 09:00:22 +02:00
..
absolute_url_overrides
admin_autodiscover
admin_changelist [3.0.x] Fixed #31031 -- Fixed data loss in admin changelist view when formset's prefix contains regex special chars. 2019-11-26 09:19:19 +01:00
admin_checks Fixed #30312 -- Relaxed admin check from django.contrib.sessions to SessionMiddleware subclasses. 2019-04-26 11:31:06 +02: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 Fixed #8500 -- Allowed overriding the default admin site instance. 2018-02-03 18:51:10 -05:00
admin_docs Fixed #30731 -- Fixed handling trailing groups in simplify_regex(). 2019-08-30 12:43:39 +02:00
admin_filters Refs #30449 -- Made RelatedOnlyFieldListFilter respect ModelAdmin.ordering. 2019-08-15 10:29:10 +02:00
admin_inlines Fixed CVE-2019-19118 -- Required edit permissions on parent model for editable inlines in admin. 2019-12-02 08:57:44 +01:00
admin_ordering Made reused RequestFactory instances class attributes. 2018-11-27 09:49:02 -05:00
admin_registration Fixed #27360 -- Added app or ModelAdmin details for AreadyRegistered exceptions. 2019-03-25 17:34:53 -04:00
admin_scripts Replaced subprocess commands by run() wherever possible. 2019-08-23 10:53:36 +02:00
admin_utils Fixed #30400 -- Improved typography of user facing strings. 2019-06-28 16:46:18 +02:00
admin_views Fixed CVE-2019-19118 -- Required edit permissions on parent model for editable inlines in admin. 2019-12-02 08:57:44 +01:00
admin_widgets [3.0.x] Fixed CVE-2020-13596 -- Fixed potential XSS in admin ForeignKeyRawIdWidget. 2020-06-03 09:32:35 +02:00
aggregation [3.0.x] Fixed #31568 -- Fixed alias reference when aggregating over multiple subqueries. 2020-05-14 10:26:16 +02:00
aggregation_regress Fixed #28107 -- Added DatabaseFeatures.allows_group_by_selected_pks_on_model() to allow enabling optimization for unmanaged models. 2019-09-09 14:04:46 +02:00
annotations [3.0.x] Refs #31660 -- Fixed annotations.tests crash on MySQL. 2020-06-11 10:36:24 +02:00
app_loading
apps Fixed #27685 -- Added watchman support to the autoreloader. 2019-01-13 20:33:47 -05:00
asgi [3.0.x] Fixed #30900 -- Skipped async-related tests on Windows using Python 3.8.0. 2019-10-24 10:43:37 +02:00
async [3.0.x] Fixed #31253 -- Fixed data loss possibility when using caching from async code. 2020-02-11 10:12:53 +01:00
auth_tests [3.0.x] Refs #31040 -- Fixed crypt.crypt() call in test_hashers.py. 2020-01-03 07:47:56 +01:00
backends [3.0.x] Fixed a/an typos in "SQL" usage. 2020-05-06 06:36:16 +02:00
base
bash_completion Removed parser.add_arguments() arguments that match the defaults. 2018-07-02 17:54:57 -04:00
basic Fixed #29260 -- Skipped an UPDATE when adding a model instance with primary key that has a default. 2019-08-19 13:28:35 +02:00
builtin_server [3.0.x] Fixed #31240 -- Properly closed FileResponse when wsgi.file_wrapper is used. 2020-02-11 20:40:24 +01:00
bulk_create [3.0.x] Fixed #30510 -- Fixed crash of QuerySet.bulk_create() with mixed-length texts on Oracle. 2019-10-01 13:11:19 +02:00
cache [3.0.x] Fixed #31654 -- Fixed cache key validation messages. 2020-06-05 07:22:52 +02:00
check_framework [3.0.x] Fixed #31141 -- Relaxed system check of translation settings for sublanguages. 2020-01-08 08:06:33 +01:00
conditional_processing Updated test URL patterns to use path() and re_path(). 2018-12-31 10:47:32 -05:00
constraints Refs #11964 -- Made constraint support check respect required_db_features. 2019-08-12 06:44:37 +02:00
contenttypes_tests Fixed #29706 -- Made RenameContentType._rename() save to the correct database. 2019-06-06 12:09:01 +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 Fixed #30137 -- Replaced OSError aliases with the canonical OSError. 2019-01-28 11:15:06 -05:00
custom_columns Followed style guide for model attribute ordering. 2018-12-27 19:34:14 -05:00
custom_lookups Removed unnecessary type() calls for class methods. 2019-02-06 22:00:32 -05:00
custom_managers Fixed #28838 -- Fixed Model.save() crash if the base manager annotates with a related field. 2018-01-25 10:12:04 -05:00
custom_methods
custom_migration_operations
custom_pk
datatypes Fixed #29227 -- Allowed BooleanField to be null=True. 2018-03-20 12:10:10 -04:00
dates Refs #26022 -- Used context manager version of assertRaisesMessage in tests. 2019-04-29 08:05:07 +02:00
datetimes Fixed #28650 -- Added TruncWeek database function. 2018-01-27 09:59:13 -05:00
db_functions Fixed #30661 -- Added models.SmallAutoField. 2019-08-02 11:39:01 +02:00
db_typecasts
db_utils Fixed #30071 -- Fixed error message when a 'default' database isn't provided. 2019-01-09 10:58:37 -05:00
dbshell Fixed broken OracleDbshellTests tests after 9386586f31. 2019-08-23 21:25:21 +02:00
decorators Fixed #30594 -- Added 'private' Cache-Control directive to never_cache() decorator. 2019-06-26 09:25:24 +02:00
defer Fixed typos in comments and a test name. 2019-07-19 18:24:06 +02:00
defer_regress
delete Fixed #30436 -- Added check that on_delete is callable in ForeignKey and OneToOneField. 2019-05-13 07:25:42 +02:00
delete_regress Switched setUp() to setUpTestData() where possible in Django's tests. 2018-11-27 09:35:17 -05:00
deprecation Silenced warnings in deprecation tests. 2018-07-11 09:10:31 -04:00
dispatch
distinct_on_fields Switched setUp() to setUpTestData() where possible in Django's tests. 2018-11-27 09:35:17 -05:00
empty
empty_models Fixed #30595 -- Added error message when no objects found to sql* management commands. 2019-07-01 13:47:54 +02:00
expressions [3.0.x] Fixed #31607 -- Fixed evaluated Subquery equality. 2020-05-19 22:51:01 +02:00
expressions_case Fixed #25367 -- Allowed boolean expressions in QuerySet.filter() and exclude(). 2019-08-29 09:45:29 +02:00
expressions_window [3.0.x] Fixed #31060 -- Reallowed window expressions to be used in conditions outside of queryset filters. 2019-12-06 15:28:23 +01:00
extra_regress Fixed #30159 -- Removed unneeded use of OrderedDict. 2019-02-06 13:48:39 -05:00
field_deconstruction Fixed #28937 -- Allowed BinaryField to be editable=True. 2017-12-22 16:31:46 -05: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 Refs #28428 -- Made FileField.upload_to support pathlib.Path. 2019-08-18 20:34:58 +02:00
file_uploads Cleaned up exception message checking in some tests. 2019-03-15 19:27:57 -04:00
files Fixed #30137 -- Replaced OSError aliases with the canonical OSError. 2019-01-28 11:15:06 -05:00
filtered_relation [3.0.x] Fixed #30854 -- Fixed QuerySet.select_related() with multiple FilteredRelations. 2019-10-11 09:18:23 +02:00
fixtures Renamed camelCaseTestMethods to snake_case_test_methods 2019-04-14 16:14:14 +02:00
fixtures_model_package Renamed camelCaseTestMethods to snake_case_test_methods 2019-04-14 16:14:14 +02:00
fixtures_regress Followed style guide for model attribute ordering. 2018-12-27 19:34:14 -05:00
flatpages_tests Fixed #30400 -- Improved typography of user facing strings. 2019-06-28 16:46:18 +02:00
force_insert_update
foreign_object Adjusted code style of a few test data setup methods. 2018-11-27 09:48:22 -05:00
forms_tests [3.0.x] Fixed #31073 -- Prevented CheckboxInput.get_context() from mutating attrs. 2019-12-11 09:37:34 +01:00
from_db_value Refs #28370 -- Removed support for the context arg of Field.from_db_value() and Expression.convert_value(). 2019-01-17 10:52:19 -05:00
generic_inline_admin Fixed #27755 -- Added ModelAdmin.get_inlines() hook. 2019-04-17 07:16:04 +02:00
generic_relations [3.0.x] Fixed #31190 -- Fixed prefetch_related() crash for GenericForeignKey with custom ContentType foreign key. 2020-01-22 08:25:23 +01:00
generic_relations_regress Fixed #29653 -- Fixed missing related_query_name reverse accessor if GenericRelation is declared on an abstract base model. 2018-08-10 12:17:26 -04:00
generic_views Fixed typo in tests/generic_views/test_base.py. 2019-06-04 20:09:07 -04: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 Fixed #29135 -- Prevented get_object/list_or_404() from hiding AttributeError raised by QuerySet filtering. 2018-02-19 10:51:15 -05:00
get_or_create Switched setUp() to setUpTestData() where possible in Django's tests. 2018-11-27 09:35:17 -05:00
gis_tests [3.0.x] Fixed E128, E741 flake8 warnings. 2020-05-12 08:55:06 +02:00
handlers Fixed #30070, CVE-2019-3498 -- Fixed content spoofing possiblity in the default 404 page. 2019-01-03 21:21:55 -05:00
httpwrappers Fixed #30294 -- Allowed HttpResponse to accept memoryview content. 2019-03-29 09:43:49 -04:00
humanize_tests Refs #27804 -- Used subTest() in filesizeformat tests and HumanizeTests. 2019-06-10 08:46:11 +02:00
i18n [3.0.x] Fixed #31570 -- Corrected translation loading for apps providing territorial language variants with different plural equations. 2020-06-01 09:27:53 +02:00
import_error_package
indexes [3.0.x] Fixed #30903 -- Fixed migrations crash on PostgreSQL when adding Index with opclasses and ordering. 2019-10-24 09:51:33 +02:00
inline_formsets
inspectdb Used re.Pattern.findall() instead of re.findall() in inspectdb.tests. 2019-05-24 09:04:27 +02:00
introspection Refs #30591 -- Fixed introspection of check and unique column constraints on MariaDB. 2019-08-26 09:15:37 +02:00
invalid_models_tests [3.0.x] Fixed #31538 -- Fixed Meta.ordering validation lookups that are not transforms. 2020-05-05 09:09:17 +02:00
known_related_objects
logging_tests Fixed #29714 -- Allowed using ExceptionReporter subclass with AdminEmailHandler. 2019-09-04 08:40:46 +02:00
lookup [3.0.x] Refs #30771 -- Fixed RemovedInDjango31Warning in test_exact_query_rhs_with_selected_columns. 2019-09-20 22:01:28 +02:00
m2m_and_m2o Followed style guide for model attribute ordering. 2018-12-27 19:34:14 -05:00
m2m_intermediary Corrected several typos in string literals and test names. 2019-08-07 11:23:14 +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 Refs #26022 -- Used context manager version of assertRaisesMessage in tests. 2019-04-29 08:05:07 +02:00
m2m_signals Switched setUp() to setUpTestData() where possible in Django's tests. 2018-11-27 09:35:17 -05:00
m2m_through Fixed #30421 -- Allowed symmetrical intermediate table for self-referential ManyToManyField. 2019-06-21 15:03:17 +02:00
m2m_through_regress Fixed #9475 -- Allowed RelatedManager.add(), create(), etc. for m2m with a through model. 2019-01-15 11:12:17 -05:00
m2o_recursive Adjusted code style of a few test data setup methods. 2018-11-27 09:48:22 -05:00
mail Fixed #30608 -- Fixed non-unicode EmailMessage crash when domain name for localhost is non-ASCII. 2019-07-03 10:49:03 +02:00
managers_regress Switched TestCase to SimpleTestCase where possible in Django's tests. 2018-11-27 08:58:44 -05:00
many_to_many Refs #26678 -- Added tests for using the field the relation points to with RelatedManager.add()/remove()/set(). 2019-05-07 09:02:06 +02:00
many_to_one Fixed #30661 -- Added models.SmallAutoField. 2019-08-02 11:39:01 +02:00
many_to_one_null Fixed #29447 -- Made RelatedManager.set() pass bulk argument to clear(). 2018-06-25 13:04:46 -04:00
max_lengths Fixed #30295 -- Fixed max_lengths.tests.MaxLengthORMTests when run in isolation. 2019-03-28 10:18:30 +01:00
messages_tests Updated test URL patterns to use path() and re_path(). 2018-12-31 10:47:32 -05:00
middleware Fixed #29406 -- Added support for Referrer-Policy header. 2019-09-09 13:35:41 +02:00
middleware_exceptions Updated test URL patterns to use path() and re_path(). 2018-12-31 10:47:32 -05:00
migrate_signals
migration_test_data_persistence
migrations [3.0.x] Fixed #27914 -- Fixed serialization of nested classes in migrations. 2019-11-25 11:27:15 +01:00
migrations2
model_enums [3.0.x] Fixed #31154 -- Added support for using enumeration types in templates. 2020-01-10 09:13:36 +01:00
model_fields [3.0.x] Fixed #31124 -- Fixed setting of get_FOO_display() when overriding inherited choices. 2020-01-15 15:36:28 +01:00
model_forms [3.0.x] Fixed #30014 -- Fixed ModelChoiceField validation when initial value is a model instance. 2019-10-11 14:33:32 +02:00
model_formsets Followed style guide for model attribute ordering. 2018-12-27 19:34:14 -05:00
model_formsets_regress Used 4 space hanging indent for dictionaries. 2019-01-02 18:18:19 -05:00
model_indexes Fixed #30397 -- Added app_label/class interpolation for names of indexes and constraints. 2019-07-08 14:57:56 +02:00
model_inheritance Fixed #30116 -- Dropped support for Python 3.5. 2019-01-30 10:19:48 -05:00
model_inheritance_regress Fixed hanging indentation in various code. 2018-03-16 10:54:34 +01:00
model_meta Refs #29444 -- Allowed returning multiple fields from INSERT statements on PostgreSQL. 2019-09-09 10:51:14 +02:00
model_options Fixed #30023 -- Prevented SQLite schema alterations while foreign key checks are enabled. 2018-12-15 18:51:59 -05:00
model_package
model_regress Moved choices inside of a test model per coding style. 2019-03-20 11:05:26 -04:00
modeladmin Fixed #30543 -- Fixed checks of ModelAdmin.list_display for fields accessible only via instance. 2019-07-10 10:37:34 +02:00
multiple_database Fixed #16027 -- Added app_label to ContentType.__str__(). 2019-02-07 19:56:47 -05: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
null_fk_ordering Followed style guide for model attribute ordering. 2018-12-27 19:34:14 -05:00
null_queries
one_to_one Refs #28147 -- Fixed setting of OneToOne and Foreign Key fields to None when using attnames. 2019-07-27 12:04:56 +02: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 [3.0.x] Fixed #13296 -- Fixed ordering by Options.order_with_respect_to after deleting objects. 2019-09-23 11:45:33 +02:00
ordering Refs #30557 -- Fixed crash of ordering by ptr fields when Meta.ordering contains F() expressions. 2019-07-11 13:40:36 +02:00
pagination Improved error message when index in __getitem__() is invalid. 2019-07-23 20:12:08 +02:00
postgres_tests [3.0.x] Fixed CVE-2020-7471 -- Properly escaped StringAgg(delimiter) parameter. 2020-02-03 08:32:54 +01:00
prefetch_related Fixed typo in tests/prefetch_related/tests.py comment. 2019-08-26 08:14:29 +02:00
project_template Fixed #30426 -- Changed X_FRAME_OPTIONS setting default to DENY. 2019-09-09 08:15:26 +02: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 [3.0.x] Fixed #31664 -- Reallowed using non-expressions having filterable attribute as rhs in queryset filters. 2020-06-08 09:20:08 +02:00
queryset_pickle Fixed #30727 -- Made Subquery pickle without evaluating their QuerySet. 2019-08-27 13:05:20 +02:00
raw_query Fixed #29337 -- Added __len__() & __bool__() to RawQuerySet. 2018-04-19 12:46:31 -04:00
redirects_tests Updated test URL patterns to use path() and re_path(). 2018-12-31 10:47:32 -05:00
requests Fixed typos in test names and a comment. 2019-08-23 10:46:43 +02:00
requirements [3.0.x] Pinned asgiref to 3.2 series. 2019-11-20 15:13:28 +01:00
reserved_names
resolve_url Updated test URL patterns to use path() and re_path(). 2018-12-31 10:47:32 -05:00
responses [3.0.x] Reverted "Fixed #30565 -- Closed HttpResponse when wsgi.file_wrapper closes file-like object." 2020-02-11 20:40:17 +01:00
reverse_lookup Switched setUp() to setUpTestData() where possible in Django's tests. 2018-11-27 09:35:17 -05:00
save_delete_hooks
schema [3.0.x] Fixed #31735 -- Fixed migrations crash on namespaced inline FK addition on PostgreSQL. 2020-06-24 09:00:22 +02:00
select_for_update [3.0.x] Fixed #31246 -- Fixed locking models in QuerySet.select_for_update(of=()) for related fields and parent link fields with multi-table inheritance. 2020-02-11 21:36:05 +01:00
select_related
select_related_onetoone Switched setUp() to setUpTestData() where possible in Django's tests. 2018-11-27 09:35:17 -05:00
select_related_regress
serializers [3.0.x] Fixed #31071 -- Disabled insert optimization for primary keys with defaults when loading fixtures. 2019-12-30 08:30:44 +01:00
servers Fixed #30619 -- Made runserver --nothreading use single threaded WSGIServer. 2019-07-10 13:22:17 +02:00
sessions_tests Fixed #28763 -- Allowed overriding the session cookie age with SessionStore.get_session_cookie_age(). 2019-05-21 08:50:09 +02:00
settings_tests Switched to use `HTTP_X_FORWARDED_PROTO` custom header in tests. 2019-08-12 12:51:26 +02:00
shell Replaced django.test.utils.patch_logger() with assertLogs(). 2018-05-07 09:34:00 -04:00
shortcuts Refs #25978 -- Removed shortcuts.render_to_response() per deprecation timeline. 2019-01-17 10:50:25 -05:00
signals Switched TestCase to SimpleTestCase where possible in Django's tests. 2018-11-27 08:58:44 -05:00
signed_cookies_tests
signing
sitemaps_tests Fixed #30159 -- Removed unneeded use of OrderedDict. 2019-02-06 13:48:39 -05:00
sites_framework Switched setUp() to setUpTestData() where possible in Django's tests. 2018-11-27 09:35:17 -05:00
sites_tests Refs #28478 -- Deprecated TestCase's allow_database_queries and multi_db in favor of databases. 2019-01-10 19:11:21 -05:00
staticfiles_tests [3.0.x] Fixed E128, E741 flake8 warnings. 2020-05-12 08:55:06 +02:00
str
string_lookup
swappable_models
syndication_tests Fixed #29352 -- Allowed specifying a Feed language. 2019-05-06 15:10:54 +02:00
template_backends Made reused RequestFactory instances class attributes. 2018-11-27 09:49:02 -05:00
template_loader
template_tests Fixed CVE-2019-14232 -- Adjusted regex to avoid backtracking issues when truncating HTML. 2019-08-01 09:24:54 +02:00
templates Fixed #29375 -- Removed empty action attribute on HTML forms. 2018-05-02 09:20:04 -04:00
test_client Fixed #30677 -- Improved error message for urlencode() and Client when None is passed as data. 2019-08-11 20:15:23 +02:00
test_client_regress Fixed #30550 -- Fixed decoding of non-UTF-8 bytes objects in response.json(). 2019-06-07 06:40:15 +02:00
test_exceptions
test_runner [3.0.x] Refs #29926 -- Bumped minimum tblib version to 1.5.0 in test requirements. 2019-10-23 15:26:54 +02:00
test_runner_apps Fixed #30245 -- Added -k option to DiscoverRunner. 2019-04-30 16:20:51 +02:00
test_utils Fixed #30497 -- Ignored document type in assertXMLEqual()/assertXMLNotEqual(). 2019-05-24 07:29:42 +02:00
timezones [3.0.x] Fixed timezones tests for PyYAML 5.3+. 2020-01-07 09:55:15 +01:00
transaction_hooks
transactions Fixed #30116 -- Dropped support for Python 3.5. 2019-01-30 10:19:48 -05:00
unmanaged_models
update Fixed #28408 -- Added error message when updating with annotated expressions on joined fields. 2019-06-28 07:55:32 +02:00
update_only_fields Moved choices inside of test models per coding style. 2018-12-10 09:28:49 -05:00
urlpatterns [3.0.x] Fixed #31061 -- Ignored positional args in django.urls.resolve() when all optional named parameters are missing. 2019-12-06 09:33:45 +01:00
urlpatterns_reverse Added tests for terminated path with optional arguments in django.urls.reverse(). 2019-06-24 11:30:26 +02:00
user_commands Fixed #30763 -- Fixed management commands when using required mutually exclusive groups. 2019-09-06 10:55:24 +02:00
utils_tests [3.0.x] Fixed E128, E741 flake8 warnings. 2020-05-12 08:55:06 +02:00
validation Fixed #29979, Refs #17337 -- Extracted AutoField field logic into a mixin and refactored AutoFields. 2019-08-20 09:22:25 +02:00
validators Fixed #29860 -- Allowed BaseValidator to accept a callable limit_value. 2018-10-22 10:26:54 -04:00
version
view_tests Fixed #29008 -- Fixed crash of 404 debug page when URL path converter raises Http404. 2019-08-09 22:48:08 +02: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 Replaced subprocess commands by run() wherever possible. 2019-08-23 10:53:36 +02:00
test_sqlite.py
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/.