django/tests
Simon Charette fd9050589f [3.0.x] Fixed #31094 -- Included columns referenced by subqueries in GROUP BY on aggregations.
Thanks Johannes Hoppe for the report.

Regression in fb3f034f1c.

Co-authored-by: Mariusz Felisiak <felisiak.mariusz@gmail.com>

Backport of 5a4d7285bd from master
2019-12-19 11:10:33 +01: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 Fixed #30722 -- Added default rate-limiting requests to admin's Select2 widget. 2019-08-27 13:47:36 +02:00
aggregation [3.0.x] Fixed #31094 -- Included columns referenced by subqueries in GROUP BY on aggregations. 2019-12-19 11:10:33 +01: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 Fixed #28289 -- Fixed crash of RawSQL annotations on inherited model fields. 2019-07-11 08:27:15 +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 #31056 -- Allowed disabling async-unsafe check with an environment variable. 2019-12-03 17:50:24 +01:00
auth_tests [3.0.x] Fixed CVE-2019-19844 -- Used verified user email for password reset requests. 2019-12-18 09:14:44 +01:00
backends Refs #29444 -- Allowed returning multiple fields from INSERT statements on PostgreSQL. 2019-09-09 10:51:14 +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 Fixed typos in test names and a comment. 2019-08-23 10:46:43 +02: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 Fixed #30701 -- Updated patch_vary_headers() to handle an asterisk according to RFC 7231. 2019-08-16 15:25:42 +02:00
check_framework Fixed #29406 -- Added support for Referrer-Policy header. 2019-09-09 13:35:41 +02: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 #30986 -- Fixed queryset crash when filtering against boolean RawSQL expressions on Oracle. 2019-11-18 09:16:21 +01: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 Fixed #30493 -- Fixed prefetch_related() for GenericRelation with different content types. 2019-05-31 18:11:55 +02: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 Fixed #29955 -- Added support for distance expression to the dwithin lookup. 2019-08-23 21:28:28 +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 Replaced subprocess commands by run() wherever possible. 2019-08-23 10:53:36 +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 #30798 -- Fixed Meta.ordering validation for pk of related fields. 2019-09-27 14:52:08 +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 #30902 -- Added __str__() for model choice enums. 2019-10-25 09:38:41 +02:00
model_fields [3.0.x] Fixed #30931 -- Restored ability to override Model.get_FIELD_display(). 2019-11-04 08:15:03 +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 #31073 -- Prevented CheckboxInput.get_context() from mutating attrs. 2019-12-11 09:37:34 +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 #30971 -- Prevented Query.resolve_lookup_value() from coercing list values to tuples. 2019-11-13 09:20:50 +01: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 Fixed #30565 -- Closed HttpResponse when wsgi.file_wrapper closes file-like object. 2019-06-20 11:48:49 +02: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 #30800 -- Fixed migrations crash when altering a field with custom db_type(). 2019-09-25 12:32:57 +02:00
select_for_update [3.0.x] Fixed #30953 -- Made select_for_update() lock queryset's model when using "self" with multi-table inheritance. 2019-12-02 07:58:04 +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 Corrected several typos in string literals and test names. 2019-08-07 11:23:14 +02: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 #30802 -- Prevented manifest creation when running collectstatic in dry run mode. 2019-09-27 23:06:55 +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 Fixed #30400 -- Improved typography of user facing strings. 2019-06-28 16:46:18 +02: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 #28690 -- Fixed handling of two-digit years in parse_http_date(). 2019-09-30 15:39:36 +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/.