1
0
mirror of https://github.com/django/django.git synced 2024-12-22 17:16:24 +00:00
django/tests
2016-10-04 10:46:29 -04:00
..
absolute_url_overrides Fixed #26125 -- Fixed E731 flake warnings. 2016-01-25 14:23:43 -05:00
admin_autodiscover
admin_changelist Fixed #26747 -- Used more specific assertions in the Django test suite. 2016-06-16 14:19:18 -04:00
admin_checks Fixed #26998 -- Reverted some admin checks from checking field.many_to_many back to isinstance(field, models.ManyToManyField). 2016-08-23 16:00:12 -04:00
admin_custom_urls Fixed E128 flake8 warnings in tests/. 2016-04-08 10:12:33 -04:00
admin_docs Split admin_docs tests into separate files. 2016-09-27 18:54:35 -04:00
admin_filters Fixed #26747 -- Used more specific assertions in the Django test suite. 2016-06-16 14:19:18 -04:00
admin_inlines Fixed #27207 -- Replaced <p> tag with <div> in admin help texts. 2016-09-10 16:54:10 -04:00
admin_ordering Fixed #25985 -- Updated signature of ModelAdmin.formfield_for_* to make request a positional argument. 2015-12-29 12:49:14 -05:00
admin_registration Used assertIsInstance in admin_registration tests. 2016-03-24 19:20:31 -04:00
admin_scripts Refs #27025 -- Fixed "invalid escape sequence" warnings in Python 3.6. 2016-09-17 15:44:06 -04:00
admin_utils Fixed #27302 -- Fixed ModelAdmin.construct_change_message() changed field detection 2016-10-01 20:14:27 +02:00
admin_views Fixed #27266 -- Allowed using assertFormError()/assertFormsetError() in admin forms and formsets. 2016-09-27 09:56:19 -04:00
admin_widgets Refs #27025 -- Fixed "invalid escape sequence" warnings in Python 3.6. 2016-09-17 15:44:06 -04:00
aggregation Fixed #26458 -- Based Avg's default output_field resolution on its source field type. 2016-04-05 23:48:08 -04:00
aggregation_regress Fixed typo in tests/aggregation_regress/tests.py. 2016-09-24 18:17:53 -04:00
annotations Made FieldError/FieldDoesNotExist messages uniform across Python versions. 2016-09-17 09:29:14 -04:00
app_loading Refs #26022 -- Replaced six.assertRaisesRegex with assertRaisesMessage as appropriate. 2016-01-29 13:37:33 -05:00
apps Fixed #26616 -- Improved error message when AppConfig.name is invalid. 2016-06-02 10:37:00 -04:00
auth_tests Fixed #20705 -- Allowed using PasswordResetForm with user models with an email field not named 'email'. 2016-09-27 11:59:00 -04:00
backends Fixed #26541 -- Allowed MySQL transaction detection to work without table creation. 2016-10-01 10:01:44 -04:00
base
bash_completion Fixed E128 flake8 warnings in tests/. 2016-04-08 10:12:33 -04:00
basic Fixed #26787 -- Documented deleting and reloading of model instance fields. 2016-06-21 14:39:17 -04:00
builtin_server
bulk_create Fixed #27026 -- Fixed state initialization of bulk_create() objects if can_return_ids_from_bulk_insert. 2016-08-06 10:24:57 -04:00
cache Refs #5133 -- Isolated test_close() cache test. 2016-09-15 08:59:39 -04:00
check_framework Fixed #27238 -- Disabled check_pattern_startswith_slash if settings.APPEND_SLASH=False. 2016-09-19 21:00:12 -04:00
choices
conditional_processing Refs #27083 -- Updated conditional header comparison to match RFC 7232. 2016-09-16 15:45:53 -04:00
contenttypes_tests Fixed #24865 -- Added remove_stale_contenttypes management command. 2016-09-06 09:48:58 -04:00
context_processors Fixed #26145 -- Made debug context processor return queries for all databases. 2016-04-09 11:47:15 -04:00
csrf_tests Fixed #26747 -- Used more specific assertions in the Django test suite. 2016-06-16 14:19:18 -04:00
custom_columns Refs #26022 -- Used context manager version of assertRaisesMessage in tests. 2016-01-29 13:03:39 -05:00
custom_lookups Fixed #27203 -- Replaced assertQuerysetEqual(..., lambda o: o) with assertSequenceEqual(). 2016-09-13 10:07:37 -04:00
custom_managers Fixed #26747 -- Used more specific assertions in the Django test suite. 2016-06-16 14:19:18 -04:00
custom_methods Tweak some examples. 2015-08-22 20:25:42 +02:00
custom_migration_operations
custom_pk Refs #26022 -- Used context manager version of assertRaises in tests. 2016-01-29 12:32:18 -05:00
datatypes Fixed E128 flake8 warnings in tests/. 2016-04-08 10:12:33 -04:00
dates Made FieldError/FieldDoesNotExist messages uniform across Python versions. 2016-09-17 09:29:14 -04:00
datetimes Fixed #27203 -- Replaced assertQuerysetEqual(..., lambda o: o) with assertSequenceEqual(). 2016-09-13 10:07:37 -04:00
db_functions Fixed #26348 -- Added TruncTime and exposed it through the __time lookup. 2016-07-08 12:35:34 -04:00
db_typecasts Fixed #26498 -- Fixed TimeField microseconds round-tripping on MySQL and SQLite. 2016-04-18 09:39:46 -04:00
dbshell Fixed #26698 -- Fixed PostgreSQL dbshell crash on an empty database name. 2016-06-03 12:30:21 -04:00
decorators Fixed #26747 -- Used more specific assertions in the Django test suite. 2016-06-16 14:19:18 -04:00
defer Fixed #26207 -- Replaced dynamic classes with non-data descriptors for deferred instance loading. 2016-04-29 13:06:32 -04:00
defer_regress Refs #18100 -- Added tests for deferred model deletion signals. 2016-05-10 13:21:52 -04:00
delete Refs #15250 -- Removed an obsolete comment regarding MTI cascade deletion. 2016-09-08 00:20:54 -04:00
delete_regress Changed database connection duplication technique. 2015-09-09 23:03:51 +02:00
deprecation Fixed E128 flake8 warnings in tests/. 2016-04-08 10:12:33 -04:00
dispatch
distinct_on_fields Fixed #27203 -- Replaced assertQuerysetEqual(..., lambda o: o) with assertSequenceEqual(). 2016-09-13 10:07:37 -04:00
empty
expressions Refs #27025 -- Fixed "invalid escape sequence" warnings in Python 3.6. 2016-09-17 15:44:06 -04:00
expressions_case Fixed #26433 -- Fixed Case expressions with empty When. 2016-08-08 10:43:33 -04:00
extra_regress Fixed #27203 -- Replaced assertQuerysetEqual(..., lambda o: o) with assertSequenceEqual(). 2016-09-13 10:07:37 -04:00
field_deconstruction Refs #27025 -- Fixed "invalid escape sequence" warnings in Python 3.6. 2016-09-17 15:44:06 -04:00
field_defaults
field_subclassing Removed SubfieldBase per deprecation timeline. 2015-09-23 19:31:09 -04:00
file_storage Fixed #13809 -- Made FieldFile.open() respect its mode argument. 2016-08-09 12:53:18 -04:00
file_uploads Replaced smart_* by force_* calls whenever possible 2016-09-03 13:46:41 +02:00
files Reverted "Fixed #26644 -- Allowed wrapping NamedTemporaryFile with File." 2016-06-18 11:06:56 -04:00
fixtures Fixed #26826 -- Stripped spaces from dumpdata pks arguments 2016-07-16 20:49:10 +02:00
fixtures_model_package Fixed #21549 -- Made loaddata's 'fixture not found' warning an exception. 2016-01-04 19:39:35 -05:00
fixtures_regress Replaced use of TestCase.fail() with assertRaises(). 2016-06-28 11:21:26 -04:00
flatpages_tests Refs #26601 -- Deprecated old-style middleware. 2016-05-17 07:22:26 -04:00
force_insert_update
foreign_object Fixed #27203 -- Replaced assertQuerysetEqual(..., lambda o: o) with assertSequenceEqual(). 2016-09-13 10:07:37 -04:00
forms_tests Refs #27186 -- Fixed model form default fallback for CheckboxSelectMultiple. 2016-09-30 14:49:50 -04:00
from_db_value Refs #9619 -- Fixed failing test case 2015-06-17 20:07:00 +02:00
generic_inline_admin Fixed #26747 -- Used more specific assertions in the Django test suite. 2016-06-16 14:19:18 -04:00
generic_relations Refs #18599 -- Added a test for assigning a GenericForeignKey in Model.__init__(). 2016-05-13 21:26:48 -04:00
generic_relations_regress Fixed #27203 -- Replaced assertQuerysetEqual(..., lambda o: o) with assertSequenceEqual(). 2016-09-13 10:07:37 -04:00
generic_views Replaced use of TestCase.fail() with assertRaises(). 2016-06-28 11:21:26 -04:00
get_earliest_or_latest Made multiline assertRaises* conform to flake8's E128 rule. 2016-02-04 19:14:10 -05:00
get_object_or_404 Fixed #10532 -- Relaxed hard-type checking in get_object/list_or_404 shortcuts 2016-03-29 21:34:20 +02:00
get_or_create Refs #27118 -- Reallowed using pk in QuerySet.get/update_or_create(). 2016-10-04 10:10:39 -04:00
gis_tests Confirmed support for PostGIS 2.3. 2016-09-30 10:00:04 -04:00
handlers Fixed #26971 -- Prevented crash with non-UTF-8 incoming PATH_INFO 2016-08-23 22:40:07 +02:00
httpwrappers Fixed #26747 -- Used more specific assertions in the Django test suite. 2016-06-16 14:19:18 -04:00
humanize_tests Refs #26712 -- Removed workarounds for PostgreSQL queries on TIME_ZONE changes. 2016-06-06 11:26:21 -04:00
i18n Refs #26940 -- Re-allowed makemessages without settings 2016-10-01 14:57:16 +02:00
import_error_package
indexes Fixed reverse accessor check failures in indexes tests. 2016-08-16 16:10:59 -04:00
inline_formsets Fixed #26747 -- Used more specific assertions in the Django test suite. 2016-06-16 14:19:18 -04:00
inspectdb Refs #24928 -- Added introspection support for UUIDField 2016-07-20 17:27:29 +02:00
introspection Fixed #27098 -- Deprecated DatabaseIntrospection.get_indexes 2016-09-12 09:26:33 +02:00
invalid_models_tests Fixed #27204 -- Made clashing m2m intermediary table checks ignore unmanaged models. 2016-09-09 19:18:37 -04:00
known_related_objects Fixed #21127 -- Started deprecation toward requiring on_delete for ForeignKey/OneToOneField 2015-07-27 18:28:13 -04:00
logging_tests Fixed #27271 -- Fixed a crash in runserver logging. 2016-09-27 09:46:07 -04:00
lookup Fixed #27268 -- Restored an invalid related field lookup error message in QuerySet filtering. 2016-09-27 15:00:36 -04:00
m2m_and_m2o Fixed #21127 -- Started deprecation toward requiring on_delete for ForeignKey/OneToOneField 2015-07-27 18:28:13 -04:00
m2m_intermediary Fixed #21127 -- Started deprecation toward requiring on_delete for ForeignKey/OneToOneField 2015-07-27 18:28:13 -04:00
m2m_multiple Tweak some examples. 2015-08-22 20:25:42 +02:00
m2m_recursive
m2m_regress Fixed #25550 -- Deprecated direct assignment to the reverse side of a related set. 2015-10-27 07:57:15 -04:00
m2m_signals Fixed #25550 -- Deprecated direct assignment to the reverse side of a related set. 2015-10-27 07:57:15 -04:00
m2m_through Fixed #27203 -- Replaced assertQuerysetEqual(..., lambda o: o) with assertSequenceEqual(). 2016-09-13 10:07:37 -04:00
m2m_through_regress Fixed E128 flake8 warnings in tests/. 2016-04-08 10:12:33 -04:00
m2o_recursive Fixed #26747 -- Used more specific assertions in the Django test suite. 2016-06-16 14:19:18 -04:00
mail Refs #27210 -- Fixed isolation of test_fail_silently_on_connection_error. 2016-09-30 12:22:52 -04:00
managers_regress Fixed #27073 -- Removed duplicated managers in Model._meta.managers. 2016-08-19 01:24:45 +07:00
many_to_many Refs #25415 -- Fixed invalid models in the test suite. 2016-09-09 17:16:42 -04:00
many_to_one Fixed #26706 -- Made RelatedManager modification methods clear prefetch_related() cache. 2016-08-05 13:32:27 -04:00
many_to_one_null Fixed #26747 -- Used more specific assertions in the Django test suite. 2016-06-16 14:19:18 -04:00
max_lengths
messages_tests Fixed #26747 -- Used more specific assertions in the Django test suite. 2016-06-16 14:19:18 -04:00
middleware Fixed #27083 -- Added support for weak ETags. 2016-09-10 08:14:52 -04:00
middleware_exceptions Fixed #26915 -- Fixed regression handling responses returned from view middleware. 2016-07-25 13:41:50 -04:00
migrate_signals Fixed #27100 -- Included already applied migration changes in the pre-migrate state. 2016-08-24 01:17:48 -04:00
migration_test_data_persistence
migrations Fixed #27279 -- Fixed a migration performance regression related to RenameModel operations. 2016-10-04 08:35:15 -04:00
migrations2 Fixed #24743, #24745 -- Optimized migration plan handling 2015-09-19 14:54:53 +10:00
model_fields Fixed #27219 -- Changed cx_Oracle client encoding to AL32UTF8 to allow 4-byte characters. 2016-09-19 20:19:57 -04:00
model_forms Refs #27186 -- Fixed model form default fallback for CheckboxSelectMultiple. 2016-09-30 14:49:50 -04:00
model_formsets Fixed #27256 -- Changed Select widget's selected attribute to use HTML5 boolean syntax. 2016-09-21 15:12:13 -07:00
model_formsets_regress Fixed #23395 -- Limited line lengths to 119 characters. 2015-09-12 11:40:50 -04:00
model_indexes Refs #26709 -- Added type check for models.Index fields argument. 2016-08-16 09:53:50 -04:00
model_inheritance Fixed #27203 -- Replaced assertQuerysetEqual(..., lambda o: o) with assertSequenceEqual(). 2016-09-13 10:07:37 -04:00
model_inheritance_regress Fixed #27203 -- Replaced assertQuerysetEqual(..., lambda o: o) with assertSequenceEqual(). 2016-09-13 10:07:37 -04:00
model_meta Refs #25415 -- Fixed invalid models in the test suite. 2016-09-09 17:16:42 -04:00
model_options Fixed E128 flake8 warnings in tests/. 2016-04-08 10:12:33 -04:00
model_package
model_permalink Refs #24652 -- Used SimpleTestCase where appropriate. 2015-05-20 13:46:13 -04:00
model_regress Refs #24007 -- Removed an apps.populate() call in model unpickling that can cause deadlocks. 2016-02-08 08:28:48 -05:00
modeladmin Fixed #27256 -- Changed Select widget's selected attribute to use HTML5 boolean syntax. 2016-09-21 15:12:13 -07:00
multiple_database Removed unused lines in multiple_database test. 2016-09-07 09:48:31 -04:00
mutually_referential Fixed #21127 -- Started deprecation toward requiring on_delete for ForeignKey/OneToOneField 2015-07-27 18:28:13 -04:00
nested_foreign_keys Fixed #23395 -- Limited line lengths to 119 characters. 2015-09-12 11:40:50 -04:00
no_models Refs #24652 -- Used SimpleTestCase where appropriate. 2015-05-20 13:46:13 -04:00
null_fk Fixed #26747 -- Used more specific assertions in the Django test suite. 2016-06-16 14:19:18 -04:00
null_fk_ordering Fixed many spelling mistakes in code, comments, and docs. 2015-12-03 12:48:24 -05:00
null_queries Refs #26022 -- Used context manager version of assertRaises in tests. 2016-01-29 12:32:18 -05:00
one_to_one Fixed #27203 -- Replaced assertQuerysetEqual(..., lambda o: o) with assertSequenceEqual(). 2016-09-13 10:07:37 -04:00
or_lookups Fixed #27203 -- Replaced assertQuerysetEqual(..., lambda o: o) with assertSequenceEqual(). 2016-09-13 10:07:37 -04:00
order_with_respect_to Fixed #25746 -- Isolated inlined test models registration. 2016-01-06 20:00:07 -05:00
ordering Fixed #27203 -- Replaced assertQuerysetEqual(..., lambda o: o) with assertSequenceEqual(). 2016-09-13 10:07:37 -04:00
pagination Fixed #26290 -- Warned that paginating an unordered QuerySet may result in inconsistent results. 2016-06-08 14:09:24 -04:00
postgres_tests Fixed #27257 -- Fixed builtin text lookups on JSONField keys. 2016-09-22 22:19:37 -04:00
prefetch_related Fixed #26916 -- Fixed prefetch_related when using a cached_property as to_attr. 2016-07-19 16:05:07 -04:00
project_template Fixed #5897 -- Added the Content-Length response header in CommonMiddleware 2016-06-27 10:44:57 +02:00
properties Refs #26022 -- Used context manager version of assertRaises in tests. 2016-01-29 12:32:18 -05:00
proxy_model_inheritance Fixed #23076, #25505 -- Fixed deletion of intermediate proxy models. 2015-10-12 12:14:26 -04:00
proxy_models Fixed #27203 -- Replaced assertQuerysetEqual(..., lambda o: o) with assertSequenceEqual(). 2016-09-13 10:07:37 -04:00
queries Fixed a couple ordering dependent tests on Oracle broken by refs #27203. 2016-09-13 13:57:10 -04:00
queryset_pickle Fixed #27159 -- Prevented pickling a query with an __in=inner_qs lookup from evaluating inner_qs. 2016-09-22 19:59:11 -04:00
raw_query Replaced use of TestCase.fail() with assertRaises(). 2016-06-28 11:21:26 -04:00
redirects_tests Refs #26601 -- Deprecated old-style middleware. 2016-05-17 07:22:26 -04:00
requests Fixed #27113 -- Tested that setting HttpRequest.encoding clears POST. 2016-08-30 21:04:33 -04:00
requirements Refs #27132 -- Added pylibmc to test requirements. 2016-08-28 20:59:09 -04:00
reserved_names Fixed E128 flake8 warnings in tests/. 2016-04-08 10:12:33 -04:00
resolve_url Refs #17209 -- Added LoginView and LogoutView class-based views 2016-06-24 10:45:13 +02:00
responses Fixed #27153 -- Added validation for HttpResponse status. 2016-08-30 21:59:43 -04:00
reverse_lookup Refs #26022 -- Used context manager version of assertRaises in tests. 2016-01-29 12:32:18 -05:00
save_delete_hooks
schema Fixed #27098 -- Deprecated DatabaseIntrospection.get_indexes 2016-09-12 09:26:33 +02:00
select_for_update Fixed #27193 -- Preserved ordering in select_for_update subqueries. 2016-10-04 10:46:29 -04:00
select_related Fixed #26747 -- Used more specific assertions in the Django test suite. 2016-06-16 14:19:18 -04:00
select_related_onetoone Fixed #26486 -- Fixed a select_related() + defer() MTI edge case. 2016-04-13 10:32:17 -04:00
select_related_regress Fixed #27203 -- Replaced assertQuerysetEqual(..., lambda o: o) with assertSequenceEqual(). 2016-09-13 10:07:37 -04:00
serializers Fixed #26656 -- Added duration (timedelta) support to DjangoJSONEncoder. 2016-07-14 13:34:15 -04:00
servers Fixed #22414 -- Ensured that LiveServerTestCase closes connections. 2016-08-19 12:47:41 -04:00
sessions_tests Fixed #26764 -- Fixed Session.cycle_key() crash on unaccessed session. 2016-08-08 13:01:25 -04:00
settings_tests Replaced use of TestCase.fail() with assertRaises(). 2016-06-28 11:21:26 -04:00
shell Fixed #25680 -- Added django-admin shell --command option. 2016-01-06 18:43:41 -05:00
shortcuts Removed unused view and url from shortcuts tests. 2016-04-12 07:54:34 -04:00
signals Tested model signals "sender" parameter when defer() is used. 2016-09-21 15:25:53 -04:00
signed_cookies_tests Fixed #26747 -- Used more specific assertions in the Django test suite. 2016-06-16 14:19:18 -04:00
signing Fixed E128 flake8 warnings in tests/. 2016-04-08 10:12:33 -04:00
sitemaps_tests Fixed #26290 -- Warned that paginating an unordered QuerySet may result in inconsistent results. 2016-06-08 14:09:24 -04:00
sites_framework Refs #24227 -- Replaced M2M isinstance checks by field.many_to_many 2016-03-19 09:24:27 +01:00
sites_tests Refs #26666 -- Added ALLOWED_HOSTS validation when running tests. 2016-06-20 11:07:46 -04:00
staticfiles_tests Fixed #27108 -- Displayed collectstatic's delete/overwrite warnings only if some files exist in STATIC_ROOT. 2016-09-02 14:53:18 -04:00
str Fixed #25746 -- Isolated inlined test models registration. 2016-01-06 20:00:07 -05:00
string_lookup Fixed #27203 -- Replaced assertQuerysetEqual(..., lambda o: o) with assertSequenceEqual(). 2016-09-13 10:07:37 -04:00
swappable_models Replaced use of TestCase.fail() with assertRaises(). 2016-06-28 11:21:26 -04:00
syndication_tests Made multiline assertRaises* conform to flake8's E128 rule. 2016-02-04 19:14:10 -05:00
template_backends Fixed #25788 -- Enabled the cached template loader if debug is False. 2016-09-03 09:06:33 -04: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 #27025 -- Fixed "invalid escape sequence" warnings in Python 3.6. 2016-09-17 15:44:06 -04:00
templates Changed action="." to action="" in tests and docs. 2016-01-21 13:59:15 -05:00
test_client Fixed #27027 -- Restored Client.force_login() defaulting to the first auth backend. 2016-08-06 08:41:41 -04:00
test_client_regress Fixed #25187 -- Made request available in authentication backends. 2016-09-12 20:11:53 -04: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 #27170 -- Added DatabaseWrapper class attributes to ease subclassing. 2016-09-08 16:33:36 -04:00
test_utils Fixed #27214 -- Made skip db features decorators respect wrapping order and inheritance. 2016-09-13 14:12:20 -04:00
timezones Fixed #27203 -- Replaced assertQuerysetEqual(..., lambda o: o) with assertSequenceEqual(). 2016-09-13 10:07:37 -04:00
transaction_hooks Fixed #26627 -- Fixed on_commit callbacks execution order when callbacks make transactions. 2016-05-18 09:09:48 -04:00
transactions Refs #16682 -- Tested transaction.atomic() with KeyboardInterrupt. 2016-09-21 14:28:10 -04:00
unmanaged_models Removed British/Austrialian word: whilist. 2015-12-31 14:29:52 -05:00
update Fixed #19513, #18580 -- Fixed crash on QuerySet.update() after annotate(). 2016-06-29 14:08:13 -04:00
update_only_fields Fixed E128 flake8 warnings in tests/. 2016-04-08 10:12:33 -04:00
urlpatterns_reverse Fixed #27018 -- Fixed admindocs crash with a view in a class. 2016-08-20 10:01:57 -04:00
user_commands Fixed #27305 -- Removed BaseCommand.can_import_settings unused attribute 2016-10-02 20:31:56 +02:00
utils_tests Fixed #27309 -- Added CallableBool.__hash__(). 2016-10-04 07:44:19 -04:00
validation Replaced use of TestCase.fail() with assertRaises(). 2016-06-28 11:21:26 -04:00
validators Refs #21548 -- Skipped tests that rely on pillow when it's not installed 2016-07-02 15:46:16 +02:00
version Fixed #25769 -- Updated get_version() release candidate naming for PEP 0440. 2015-11-19 10:00:09 -05:00
view_tests Refs #27025 -- Fixed tests for the new ModuleNotFoundError in Python 3.6. 2016-09-16 10:24:47 -04:00
wsgi Improved test assertion in wsgi tests 2016-06-28 12:02:51 +02:00
.coveragerc Fixed #25209 -- Removed parallel=True coverage option 2015-08-04 09:32:12 -04:00
README.rst
runtests.py Made miscellaneous code cleanups 2016-07-21 10:08:19 -04:00
test_sqlite.py
urls.py Fixed "URLconf" spelling in code comments. 2015-10-22 14:46:42 -04:00

To run the test suite::

    $ cd tests
    $ pip install -r requirements/py3.txt  # or py2.txt
    $ PYTHONPATH=..:$PYTHONPATH ./runtests.py

For more information about the test suite, see
https://docs.djangoproject.com/en/dev/internals/contributing/writing-code/unit-tests/.