django/tests
Carlton Gibson 83ab3e2664 [2.2.x] Fixed CVE-2019-6975 -- Fixed memory exhaustion in utils.numberformat.format().
Thanks Sjoerd Job Postmus for the report and initial patch.
Thanks Michael Manfre, Tim Graham, and Florian Apolloner for review.

Backport of 402c0caa85 from master
2019-02-11 11:10:38 +01:00
..
absolute_url_overrides
admin_autodiscover
admin_changelist Refs #17198 -- Detected existing total ordering in admin changelist. 2019-01-17 16:22:14 +01:00
admin_checks Removed Jinja2 dependency from admin_checks tests. 2018-10-04 16:05:22 +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 Updated test URL patterns to use path() and re_path(). 2018-12-31 10:47:32 -05:00
admin_filters Used 4 space hanging indent for dictionaries. 2019-01-02 18:18:19 -05:00
admin_inlines Updated test URL patterns to use path() and re_path(). 2018-12-31 10:47:32 -05:00
admin_ordering Made reused RequestFactory instances class attributes. 2018-11-27 09:49:02 -05:00
admin_registration Used assertRaisesMessage() to test Django's error messages. 2017-07-29 19:07:23 -04:00
admin_scripts Fixed #30057 -- Fixed diffsettings ignoring custom configured settings. 2019-01-12 11:07:03 -05:00
admin_utils Updated test URL patterns to use path() and re_path(). 2018-12-31 10:47:32 -05:00
admin_views Fixed #11154, #22270 -- Made proxy model permissions use correct content type. 2019-01-16 10:07:28 -05:00
admin_widgets Updated test URL patterns to use path() and re_path(). 2018-12-31 10:47:32 -05:00
aggregation [2.2.x] Fixed #30120 -- Fixed invalid SQL in distinct aggregate. 2019-01-21 09:24:47 -05:00
aggregation_regress Refs #28643 -- Changed Variance() to use NumericOutputFieldMixin. 2019-01-14 14:39:46 -05:00
annotations Fixed #29542 -- Fixed invalid SQL if a Subquery from the HAVING clause is used in the GROUP BY clause. 2018-07-14 12:03:22 +02:00
app_loading Refs #23919 -- Removed django.utils._os.upath()/npath()/abspathu() usage. 2017-01-20 08:01:02 -05:00
apps Fixed #27685 -- Added watchman support to the autoreloader. 2019-01-13 20:33:47 -05:00
auth_tests Fixed #11154, #22270 -- Made proxy model permissions use correct content type. 2019-01-16 10:07:28 -05:00
backends [2.2.x] Refs #30055 -- Added a helpful error when SQLite is too old. 2019-01-28 11:21:47 -05:00
base Sorted imports per isort 4.2.9. 2017-06-01 13:23:48 -04:00
bash_completion Removed parser.add_arguments() arguments that match the defaults. 2018-07-02 17:54:57 -04:00
basic Switched setUp() to setUpTestData() where possible in Django's tests. 2018-11-27 09:35:17 -05:00
builtin_server Refs #23919 -- Replaced super(ClassName, self) with super(). 2017-01-25 12:23:46 -05:00
bulk_create Renamed Sqlite and Sqlite3 references to SQLite. 2018-12-22 18:52:54 -05:00
cache Refs #28478 -- Deprecated TestCase's allow_database_queries and multi_db in favor of databases. 2019-01-10 19:11:21 -05:00
check_framework Refs #28478 -- Deprecated TestCase's allow_database_queries and multi_db in favor of databases. 2019-01-10 19:11:21 -05:00
choices Moved choices inside of test models per coding style. 2018-12-10 09:28:49 -05:00
conditional_processing Updated test URL patterns to use path() and re_path(). 2018-12-31 10:47:32 -05:00
constraints Fixed #30062 -- Added support for unique conditional constraints. 2019-01-12 09:50:20 -05:00
contenttypes_tests Refs #28478 -- Deprecated TestCase's allow_database_queries and multi_db in favor of databases. 2019-01-10 19:11:21 -05: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 #29728 -- Prevented session resaving if CSRF cookie is unchanged. 2018-09-08 11:46:13 -04:00
custom_columns Followed style guide for model attribute ordering. 2018-12-27 19:34:14 -05:00
custom_lookups Switched setUp() to setUpTestData() where possible in Django's tests. 2018-11-27 09:35:17 -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 Refs #23919 -- Removed python_2_unicode_compatible decorator usage 2017-01-18 13:44:34 +01:00
custom_migration_operations
custom_pk Used assertRaisesMessage() to test Django's error messages. 2017-07-29 19:07:23 -04:00
datatypes Fixed #29227 -- Allowed BooleanField to be null=True. 2018-03-20 12:10:10 -04:00
dates Fixed #28650 -- Added TruncWeek database function. 2018-01-27 09:59:13 -05:00
datetimes Fixed #28650 -- Added TruncWeek database function. 2018-01-27 09:59:13 -05:00
db_functions Refs #28643 -- Added Reverse database function. 2019-01-12 10:45:48 -05:00
db_typecasts Refs #27804 -- Used subTest() in several tests. 2017-05-24 08:36:34 -04:00
db_utils Fixed #30071 -- Fixed error message when a 'default' database isn't provided. 2019-01-09 10:58:37 -05:00
dbshell Fixed #29534 -- Made dbshell use rlwrap on Oracle if available. 2018-10-25 19:39:42 -04:00
decorators Refs #29253 -- Fixed method_decorator() crash if decorator sets a new attribute. 2018-06-27 11:46:07 -04:00
defer Fixed hanging indentation in various code. 2018-03-16 10:54:34 +01:00
defer_regress Decreased max_length for char fields unless absolutely needed. (#8485) 2017-05-10 17:33:46 +02:00
delete Fixed incorrect integer division in DeletionTests.test_large_delete_related. 2017-10-02 10:11:20 -04: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 Refs #23919 -- Stopped inheriting from object to define new style classes. 2017-01-19 08:39:46 +01:00
distinct_on_fields Switched setUp() to setUpTestData() where possible in Django's tests. 2018-11-27 09:35:17 -05:00
empty
expressions Fixed #30044 -- Raised a FieldError on inherited field update attempts. 2019-01-16 14:09:51 -05:00
expressions_case Fixed #29227 -- Allowed BooleanField to be null=True. 2018-03-20 12:10:10 -04:00
expressions_window Refs #29851 -- Fixed test_subquery_row_range_rank() crash on MariaDB 10.2+. 2019-01-03 20:18:45 +01:00
extra_regress Switched setUp() to setUpTestData() where possible in Django's tests. 2018-11-27 09:35:17 -05:00
field_deconstruction Fixed #28937 -- Allowed BinaryField to be editable=True. 2017-12-22 16:31:46 -05:00
field_defaults Refs #23919 -- Removed six.<various>_types usage 2017-01-18 20:18:46 +01:00
field_subclassing
file_storage Updated test URL patterns to use path() and re_path(). 2018-12-31 10:47:32 -05:00
file_uploads Updated test URL patterns to use path() and re_path(). 2018-12-31 10:47:32 -05:00
files Fixed #29705 -- Fixed ImageField RuntimeError crash for WebP files. 2018-08-23 09:04:25 -04:00
filtered_relation Refs #28010 -- Allowed reverse related fields in SELECT FOR UPDATE .. OF. 2017-10-28 20:33:42 -04:00
fixtures Used 4 space hanging indent for dictionaries. 2019-01-02 18:18:19 -05:00
fixtures_model_package Followed style guide for model attribute ordering. 2018-12-27 19:34:14 -05:00
fixtures_regress Followed style guide for model attribute ordering. 2018-12-27 19:34:14 -05:00
flatpages_tests Updated test URL patterns to use path() and re_path(). 2018-12-31 10:47:32 -05:00
force_insert_update Used assertRaisesMessage() to test Django's error messages. 2017-07-29 19:07:23 -04:00
foreign_object Adjusted code style of a few test data setup methods. 2018-11-27 09:48:22 -05:00
forms_tests [2.2.x] Fixed #30153 -- Fixed incorrect form Media asset ordering after three way merge. 2019-02-09 09:39:15 -05:00
from_db_value Switched setUp() to setUpTestData() where possible in Django's tests. 2018-11-27 09:35:17 -05:00
generic_inline_admin Updated test URL patterns to use path() and re_path(). 2018-12-31 10:47:32 -05:00
generic_relations Fixed #29612 -- Added GenericRelation prefetch_related() cache invalidation. 2018-08-17 14:58:45 -04: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 #29750 -- Added View.setup() hook for class-based views. 2018-12-21 19:01:11 -05:00
get_earliest_or_latest Fixed #29363 -- Added SimpleTestCase.assertWarnsMessage(). 2018-05-09 11:40:28 -04: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 Relaxed assertions to fix GIS test failures on Oracle 18c. 2019-01-14 18:32:42 -05: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 Refs #29784 -- Switched to https:// links where available. 2018-09-26 08:48:47 +02:00
humanize_tests Completed test coverage of contrib.humanize.templatetags.humanize. 2018-11-10 19:09:37 -05:00
i18n Fixed #27685 -- Added watchman support to the autoreloader. 2019-01-13 20:33:47 -05:00
import_error_package
indexes Refs #29547 -- Skipped an unsupported partial index test on older versions of SQLite. 2018-12-26 11:20:11 -05:00
inline_formsets Refs #23919 -- Replaced super(ClassName, self) with super(). 2017-01-25 12:23:46 -05:00
inspectdb Refs #29004 -- Prevented inspectdb tests from flushing all tables data. 2018-12-24 15:32:39 -05:00
introspection Refs #23748 -- Added AutoField introspection for SQLite. 2019-01-09 09:59:15 -05:00
invalid_models_tests Refs #28478 -- Prevented database feature based skipping on tests disallowing queries. 2019-01-14 16:16:30 -05:00
known_related_objects Refs #23968 -- Removed unnecessary lists, generators, and tuple calls. 2017-06-01 19:08:59 -04:00
logging_tests Used 4 space hanging indent for dictionaries. 2019-01-02 18:18:19 -05:00
lookup Switched setUp() to setUpTestData() where possible in Django's tests. 2018-11-27 09:35:17 -05:00
m2m_and_m2o Followed style guide for model attribute ordering. 2018-12-27 19:34:14 -05:00
m2m_intermediary Refs #23919 -- Removed six.<various>_types usage 2017-01-18 20:18:46 +01:00
m2m_multiple Refs #23919 -- Removed python_2_unicode_compatible decorator usage 2017-01-18 13:44:34 +01:00
m2m_recursive Switched setUp() to setUpTestData() where possible in Django's tests. 2018-11-27 09:35:17 -05:00
m2m_regress Followed style guide for model attribute ordering. 2018-12-27 19:34:14 -05:00
m2m_signals Switched setUp() to setUpTestData() where possible in Django's tests. 2018-11-27 09:35:17 -05:00
m2m_through Fixed #9475 -- Allowed RelatedManager.add(), create(), etc. for m2m with a through model. 2019-01-15 11:12:17 -05: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 Used 4 space hanging indent for dictionaries. 2019-01-02 18:18:19 -05:00
managers_regress Switched TestCase to SimpleTestCase where possible in Django's tests. 2018-11-27 08:58:44 -05:00
many_to_many Followed style guide for model attribute ordering. 2018-12-27 19:34:14 -05:00
many_to_one Followed style guide for model attribute ordering. 2018-12-27 19:34:14 -05: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
messages_tests Updated test URL patterns to use path() and re_path(). 2018-12-31 10:47:32 -05:00
middleware Updated test URL patterns to use path() and re_path(). 2018-12-31 10:47:32 -05:00
middleware_exceptions Updated test URL patterns to use path() and re_path(). 2018-12-31 10:47:32 -05:00
migrate_signals Refs #23919 -- Stopped inheriting from object to define new style classes. 2017-01-19 08:39:46 +01:00
migration_test_data_persistence
migrations [2.2.x] Made test table cleanup in OperationTestBase more robust. 2019-01-28 13:48:04 -05:00
migrations2
model_fields Switched setUp() to setUpTestData() where possible in Django's tests. 2018-11-27 09:35:17 -05:00
model_forms Used 4 space hanging indent for dictionaries. 2019-01-02 18:18:19 -05: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 Refs #28478 -- Prevented database feature based skipping on tests disallowing queries. 2019-01-14 16:16:30 -05:00
model_inheritance Fixed #29970, #30041 -- Made ModelBase.__new__() pass attrs without contribute_to_class() to type.__new__(). 2018-12-22 18:11:24 -05:00
model_inheritance_regress Fixed hanging indentation in various code. 2018-03-16 10:54:34 +01:00
model_meta Fixed #28750 -- Allowed models to define Meta.manager_inheritance_from_future for backwards compatibility. 2017-10-31 13:22:27 -04: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 Switched TestCase to SimpleTestCase where possible in Django's tests. 2018-11-27 08:58:44 -05:00
modeladmin [2.2.x] Refs #30097 -- Fixed typos in InlineModelAdmin.has_add_permission() deprecation comments. 2019-01-17 18:40:11 -05:00
multiple_database Refs #28478 -- Deprecated TestCase's allow_database_queries and multi_db in favor of databases. 2019-01-10 19:11:21 -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 Refs #23919 -- Removed python_2_unicode_compatible decorator usage 2017-01-18 13:44:34 +01:00
null_fk_ordering Followed style guide for model attribute ordering. 2018-12-27 19:34:14 -05:00
null_queries Used assertRaisesMessage() to test Django's error messages. 2017-07-29 19:07:23 -04:00
one_to_one Fixed typo in tests/one_to_one/tests.py docstring. 2018-02-12 08:44:49 -05: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 Switched TestCase to SimpleTestCase where possible in Django's tests. 2018-11-27 08:58:44 -05:00
ordering Refs #14357 -- Deprecated Meta.ordering affecting GROUP BY queries. 2018-09-13 12:29:48 -04:00
pagination Switched setUp() to setUpTestData() where possible in Django's tests. 2018-11-27 09:35:17 -05:00
postgres_tests [2.2.x] Refs #30111 -- Fixed test cleanup in postgres_tests/test_integration.py. 2019-01-23 13:17:29 -05:00
prefetch_related Refs #28478 -- Deprecated TestCase's allow_database_queries and multi_db in favor of databases. 2019-01-10 19:11:21 -05:00
project_template Updated test URL patterns to use path() and re_path(). 2018-12-31 10:47:32 -05: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 Fixed #30093 -- Fixed ordering of combined queryset ordered by F expressions. 2019-01-14 10:28:11 -05:00
queryset_pickle Switched setUp() to setUpTestData() where possible in Django's tests. 2018-11-27 09:35:17 -05: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 #20147 -- Added HttpRequest.headers. 2019-01-16 13:38:47 -05:00
requirements Fixed #27685 -- Added watchman support to the autoreloader. 2019-01-13 20:33:47 -05:00
reserved_names Refs #23919 -- Removed python_2_unicode_compatible decorator usage 2017-01-18 13:44:34 +01:00
resolve_url Updated test URL patterns to use path() and re_path(). 2018-12-31 10:47:32 -05:00
responses Refs #16470 -- Fixed typo in a FileResponse test. 2018-09-01 15:14:18 +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 Refs #23919 -- Replaced super(ClassName, self) with super(). 2017-01-25 12:23:46 -05:00
schema Fixed #30060 -- Moved SQL generation for indexes and constraints to SchemaEditor. 2019-01-01 09:39:58 -05:00
select_for_update Fixed #29949 -- Refactored db introspection identifier converters. 2018-11-21 09:06:50 +01:00
select_related Added a test for QuerySet.select_related() reverse caching. 2017-09-21 14:25:42 -04:00
select_related_onetoone Switched setUp() to setUpTestData() where possible in Django's tests. 2018-11-27 09:35:17 -05:00
select_related_regress Refs #23919 -- Removed six.<various>_types usage 2017-01-18 20:18:46 +01:00
serializers Followed style guide for model attribute ordering. 2018-12-27 19:34:14 -05:00
servers Refs #28478 -- Deprecated TestCase's allow_database_queries and multi_db in favor of databases. 2019-01-10 19:11:21 -05:00
sessions_tests Made reused RequestFactory instances class attributes. 2018-11-27 09:49:02 -05:00
settings_tests Fixed #29817 -- Deprecated settings.FILE_CHARSET. 2018-10-15 17:15:41 -04:00
shell Replaced django.test.utils.patch_logger() with assertLogs(). 2018-05-07 09:34:00 -04:00
shortcuts Updated test URL patterns to use path() and re_path(). 2018-12-31 10:47:32 -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 Refs #23919 -- Removed default 'utf-8' argument for str.encode()/decode(). 2017-02-09 09:03:47 -05:00
sitemaps_tests Refs #23829 -- Made ping_google command/function use https for the sitemap URL. 2019-01-11 10:32:22 -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 Updated test URL patterns to use path() and re_path(). 2018-12-31 10:47:32 -05:00
str Fixed #27953 -- Added instance's pk to Model.__str__(). 2017-06-09 13:42:53 -04:00
string_lookup Refs #27795 -- Removed unneeded force_text calls 2017-03-04 18:18:21 +01:00
swappable_models Refs #27790 -- Reverted "Removed available_apps on TestCase subclasses." 2017-01-28 10:01:13 -05:00
syndication_tests Updated test URL patterns to use path() and re_path(). 2018-12-31 10:47:32 -05:00
template_backends Made reused RequestFactory instances class attributes. 2018-11-27 09:49:02 -05:00
template_loader
template_tests Updated test URL patterns to use path() and re_path(). 2018-12-31 10:47:32 -05:00
templates Fixed #29375 -- Removed empty action attribute on HTML forms. 2018-05-02 09:20:04 -04:00
test_client Updated test URL patterns to use path() and re_path(). 2018-12-31 10:47:32 -05:00
test_client_regress Updated test URL patterns to use path() and re_path(). 2018-12-31 10:47:32 -05:00
test_exceptions
test_runner Fixed #28478 -- Make DiscoverRunner skip creating unused test databases. 2019-01-10 19:11:21 -05:00
test_runner_apps Fixed #28478 -- Make DiscoverRunner skip creating unused test databases. 2019-01-10 19:11:21 -05:00
test_utils [2.2.x] Fixed #30121 -- Fixed assertURLEqual() crash with reverse_lazy() URLs. 2019-01-21 09:31:45 -05:00
timezones Refs #28478 -- Prevented database feature based skipping on tests disallowing queries. 2019-01-14 16:16:30 -05:00
transaction_hooks Reverted "Fixed #27818 -- Replaced try/except/pass with contextlib.suppress()." 2017-09-07 08:16:21 -04:00
transactions Fixed #21171 -- Avoided starting a transaction when a single (or atomic queries) are executed. 2018-10-17 12:19:02 +02:00
unmanaged_models Sorted imports per isort 4.2.9. 2017-06-01 13:23:48 -04:00
update Switched setUp() to setUpTestData() where possible in Django's tests. 2018-11-27 09:35:17 -05:00
update_only_fields Moved choices inside of test models per coding style. 2018-12-10 09:28:49 -05:00
urlpatterns Updated test URL patterns to use path() and re_path(). 2018-12-31 10:47:32 -05:00
urlpatterns_reverse Updated test URL patterns to use path() and re_path(). 2018-12-31 10:47:32 -05:00
user_commands Updated test URL patterns to use path() and re_path(). 2018-12-31 10:47:32 -05:00
utils_tests [2.2.x] Fixed CVE-2019-6975 -- Fixed memory exhaustion in utils.numberformat.format(). 2019-02-11 11:10:38 +01:00
validation Switched setUp() to setUpTestData() where possible in Django's tests. 2018-11-27 09:35:17 -05:00
validators Fixed #29860 -- Allowed BaseValidator to accept a callable limit_value. 2018-10-22 10:26:54 -04:00
version Fixed #27830 -- Used distutils.version.LooseVersion for version parsing. 2017-06-13 10:53:39 -04:00
view_tests [2.2.x] Fixed #29825 -- Fixed JS ngettext if the string is a non-plural msgid in the catalog. 2019-01-28 18:17:52 -05:00
wsgi Updated test URL patterns to use path() and re_path(). 2018-12-31 10:47:32 -05:00
.coveragerc
README.rst Refs #23919 -- Removed misc Python 2/3 references. 2017-01-25 13:59:25 -05:00
runtests.py Improved performance of runtests.py with os.scandir(). 2018-11-04 18:56:46 -05: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
    $ pip install -e ..
    $ 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/.