django/tests
Alasdair Nicol a5accc0368 Fixed #30318 -- Added check for importability of arguments of custom error handler views.
Thanks to Jon on Stack Overflow for reporting the issue.
2019-04-25 11:08:22 +02: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 Fixed #30237 -- Made Authentication/SessionMiddleware and ModelBackend admin checks allow subclasses. 2019-03-14 20:09:57 -04: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 Fixed #30289 -- Prevented admin inlines for a ManyToManyField's implicit through model from being editable if the user only has the view permission. 2019-03-30 16:49:16 -04: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 Fixed #30393 -- Added validation of startapp's directory option. 2019-04-25 08:52:48 +02:00
admin_utils Updated test URL patterns to use path() and re_path(). 2018-12-31 10:47:32 -05:00
admin_views Fixed #30259 -- Fixed crash of admin views when properties don't have admin_order_field attribute. 2019-04-01 15:11:54 +02:00
admin_widgets Fixed #30179 -- Fixed form Media merging when pairwise merging is insufficient. 2019-02-27 16:39:17 -05:00
aggregation Fixed #30246 -- Reused annotation aliases references in aggregation filters. 2019-03-23 10:11:45 -04:00
aggregation_regress Refs #28643 -- Changed Variance() to use NumericOutputFieldMixin. 2019-01-14 14:39:46 -05:00
annotations Refs #29542, #30158 -- Enabled a HAVING subquery filter test on Oracle. 2019-03-21 18:48:41 -04:00
app_loading
apps Fixed #27685 -- Added watchman support to the autoreloader. 2019-01-13 20:33:47 -05:00
auth_tests Renamed camelCaseTestMethods to snake_case_test_methods 2019-04-14 16:14:14 +02:00
backends Fixed typos in docs, comments, and exception messages. 2019-04-18 09:33:53 +02: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 Refs #30254 -- Added tests for Model.__hash__() inheritance. 2019-04-24 09:59:09 +02:00
builtin_server
bulk_create Refs #29444 -- Renamed DatabaseFeatures.can_return_id* to be generic for other columns. 2019-01-30 15:31:56 -05:00
cache Fixed #30181 -- Made cache.get() with default work correctly on PyLibMCCache if None is cached. 2019-02-14 19:57:38 -05:00
check_framework Fixed #30318 -- Added check for importability of arguments of custom error handler views. 2019-04-25 11:08:22 +02: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 Fixed #16027 -- Added app_label to ContentType.__str__(). 2019-02-07 19:56:47 -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 #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 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 Fixed #30271 -- Added the Sign database function. 2019-03-22 12:52:39 +01: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 #30370 -- Added dbshell support for client TLS certificates on PostgreSQL. 2019-04-18 08:10:31 +02: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 #30191 -- Selected only referenced fields during cascade deletion. 2019-04-17 13:41:23 +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
expressions Refs #25507 -- Added tests for using QuerySet.count() with a RawSQL annotation. 2019-04-19 11:40:04 +02:00
expressions_case Fixed #29227 -- Allowed BooleanField to be null=True. 2018-03-20 12:10:10 -04:00
expressions_window Fixed #29619 -- Added field names to some FieldErrors. 2019-02-14 18:58:08 -05: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
file_storage Fixed #30147 -- Simplified directory creation with os.makedirs(..., exist_ok=True). 2019-01-31 12:53:36 -05: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 Fixed #29810 -- Fixed crash of select_related() on FilteredRelation with empty result. 2019-04-23 13:48:33 +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 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 Fixed #30358 -- Removed redundant assertion in FormsUtilsTestCase.test_error_dict_copy(). 2019-04-13 18:42:11 +02: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 #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 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 #30341 -- Added support for the furlong unit in Distance. 2019-04-19 08:54:23 +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 Completed test coverage of contrib.humanize.templatetags.humanize. 2018-11-10 19:09:37 -05:00
i18n Fixed #30165 -- Deprecated ugettext(), ugettext_lazy(), ugettext_noop(), ungettext(), and ungettext_lazy(). 2019-02-08 10:05:53 -05:00
import_error_package
indexes Fixed #30108 -- Allowed adding foreign key constraints in the same statement that adds a field. 2019-01-29 15:42:57 -05:00
inline_formsets
inspectdb Fixed #30388 -- Made inspectdb generate OneToOneFields rather than ForeignKey(unique/primary_key=True). 2019-04-25 08:09:32 +02:00
introspection Fixed #30183 -- Added introspection of inline SQLite constraints. 2019-03-13 10:24:28 -04:00
invalid_models_tests Fixed #30367 -- Changed "pip install" to "python -m pip install" in docs, comments and hints. 2019-04-18 14:41:15 +02:00
known_related_objects Refs #23968 -- Removed unnecessary lists, generators, and tuple calls. 2017-06-01 19:08:59 -04:00
logging_tests Removed unnecessary assignments in various code. 2019-04-24 13:09:29 +02:00
lookup Used QuerySet.bulk_create() in lookup.tests. 2019-04-01 10:46:28 +02:00
m2m_and_m2o Followed style guide for model attribute ordering. 2018-12-27 19:34:14 -05:00
m2m_intermediary
m2m_multiple
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 Removed uneeded generator expressions and list comprehensions. 2019-02-09 09:18:48 -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 Refs #30325 -- Added tests for using count()/exists() with custom managers and reverse M2M relations. 2019-04-15 12:02:31 +02: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 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 Corrected settings names in SecurityMiddleware tests. 2019-03-20 20:15:34 -04: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 Fixed #30350 -- Prevented recreation of migration for operations with a range object. 2019-04-14 12:04:48 +02:00
migrations2
model_fields Fixed #30328 -- Fixed crash of IntegerField.validators when limit_value in a custom validator is callable. 2019-04-19 07:58:27 +02:00
model_forms Fixed #30302 -- Fixed forms.model_to_dict() result if empty list of fields is passed. 2019-04-03 09:05:15 +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 Refs #28478 -- Prevented database feature based skipping on tests disallowing queries. 2019-01-14 16:16:30 -05: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 Merged isinstance() calls. 2019-03-02 12:19:21 +01: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 Refs #27991 -- Made obj a required argument of InlineModelAdmin.has_add_permission(). 2019-01-17 11:14:07 -05: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 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 Tested Model.set_FOO_order() with an unrelated object. 2019-01-21 17:02:15 -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 Fixed #30385 -- Restored SearchVector(config) immutability. 2019-04-23 08:11:33 +02:00
prefetch_related Fixed #30368 -- Fixed prefetch_related() for GenericForeignKey when PK is also a FK. 2019-04-16 09:49:16 +02:00
project_template Removed default empty content argument from HttpResponse calls. 2019-02-09 16:27: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 Refs #23758 -- Used RecursionError instead of RuntimeError to raise nested subquery errors. 2019-04-15 15:20:41 +02: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 Refs #30227 -- Added helpful message for non-ASCII Content-Type in mulitpart request. 2019-03-02 09:19:05 -05:00
requirements Fixed #27685 -- Added watchman support to the autoreloader. 2019-01-13 20:33:47 -05:00
reserved_names
resolve_url Updated test URL patterns to use path() and re_path(). 2018-12-31 10:47:32 -05:00
responses Made a requests test that will fail in 2028 fail 10 years later. 2019-02-14 09:44:41 -05: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 Fixed #30266 -- Kept a sequence owner when altering an AutoField/BigAutoField on PostgreSQL. 2019-04-08 22:24:18 +02: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
serializers Fixed serializers test crash if PyYAML isn't installed. 2019-03-20 09:23:50 -04:00
servers Fixed #30171 -- Fixed DatabaseError in servers tests. 2019-02-14 10:04:55 -05:00
sessions_tests Fixed #29471 -- Added 'Vary: Cookie' to invalid/empty session cookie responses. 2019-03-21 18:02:49 -04:00
settings_tests Fixed #30234 -- Disallowed non-upper settings in settings.configure(). 2019-03-05 09:52:08 -05: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 Fixed #30171 -- Fixed DatabaseError in servers tests. 2019-02-14 10:04:55 -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
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 Fixed #29791 -- Made Engine.render_to_string() honor autoescape. 2019-03-25 17:59:07 -04:00
templates Fixed #29375 -- Removed empty action attribute on HTML forms. 2018-05-02 09:20:04 -04:00
test_client Cleaned up exception message checking in some tests. 2019-03-15 19:27:57 -04:00
test_client_regress Removed unnecessary assignments in various code. 2019-04-24 13:09:29 +02:00
test_exceptions
test_runner Simplified temporary directory handling in AdminScriptTestCase. 2019-02-05 12:11:54 -05:00
test_runner_apps Fixed #28478 -- Make DiscoverRunner skip creating unused test databases. 2019-01-10 19:11:21 -05:00
test_utils Removed default empty content argument from HttpResponse calls. 2019-02-09 16:27:32 -05:00
timezones Fixed #28373 -- Used connection timezone instead of UTC when making dates timezone-aware on MySQL, SQLite, and Oracle. 2019-04-08 08:59:17 +02:00
transaction_hooks Reverted "Fixed #27818 -- Replaced try/except/pass with contextlib.suppress()." 2017-09-07 08:16:21 -04:00
transactions Fixed #30116 -- Dropped support for Python 3.5. 2019-01-30 10:19:48 -05:00
unmanaged_models Sorted imports per isort 4.2.9. 2017-06-01 13:23:48 -04:00
update Fixed #29619 -- Added field names to some FieldErrors. 2019-02-14 18:58:08 -05:00
update_only_fields Moved choices inside of test models per coding style. 2018-12-10 09:28:49 -05:00
urlpatterns Fixed spelling mistakes in comments and tests. 2019-02-11 08:55:57 -05:00
urlpatterns_reverse Cleaned up exception message checking in some tests. 2019-03-15 19:27:57 -04:00
user_commands Simplified temporary directory handling in AdminScriptTestCase. 2019-02-05 12:11:54 -05:00
utils_tests Fixed #30366 -- Skipped StatReloaderTests on HFS+ filesystems. 2019-04-24 15:28:20 +02: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 Fixed #30304 -- Added support for the HttpOnly, SameSite, and Secure flags on language cookies. 2019-04-08 11:26:06 +02:00
wsgi Updated test URL patterns to use path() and re_path(). 2018-12-31 10:47:32 -05: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 Fixed #25941 -- Improved error message for runtests.py when django is not on path. 2019-04-13 16:06:27 +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/.