django/tests
Mariusz Felisiak c6a1faecc3 Refs #27090 -- Added real database sequence introspection.
Thanks Mariusz Felisiak for the Oracle part and Tim Graham for the
review.
2017-09-13 20:12:32 +02:00
..
absolute_url_overrides Fixed #26125 -- Fixed E731 flake warnings. 2016-01-25 14:23:43 -05:00
admin_autodiscover
admin_changelist Fixed #28496 -- Added ModelAdmin.get_changelist_instance(). 2017-08-22 08:17:26 -04:00
admin_checks Improved test coverage of contrib/admin/checks.py. 2017-06-02 18:47:07 -04:00
admin_custom_urls Refs #23919 -- Replaced super(ClassName, self) with super(). 2017-01-25 12:23:46 -05:00
admin_docs Refs #27804 -- Used subTest() in several tests. 2017-05-24 08:36:34 -04:00
admin_filters Fixed #28496 -- Added ModelAdmin.get_changelist_instance(). 2017-08-22 08:17:26 -04:00
admin_inlines Fixed #27967 -- Fixed KeyError in admin's inline form with inherited non-editable pk. 2017-06-12 21:12:54 -04:00
admin_ordering Replaced type-specific assertions with assertEqual(). 2017-03-17 07:51:48 -04:00
admin_registration Used assertRaisesMessage() to test Django's error messages. 2017-07-29 19:07:23 -04:00
admin_scripts Reverted "Fixed #27818 -- Replaced try/except/pass with contextlib.suppress()." 2017-09-07 08:16:21 -04:00
admin_utils Used assertRaisesMessage() to test Django's error messages. 2017-07-29 19:07:23 -04:00
admin_views Added tests for PermissionDenied in admin's delete_selected() view. 2017-06-19 16:01:48 -04:00
admin_widgets Complemented datetime picker selenium test 2017-08-26 18:00:44 +02:00
aggregation Fixed #27849 -- Added filtering support to aggregates. 2017-08-12 17:58:28 -04:00
aggregation_regress Used assertRaisesMessage() to test Django's error messages. 2017-07-29 19:07:23 -04:00
annotations Refs #18247 -- Fixed filtering on CombinedExpression(output_field=DecimalField()) annotation on SQLite. 2017-08-10 17:42:30 -04:00
app_loading Refs #23919 -- Removed django.utils._os.upath()/npath()/abspathu() usage. 2017-01-20 08:01:02 -05:00
apps Used assertRaisesMessage() to test Django's error messages. 2017-07-29 19:07:23 -04:00
auth_tests Fixed some comments referring to a nonexistent TestClient class. 2017-09-09 11:21:15 -04:00
backends Refs #27090 -- Added real database sequence introspection. 2017-09-13 20:12:32 +02:00
base Sorted imports per isort 4.2.9. 2017-06-01 13:23:48 -04:00
bash_completion Reverted "Fixed #27818 -- Replaced try/except/pass with contextlib.suppress()." 2017-09-07 08:16:21 -04:00
basic Used assertRaisesMessage() to test Django's error messages. 2017-07-29 19:07:23 -04:00
builtin_server Refs #23919 -- Replaced super(ClassName, self) with super(). 2017-01-25 12:23:46 -05:00
bulk_create Used assertRaisesMessage() to test Django's error messages. 2017-07-29 19:07:23 -04:00
cache Fixed #27318 -- Made cache.set_many() return the list of failed keys. 2017-09-06 14:38:44 -04:00
check_framework Used assertRaisesMessage() to test Django's error messages. 2017-07-29 19:07:23 -04:00
choices Refs #23919 -- Removed python_2_unicode_compatible decorator usage 2017-01-18 13:44:34 +01:00
conditional_processing Fixed #28104 -- Prevented condition decorator from setting ETag/Last-Modified headers for non-safe requests. 2017-06-06 15:37:14 -04:00
contenttypes_tests Fixed #28313 -- Added model name max length check of 100 characters in contrib.contentttypes. 2017-06-26 18:12:35 -04:00
context_processors Added multi_db=True to test cases that access the 'other' db connection. 2017-02-10 08:19:32 -05:00
csrf_tests Refs #23919 -- Assumed request COOKIES and META are str 2017-01-30 14:13:29 +01:00
custom_columns Used assertRaisesMessage() to test Django's error messages. 2017-07-29 19:07:23 -04:00
custom_lookups Used assertRaisesMessage() to test Django's error messages. 2017-07-29 19:07:23 -04:00
custom_managers Used assertRaisesMessage() to test Django's error messages. 2017-07-29 19:07:23 -04: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 Refs #23919, #27778 -- Removed obsolete mentions of unicode. 2017-01-26 08:19:27 -05:00
dates Refs #23919 -- Removed python_2_unicode_compatible decorator usage 2017-01-18 13:44:34 +01:00
datetimes Refs #23919 -- Removed python_2_unicode_compatible decorator usage 2017-01-18 13:44:34 +01:00
db_functions Fixed #28371 -- Fixed Cast() with CharField if the max_length argument isn't provided. 2017-07-27 19:36:47 +02:00
db_typecasts Refs #27804 -- Used subTest() in several tests. 2017-05-24 08:36:34 -04:00
db_utils Reorganized backends tests. 2017-06-21 12:00:47 -04:00
dbshell Fixed #28322 -- Added dbshell support for MySQL client TLS certs. 2017-06-19 18:11:25 -04:00
decorators Fixed spelling of "nonexistent". 2017-02-03 08:01:45 -05:00
defer Fixed #28549 -- Fixed QuerySet.defer() with super and subclass fields. 2017-08-31 09:35:05 -04:00
defer_regress Decreased max_length for char fields unless absolutely needed. (#8485) 2017-05-10 17:33:46 +02:00
delete Used assertRaisesMessage() to test Django's error messages. 2017-07-29 19:07:23 -04:00
delete_regress Used assertRaisesMessage() to test Django's error messages. 2017-07-29 19:07:23 -04:00
deprecation Refs #23919 -- Replaced super(ClassName, self) with super(). 2017-01-25 12:23:46 -05:00
dispatch Refs #23919 -- Stopped inheriting from object to define new style classes. 2017-01-19 08:39:46 +01:00
distinct_on_fields Used assertRaisesMessage() to test Django's error messages. 2017-07-29 19:07:23 -04:00
empty
expressions Fixed #27849 -- Added filtering support to aggregates. 2017-08-12 17:58:28 -04:00
expressions_case Fixed #27849 -- Added filtering support to aggregates. 2017-08-12 17:58:28 -04:00
extra_regress Refs #7070 -- Improved test for extra(), values(), distinct() and ordering() all together. 2017-08-08 14:38:43 -04:00
field_deconstruction Tested field deconstruction with DEFAULT_DB_TABLESPACE and db_tablespace. 2017-09-11 12:20:45 -04:00
field_defaults Refs #23919 -- Removed six.<various>_types usage 2017-01-18 20:18:46 +01:00
field_subclassing Refs #23919 -- Removed encoding preambles and future imports 2017-01-18 09:55:19 +01:00
file_storage Refs #23968 -- Removed unnecessary lists, generators, and tuple calls. 2017-06-01 19:08:59 -04:00
file_uploads Fixed #28249 -- Removed unnecessary dict.keys() calls. 2017-05-27 19:08:46 -04:00
files Fixed #26651 -- Kept original file suffix in TemporaryUploadedFile name 2017-06-05 18:55:44 +02:00
fixtures Refs #27787 -- Corrected or removed invalid call_command() options. 2017-06-16 11:06:01 -04:00
fixtures_model_package Refs #23919 -- Removed python_2_unicode_compatible decorator usage 2017-01-18 13:44:34 +01:00
fixtures_regress Fixed spelling of "nonexistent". 2017-02-03 08:01:45 -05:00
flatpages_tests Used assertRaisesMessage() to test Django's error messages. 2017-07-29 19:07:23 -04:00
force_insert_update Used assertRaisesMessage() to test Django's error messages. 2017-07-29 19:07:23 -04:00
foreign_object Refs #16043 -- Refactored internal fields value cache. 2017-08-10 12:06:02 -04:00
forms_tests Fixed #28555 -- Made CharField convert whitespace-only values to the empty_value when strip is enabled. 2017-09-05 12:41:38 -04:00
from_db_value Fixed #28370 -- Deprecated the context arg of Field.from_db_value() and Expression.convert_value(). 2017-07-20 16:30:08 -04:00
generic_inline_admin Refs #23919 -- Stopped inheriting from object to define new style classes. 2017-01-19 08:39:46 +01:00
generic_relations Used assertRaisesMessage() to test Django's error messages. 2017-07-29 19:07:23 -04:00
generic_relations_regress Fixed #28418 -- Fixed queryset crash when using a GenericRelation to a proxy model. 2017-07-21 18:21:13 -04:00
generic_views Fixed #28082 -- Made BaseDateListView pass context from get_dated_items() to subclasses. 2017-09-04 10:55:18 -04:00
get_earliest_or_latest Fixed #11557 -- Added support for a list of fields in Meta.get_latest_by and QuerySet.earliest()/latest(). 2017-09-05 20:14:54 -04:00
get_object_or_404 Refs #23919 -- Replaced super(ClassName, self) with super(). 2017-01-25 12:23:46 -05:00
get_or_create Fixed #28222 -- Allowed settable properties in QuerySet.update_or_create()/get_or_create() defaults. 2017-05-27 12:41:38 -04:00
gis_tests Removed django.contrib.gis.geometry.backend. 2017-09-12 09:51:02 -04:00
handlers Reverted "Fixed #27818 -- Replaced try/except/pass with contextlib.suppress()." 2017-09-07 08:16:21 -04:00
httpwrappers Refs #27308, #27753 -- Removed obsolete cookie test mixing bytes with str. 2017-06-03 21:07:11 -04:00
humanize_tests Converted usage of ugettext* functions to their gettext* aliases 2017-02-07 09:04:04 +01:00
i18n Fixed #28546 -- Fixed translation's to_locale() with langauge subtags. 2017-09-08 13:46:00 -04:00
import_error_package
indexes Refs #25530 -- Tracked references of deferred SQL statements. 2017-06-21 00:03:31 -04:00
inline_formsets Refs #23919 -- Replaced super(ClassName, self) with super(). 2017-01-25 12:23:46 -05:00
inspectdb Removed unneeded force_text calls in the test suite 2017-01-24 18:45:54 +01:00
introspection Refs #27090 -- Added real database sequence introspection. 2017-09-13 20:12:32 +02:00
invalid_models_tests Made assertions in invalid_models_tests consistent. 2017-07-11 13:12:17 -04:00
known_related_objects Refs #23968 -- Removed unnecessary lists, generators, and tuple calls. 2017-06-01 19:08:59 -04:00
logging_tests Refs #23919 -- Removed default 'utf-8' argument for str.encode()/decode(). 2017-02-09 09:03:47 -05:00
lookup Corrected YearComparisonLookup.get_bound() signature. 2017-09-04 10:17:51 -04:00
m2m_and_m2o Refs #23919, #27778 -- Removed obsolete mentions of unicode. 2017-01-26 08:19:27 -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 Refs #23919 -- Removed python_2_unicode_compatible decorator usage 2017-01-18 13:44:34 +01:00
m2m_regress Used assertRaisesMessage() to test Django's error messages. 2017-07-29 19:07:23 -04:00
m2m_signals Refs #23919 -- Removed python_2_unicode_compatible decorator usage 2017-01-18 13:44:34 +01:00
m2m_through Refs #23919 -- Removed python_2_unicode_compatible decorator usage 2017-01-18 13:44:34 +01:00
m2m_through_regress Refs #23968 -- Removed unnecessary lists, generators, and tuple calls. 2017-06-01 19:08:59 -04:00
m2o_recursive Refs #23919 -- Removed python_2_unicode_compatible decorator usage 2017-01-18 13:44:34 +01:00
mail Reverted "Fixed #27818 -- Replaced try/except/pass with contextlib.suppress()." 2017-09-07 08:16:21 -04:00
managers_regress Refs #23919 -- Replaced super(ClassName, self) with super(). 2017-01-25 12:23:46 -05:00
many_to_many Used assertRaisesMessage() to test Django's error messages. 2017-07-29 19:07:23 -04:00
many_to_one Refs #16043 -- Refactored internal fields value cache. 2017-08-10 12:06:02 -04:00
many_to_one_null Refs #23919 -- Removed python_2_unicode_compatible decorator usage 2017-01-18 13:44:34 +01:00
max_lengths Refs #23919 -- Removed encoding preambles and future imports 2017-01-18 09:55:19 +01:00
messages_tests Fixed #28249 -- Removed unnecessary dict.keys() calls. 2017-05-27 19:08:46 -04:00
middleware Refs #23919 -- Removed default 'utf-8' argument for str.encode()/decode(). 2017-02-09 09:03:47 -05:00
middleware_exceptions Imported django.http classes instead of django.http. 2017-02-27 14:47:11 -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 Refs #23919 -- Removed encoding preambles and future imports 2017-01-18 09:55:19 +01:00
migrations Fixed #28493 -- Made migrations autodetector find dependencies for model renaming. 2017-09-04 15:15:39 -04:00
migrations2 Refs #23919 -- Removed encoding preambles and future imports 2017-01-18 09:55:19 +01:00
model_fields Fixed #28543 -- Prevented ManyToManyField.value_from_object() from being lazy. 2017-08-31 09:34:44 -04:00
model_forms Fixed #28543 -- Prevented ManyToManyField.value_from_object() from being lazy. 2017-08-31 09:34:44 -04:00
model_formsets Fixed #22229 -- Added primary key validation to BaseModelFormSet._construct_form(). 2017-07-11 14:33:21 -04:00
model_formsets_regress Refs #23919 -- Replaced super(ClassName, self) with super(). 2017-01-25 12:23:46 -05:00
model_indexes Fixed #28465 -- Unified index SQL creation in DatabaseSchemaEditor 2017-08-08 17:37:43 +02:00
model_inheritance Used assertRaisesMessage() to test Django's error messages. 2017-07-29 19:07:23 -04:00
model_inheritance_regress Fixed #26362 -- Fixed update of the inherited id field of an object when its parent changes. 2017-06-26 12:11:20 -04:00
model_meta Refs #23919 -- Stopped inheriting from object to define new style classes. 2017-06-26 10:30:31 -04:00
model_options Refs #25530 -- Tracked references of deferred SQL statements. 2017-06-21 00:03:31 -04:00
model_package Refs #23919 -- Removed encoding preambles and future imports 2017-01-18 09:55:19 +01:00
model_permalink Refs #18974 -- Deprecated @models.permalink() decorator. 2016-10-04 14:39:49 -04:00
model_regress Refs #28459 -- Optimized ModelState instantiation. 2017-08-11 15:41:04 -04:00
modeladmin Refs #27804 -- Used subTest() in a modeladmin test. 2017-09-03 21:20:43 -04:00
multiple_database Removed a primary key value dependency in a multiple_database test. 2017-07-31 13:28:29 -04:00
mutually_referential
nested_foreign_keys Refs #23919 -- Removed encoding preambles and future imports 2017-01-18 09:55:19 +01:00
no_models Refs #27392 -- Removed "Tests that", "Ensures that", etc. from test docstrings. 2016-11-10 21:30:21 -05:00
null_fk Refs #23919 -- Removed python_2_unicode_compatible decorator usage 2017-01-18 13:44:34 +01:00
null_fk_ordering Refs #23919 -- Removed python_2_unicode_compatible decorator usage 2017-01-18 13:44:34 +01:00
null_queries Used assertRaisesMessage() to test Django's error messages. 2017-07-29 19:07:23 -04:00
one_to_one Refs #16043 -- Refactored internal fields value cache. 2017-08-10 12:06:02 -04:00
or_lookups Removed obsolete references to add_to_query(). 2017-07-25 07:52:05 -04:00
order_with_respect_to Replaced type-specific assertions with assertEqual(). 2017-03-17 07:51:48 -04:00
ordering Fixed #28335 -- Allowed query expressions in Meta.ordering. 2017-09-05 19:10:20 -04:00
pagination Fixed #28032 -- Added Paginator.get_page(). 2017-09-06 14:17:19 -04:00
postgres_tests Refs #24928 -- Added introspection support for PostgreSQL RangeField 2017-09-09 20:22:47 +02:00
prefetch_related Fixed #28375 -- Fixed KeyError crash on reverse prefetch of a model with OneToOneField primary key to a non-pk field. 2017-08-21 16:14:13 -04:00
project_template Fixed #26755 -- Fixed test_middleware_classes_headers if Django source isn't writable. 2017-05-31 10:25:09 -04:00
properties Refs #23919 -- Removed encoding preambles and future imports 2017-01-18 09:55:19 +01:00
proxy_model_inheritance Refs #23919 -- Removed django.utils._os.upath()/npath()/abspathu() usage. 2017-01-20 08:01:02 -05:00
proxy_models Sorted imports per isort 4.2.9. 2017-06-01 13:23:48 -04:00
queries Fixed #15648 -- Allowed QuerySet.values_list() to return a namedtuple. 2017-09-06 15:32:32 -04:00
queryset_pickle Converted usage of ugettext* functions to their gettext* aliases 2017-02-07 09:04:04 +01:00
raw_query Fixed #28206 -- Fixed RawQuerySet crash on a model with a mixed case db_column pk on Oracle. 2017-05-18 19:11:23 +02:00
redirects_tests Used assertRaisesMessage() to test Django's error messages. 2017-07-29 19:07:23 -04:00
requests Fixed #28249 -- Removed unnecessary dict.keys() calls. 2017-05-27 19:08:46 -04:00
requirements Fixed #27966 -- Bumped required psycopg2 version to 2.5.4. 2017-03-21 17:23:17 +01:00
reserved_names Refs #23919 -- Removed python_2_unicode_compatible decorator usage 2017-01-18 13:44:34 +01:00
resolve_url Refs #23919 -- Removed six.<various>_types usage 2017-01-18 20:18:46 +01:00
responses Refs #23919 -- Removed encoding preambles and future imports 2017-01-18 09:55:19 +01:00
reverse_lookup Used assertRaisesMessage() to test Django's error messages. 2017-07-29 19:07:23 -04:00
save_delete_hooks Refs #23919 -- Replaced super(ClassName, self) with super(). 2017-01-25 12:23:46 -05:00
schema Refs #23919 -- Replaced usage of django.utils.functional.curry() with functools.partial()/partialmethod(). 2017-09-06 13:11:18 -04:00
select_for_update Fixed #28498 -- Fixed test database creation with cx_Oracle 6. 2017-08-16 18:39:58 +02:00
select_related Used assertRaisesMessage() to test Django's error messages. 2017-07-29 19:07:23 -04:00
select_related_onetoone Refs #23919 -- Removed python_2_unicode_compatible decorator usage 2017-01-18 13:44:34 +01:00
select_related_regress Refs #23919 -- Removed six.<various>_types usage 2017-01-18 20:18:46 +01:00
serializers Refs #23919 -- Replaced usage of django.utils.functional.curry() with functools.partial()/partialmethod(). 2017-09-06 13:11:18 -04:00
servers Fixed #28440 -- Fixed WSGIServer hang on responses without a Content-Length. 2017-09-12 10:41:28 -04:00
sessions_tests Sorted imports per isort 4.2.9. 2017-06-01 13:23:48 -04:00
settings_tests Used assertRaisesMessage() to test Django's error messages. 2017-07-29 19:07:23 -04:00
shell Refs #23919 -- Removed django.test.mock Python 2 compatibility shim. 2017-01-20 08:17:20 -05:00
shortcuts Fixed #25978 -- Deprecated shorcuts.render_to_response(). 2017-02-11 05:49:04 -05:00
signals Refs #23919 -- Replaced super(ClassName, self) with super(). 2017-01-25 12:23:46 -05:00
signed_cookies_tests Refs #23919 -- Removed encoding preambles and future imports 2017-01-18 09:55:19 +01:00
signing Refs #23919 -- Removed default 'utf-8' argument for str.encode()/decode(). 2017-02-09 09:03:47 -05:00
sitemaps_tests Used assertRaisesMessage() to test Django's error messages. 2017-07-29 19:07:23 -04:00
sites_framework Refs #23919 -- Removed python_2_unicode_compatible decorator usage 2017-01-18 13:44:34 +01:00
sites_tests Refs #23919 -- Stopped inheriting from object to define new style classes. 2017-01-19 08:39:46 +01:00
staticfiles_tests Reverted "Fixed #27818 -- Replaced try/except/pass with contextlib.suppress()." 2017-09-07 08:16:21 -04: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 Refs #27804 -- Used subTest() in a syndication test. 2017-09-03 20:40:50 -04:00
template_backends Fixed spelling of "nonexistent". 2017-02-03 08:01:45 -05:00
template_loader Fixed #25788 -- Enabled the cached template loader if debug is False. 2016-09-03 09:06:33 -04:00
template_tests Refs #28502 -- Complemented stringformat tuple handling/test. 2017-08-22 08:45:08 -04:00
templates Fixed rendering of form errors in tests/templates/login.html. 2017-07-11 07:53:06 -04:00
test_client Fixed #28249 -- Removed unnecessary dict.keys() calls. 2017-05-27 19:08:46 -04:00
test_client_regress Decoupled test client encoding tests from JSON handling 2017-03-09 22:15:10 +01:00
test_discovery_sample Refs #25735 -- Made @tag decorator importable from django.test. 2016-02-19 14:21:00 -05:00
test_discovery_sample2
test_exceptions
test_runner Fixed #28360 -- Fixed test runner crash with --debug-sql on fail/error in subTest. 2017-07-05 16:56:24 -04:00
test_utils Used assertRaisesMessage() to test Django's error messages. 2017-07-29 19:07:23 -04:00
timezones Used assertRaisesMessage() to test Django's error messages. 2017-07-29 19:07:23 -04:00
transaction_hooks Reverted "Fixed #27818 -- Replaced try/except/pass with contextlib.suppress()." 2017-09-07 08:16:21 -04:00
transactions Used assertRaisesMessage() to test Django's error messages. 2017-07-29 19:07:23 -04:00
unmanaged_models Sorted imports per isort 4.2.9. 2017-06-01 13:23:48 -04:00
update Used assertRaisesMessage() to test Django's error messages. 2017-07-29 19:07:23 -04:00
update_only_fields Used assertRaisesMessage() to test Django's error messages. 2017-07-29 19:07:23 -04:00
urlpatterns_reverse Used assertRaisesMessage() to test Django's error messages. 2017-07-29 19:07:23 -04:00
user_commands Used assertRaisesMessage() to test Django's error messages. 2017-07-29 19:07:23 -04:00
utils_tests Fixed #28306 -- Completed test coverage for django.utils.lorem_ipsum. 2017-09-02 15:50:43 -04:00
validation Refs #23919 -- Replaced super(ClassName, self) with super(). 2017-01-25 12:23:46 -05:00
validators Added tests for DecimalValidator. 2017-09-11 14:18:02 -04:00
version Fixed #27830 -- Used distutils.version.LooseVersion for version parsing. 2017-06-13 10:53:39 -04:00
view_tests Fixed CVE-2017-12794 -- Fixed XSS possibility in traceback section of technical 500 debug page. 2017-09-05 10:58:38 -04:00
wsgi Refs #23919 -- Stopped inheriting from object to define new style classes. 2017-01-19 08:39:46 +01:00
.coveragerc
README.rst Refs #23919 -- Removed misc Python 2/3 references. 2017-01-25 13:59:25 -05:00
runtests.py Reverted "Fixed #27818 -- Replaced try/except/pass with contextlib.suppress()." 2017-09-07 08:16:21 -04:00
test_sqlite.py
urls.py Fixed "URLconf" spelling in code comments. 2015-10-22 14:46:42 -04:00

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/.