django1/tests
Tom Forbes 480492fe70 Fixed #30523 -- Fixed updating file modification times on seen files in auto-reloader when using StatReloader.
Previously we updated the file mtimes if the file has not been seen
before - i.e on the first iteration of the loop.

If the mtime has been changed we triggered the notify_file_changed()
method which in all cases except the translations will result in the
process being terminated. To be strictly correct we need to update the
mtime for either branch of the conditional.

Regression in 6754bffa2b.
2019-05-29 09:41:24 +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 #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 #30399 -- Changed django.utils.html.escape()/urlize() to use html.escape()/unescape(). 2019-04-25 15:09:07 +02:00
admin_filters Used 4 space hanging indent for dictionaries. 2019-01-02 18:18:19 -05:00
admin_inlines Fixed #30459 -- Delegated hide/show JS toggle to parent div. 2019-05-17 07:46:45 +02: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 #30312 -- Relaxed admin check from django.contrib.sessions to SessionMiddleware subclasses. 2019-04-26 11:31:06 +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 Refs #30462 -- Added test for conditional aggregation on annotated subquery. 2019-05-08 11:29:17 +02: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 Refs #24944 -- Added test for overriding domain in email context in PasswordResetView. 2019-05-27 11:50:30 +02:00
backends Fixed #30148 -- Logged COPY ... TO statements in connection.queries on PostgreSQL. 2019-04-29 14:20:17 +02:00
base
bash_completion Removed parser.add_arguments() arguments that match the defaults. 2018-07-02 17:54:57 -04:00
basic Fixed #6785 -- Made QuerySet.get() fetch a limited number of rows. 2019-05-12 07:05:24 +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 #30396 -- Added system checks for uniqueness of indexes and constraints names. 2019-05-02 09:13:20 +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 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 #29396 -- Added indirect values support to __year lookups. 2019-05-21 07:12:33 +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 #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
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
expressions Fixed #29692 -- Fixed removing ordering parts for multiline RawSQL expressions. 2019-05-03 07:37:37 +02:00
expressions_case Fixed #29227 -- Allowed BooleanField to be null=True. 2018-03-20 12:10:10 -04:00
expressions_window Fixed NonQueryWindowTests.test_unsupported_backend() on MySQL. 2019-05-03 13:49:02 +02: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 #30349 -- Fixed QuerySet.exclude() on FilteredRelation. 2019-05-07 14:47:50 +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 #29056 -- Fixed HTML5 validation of required SelectDateWidget. 2019-05-08 12:46:30 +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 typo in RasterField test name. 2019-05-27 13:40:03 +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 typos in test names. 2019-04-27 07:47:42 +02: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 Used re.Pattern.findall() instead of re.findall() in inspectdb.tests. 2019-05-24 09:04:27 +02:00
introspection Fixed #30183 -- Added introspection of inline SQLite constraints. 2019-03-13 10:24:28 -04:00
invalid_models_tests Fixed #30409 -- Allowed using foreign key's attnames in unique/index_together and Index's fields. 2019-05-01 11:51:27 +02:00
known_related_objects
logging_tests Removed unnecessary assignments in various code. 2019-04-24 13:09:29 +02:00
lookup Refs #29396, #30494 -- Reduced code duplication in year lookups. 2019-05-21 07:25:09 +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 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 #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 #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 #28147 -- Fixed loss of assigned parent when saving child after parent. 2019-05-21 10:11:22 +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 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 #30412 -- Fixed crash when adding check constraints with OR'ed condition on Oracle and SQLite. 2019-04-30 12:32:27 +02:00
migrations2
model_fields Fixed #29529 -- Allowed models.fields.FilePathField to accept a callable path. 2019-05-02 11:11:56 +02:00
model_forms Fixed #30399 -- Changed django.utils.html.escape()/urlize() to use html.escape()/unescape(). 2019-04-25 15:09:07 +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 Refs #9982 -- Added test for saving OneToOneField field after saving related object. 2019-05-24 10:54:05 +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 Tested Model.set_FOO_order() with an unrelated object. 2019-01-21 17:02:15 -05:00
ordering Fixed #30501 -- Preventing QuerySet.reverse() from mutating expressions in QuerySet.order_by and Meta.ordering. 2019-05-23 20:33:37 +02:00
pagination Switched setUp() to setUpTestData() where possible in Django's tests. 2018-11-27 09:35:17 -05:00
postgres_tests Fixed #30315 -- Fixed crash of ArrayAgg and StringAgg with ordering when used in Subquery. 2019-05-28 10:05:50 +02:00
prefetch_related Fixed #30482 -- Prevented unnecessary evaluation of lookup.queryset in prefetch_related_objects(). 2019-05-16 21:39:55 +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 Fixed #30412 -- Fixed crash when adding check constraints with OR'ed condition on Oracle and SQLite. 2019-04-30 12:32:27 +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 Fixed #30310 -- Added support for looking up HttpHeaders.headers using underscores. 2019-05-09 16:26:52 +02:00
requirements Fixed #30483 -- Switched test requirement to psycopg2 package. 2019-05-16 15:42:32 +02: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 #30196 -- Made FileResponse set Content-Disposition inline if filename is available. 2019-05-17 12:07:27 +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 Fixed #28816 -- Prevented silencing data loss when decreasing CharField.max_length on PostgreSQL. 2019-05-21 14:15:43 +02:00
select_for_update Fixed Python PendingDeprecationWarning in select_for_update.tests. 2019-04-29 08:47:33 +02: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 Refs #11929 -- Fixed ordering of test YAML dumps. 2019-05-03 10:48:18 +02:00
servers Fixed #30171 -- Fixed DatabaseError in servers tests. 2019-02-14 10:04:55 -05: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 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
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 #30453 -- Fixed crash of simple_tag() and inclusion_tag() when function is wrapped. 2019-05-17 09:53:24 +02: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 Fixed #30245 -- Added -k option to DiscoverRunner. 2019-04-30 16:20:51 +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 #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
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 Fixed #30418 -- Added --skip-checks management command option. 2019-04-30 10:48:30 +02:00
utils_tests Fixed #30523 -- Fixed updating file modification times on seen files in auto-reloader when using StatReloader. 2019-05-29 09:41:24 +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
view_tests Fixed typos in test names. 2019-04-27 07:47:42 +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 #30220 -- Added support for headless mode in selenium tests. 2019-05-17 08:14:54 +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/.