django/tests
Jon Dufresne d47f6d75ef Refs #26034 -- Corrected a schema test to work with the correct field state. 2016-06-27 12:13:15 -04:00
..
absolute_url_overrides Fixed #26125 -- Fixed E731 flake warnings. 2016-01-25 14:23:43 -05:00
admin_autodiscover Sorted imports with isort; refs #23860. 2015-02-06 08:16:28 -05:00
admin_changelist Fixed #26747 -- Used more specific assertions in the Django test suite. 2016-06-16 14:19:18 -04:00
admin_checks Refs #24227 -- Replaced M2M isinstance checks by field.many_to_many 2016-03-19 09:24:27 +01:00
admin_custom_urls Fixed E128 flake8 warnings in tests/. 2016-04-08 10:12:33 -04:00
admin_docs Fixed #24931 -- Made namespaced RegexURLResolvers populate callback strings. 2016-06-18 10:39:32 -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 #26729 -- Allowed overriding a form field's label/help_text in Form.__init__() for TabularInline. 2016-06-21 14:26:47 -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 Fixed #26791 -- Replaced LiveServerTestCase port ranges with binding to port 0. 2016-06-23 12:04:05 -04:00
admin_utils Fixing #26524 -- Made a foreign key id reference in ModelAdmin.list_display display the id. 2016-06-08 17:20:03 -04:00
admin_views Fixed #26747 -- Used more specific assertions in the Django test suite. 2016-06-16 14:19:18 -04:00
admin_widgets Fixed #26747 -- Used more specific assertions in the Django test suite. 2016-06-16 14:19:18 -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 E128 flake8 warnings in tests/. 2016-04-08 10:12:33 -04:00
annotations Fixed E128 flake8 warnings in tests/. 2016-04-08 10:12:33 -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 #26719 -- Normalized email in AbstractUser.clean(). 2016-06-24 10:37:38 -04:00
backends Removed an obsolete comment about a fixed ticket. 2016-05-21 15:42:38 -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 Sorted imports with isort; refs #23860. 2015-02-06 08:16:28 -05:00
bulk_create Refs #19527 -- Allowed QuerySet.bulk_create() to set the primary key of its objects. 2016-03-02 14:29:09 -05:00
cache Refs #26666 -- Added ALLOWED_HOSTS validation when running tests. 2016-06-20 11:07:46 -04:00
check_framework Fixed #26747 -- Used more specific assertions in the Django test suite. 2016-06-16 14:19:18 -04:00
choices Sorted imports with isort; refs #23860. 2015-02-06 08:16:28 -05:00
conditional_processing Refs #24652 -- Used SimpleTestCase where appropriate. 2015-05-20 13:46:13 -04:00
contenttypes_tests Refs #24067 -- Fixed contenttypes rename tests failures on Oracle. 2016-05-21 16:03:45 -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 #24629 -- Unified Transform and Expression APIs 2015-09-21 19:56:24 +10: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 Refs #26022 -- Replaced six.assertRaisesRegex with assertRaisesMessage as appropriate. 2016-01-29 13:37:33 -05:00
datetimes Fixed #25774 -- Refactor datetime expressions into public API 2016-05-18 20:14:58 +10:00
db_functions Fixed #25774 -- Refactor datetime expressions into public API 2016-05-18 20:14:58 +10: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 Fixed E128 flake8 warnings in tests/. 2016-04-08 10:12:33 -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 Used assertIsInstance in tests. 2015-04-27 08:40:36 -04:00
distinct_on_fields Refs #26022 -- Used context manager version of assertRaisesMessage in tests. 2016-01-29 13:03:39 -05:00
empty
expressions Fixed #25774 -- Refactor datetime expressions into public API 2016-05-18 20:14:58 +10:00
expressions_case Sorted single letter imports per the latest version of isort. 2016-03-28 11:45:31 -04:00
extra_regress Fixed E128 flake8 warnings in tests/. 2016-04-08 10:12:33 -04:00
field_deconstruction Refs #24590 -- Ensured isolation between autodetector tests 2015-08-28 10:17:34 +10:00
field_defaults
field_subclassing Removed SubfieldBase per deprecation timeline. 2015-09-23 19:31:09 -04:00
file_storage Refs #26772 -- Added a test for FileField reopening closed files. 2016-06-18 11:06:56 -04:00
file_uploads Fixed #26601 -- Improved middleware per DEP 0005. 2016-05-17 07:22:22 -04:00
files Reverted "Fixed #26644 -- Allowed wrapping NamedTemporaryFile with File." 2016-06-18 11:06:56 -04:00
fixtures Fixed #20468 -- Added loaddata --exclude option. 2016-06-09 10:35:32 -04: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 Fixed #26747 -- Used more specific assertions in the Django test suite. 2016-06-16 14:19:18 -04:00
flatpages_tests Refs #26601 -- Deprecated old-style middleware. 2016-05-17 07:22:26 -04:00
force_insert_update Sorted imports with isort; refs #23860. 2015-02-06 08:16:28 -05:00
foreign_object Fixed #26515 -- Fixed Query.trim_joins() for nested ForeignObjects. 2016-05-19 09:56:24 -04:00
forms_tests Fixed #26747 -- Used more specific assertions in the Django test suite. 2016-06-16 14:19:18 -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 Sorted single letter imports per the latest version of isort. 2016-03-28 11:45:31 -04:00
generic_views Refs #17209 -- Added LoginView and LogoutView class-based views 2016-06-24 10:45:13 +02: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 Fixed #26638 -- Allowed callable arguments for QuerySet.get_or_create()/update_or_create() defaults. 2016-06-03 10:00:53 -04:00
gis_tests Removed a test workaround for some old GDAL 1.7.x versions. 2016-06-23 16:24:18 -04:00
handlers Refs #24829 -- Made TemplateResponse.content available sooner in exception context 2016-06-24 10:22:30 +02:00
http_utils Fixed #26052 -- Moved conditional_content_removal() processing to the test client. 2016-04-25 07:56:07 -04: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 Fixed #25920 -- Added support for non-uniform NUMBER_GROUPING. 2016-06-22 17:28:49 -04:00
import_error_package Refactored tests that rely on an ImportError for Python 3.5 compatibility 2015-02-03 18:30:46 -05:00
indexes Fixed E128 flake8 warnings in tests/. 2016-04-08 10:12:33 -04:00
inline_formsets Fixed #26747 -- Used more specific assertions in the Django test suite. 2016-06-16 14:19:18 -04:00
inspectdb Fixed #25658 -- Allowed inspectdb to inspect a specific set of tables. 2016-03-18 08:41:15 -04:00
introspection Fixed E128 flake8 warnings in tests/. 2016-04-08 10:12:33 -04:00
invalid_models_tests Fixed #12810 -- Added a check for clashing ManyToManyField.db_table names. 2016-06-10 10:57:22 -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 #26747 -- Used more specific assertions in the Django test suite. 2016-06-16 14:19:18 -04:00
lookup Fixed #26285 -- Deprecated the MySQL-specific __search lookup. 2016-03-02 14:41:56 -05: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 Refs #26092 -- Added @skipUnlessDBFeature to a test. 2016-01-21 08:05:55 -05: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 Fixed #26747 -- Used more specific assertions in the Django test suite. 2016-06-16 14:19:18 -04:00
managers_regress Fixed #10506, #13793, #14891, #25201 -- Introduced new APIs to specify models' default and base managers. 2016-05-17 12:07:22 +07:00
many_to_many Fixed #26176 -- Fixed E123 flake8 warnings. 2016-02-05 15:11:07 -05:00
many_to_one Fixed #10506, #13793, #14891, #25201 -- Introduced new APIs to specify models' default and base managers. 2016-05-17 12:07:22 +07: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 Sorted imports with isort; refs #23860. 2015-02-06 08:16:28 -05:00
messages_tests Fixed #26747 -- Used more specific assertions in the Django test suite. 2016-06-16 14:19:18 -04:00
middleware Fixed #5897 -- Added the Content-Length response header in CommonMiddleware 2016-06-27 10:44:57 +02:00
middleware_exceptions Refs #26601 -- Improved backwards-compatibility of DEP 5 middleware exception handling. 2016-06-17 10:00:39 -07:00
migrate_signals Refs #24100 -- Fixed a test failure on MySQL related to non-transactional DDL. 2016-05-19 11:01:19 -04:00
migration_test_data_persistence Sorted imports with isort; refs #23860. 2015-02-06 08:16:28 -05:00
migrations Fixed #26709 -- Added class-based indexes. 2016-06-27 10:41:01 -04:00
migrations2 Fixed #24743, #24745 -- Optimized migration plan handling 2015-09-19 14:54:53 +10:00
model_fields Fixed #26747 -- Used more specific assertions in the Django test suite. 2016-06-16 14:19:18 -04:00
model_forms Refs #15667 -- Fixed crash when indexing RadioFieldRenderer with ModelChoiceIterator. 2016-06-18 10:33:37 -04:00
model_formsets Fixed #26747 -- Used more specific assertions in the Django test suite. 2016-06-16 14:19:18 -04:00
model_formsets_regress Fixed #23395 -- Limited line lengths to 119 characters. 2015-09-12 11:40:50 -04:00
model_indexes Fixed #26709 -- Added class-based indexes. 2016-06-27 10:41:01 -04:00
model_inheritance Avoided uncessary table creation in model_inheritance tests. 2016-05-31 15:15:54 -04:00
model_inheritance_regress Fixed #15250 -- Avoided extra query on some multi-table inheritance queries. 2016-06-03 10:18:24 -04:00
model_meta Refs #16508 -- Renamed the current "virtual" fields to "private". 2016-04-13 10:10:53 -04:00
model_options Fixed E128 flake8 warnings in tests/. 2016-04-08 10:12:33 -04:00
model_package Sorted imports with isort; refs #23860. 2015-02-06 08:16:28 -05:00
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
model_validation Fixed #26421 -- Refactored ModelSignal to use Apps.lazy_model_operation() 2016-05-19 21:33:36 -04:00
modeladmin Fixed #19963 -- Added support for date_hierarchy across relations. 2016-06-04 12:14:02 -04:00
multiple_database Fixed #26747 -- Used more specific assertions in the Django test suite. 2016-06-16 14:19:18 -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 #26667 -- Fixed a regression in queries on a OneToOneField that has to_field and primary_key=True. 2016-06-04 08:04:51 -04:00
or_lookups Fixed W503 flake8 warnings. 2016-04-04 17:14:26 -04:00
order_with_respect_to Fixed #25746 -- Isolated inlined test models registration. 2016-01-06 20:00:07 -05:00
ordering Correct a grammatical error: "it's related model" 2016-03-09 20:40:17 -08: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 #26747 -- Used more specific assertions in the Django test suite. 2016-06-16 14:19:18 -04:00
prefetch_related Fixed #26676 -- Prevented prefetching to_attr from caching its result in through attr. 2016-05-31 14:32:58 -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 #15250 -- Avoided extra query on some multi-table inheritance queries. 2016-06-03 10:18:24 -04:00
queries Fixed #26747 -- Used more specific assertions in the Django test suite. 2016-06-16 14:19:18 -04:00
queryset_pickle Fixed many spelling mistakes in code, comments, and docs. 2015-12-03 12:48:24 -05:00
raw_query Fixed #26747 -- Used more specific assertions in the Django test suite. 2016-06-16 14:19:18 -04:00
redirects_tests Refs #26601 -- Deprecated old-style middleware. 2016-05-17 07:22:26 -04:00
requests Fixed #21231 -- Enforced a max size for GET/POST values read into memory. 2016-05-12 10:17:52 -04:00
requirements Refs #26033 -- Added password hasher support for Argon2 v1.3. 2016-04-25 21:17:53 -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 Refs #26022 -- Used context manager version of assertRaises in tests. 2016-01-29 12:32:18 -05: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 Refs #26034 -- Corrected a schema test to work with the correct field state. 2016-06-27 12:13:15 -04:00
select_for_update Refs #26022 -- Used context manager version of assertRaises in tests. 2016-01-29 12:32:18 -05: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 E128 flake8 warnings in tests/. 2016-04-08 10:12:33 -04:00
serializers Fixed #26747 -- Used more specific assertions in the Django test suite. 2016-06-16 14:19:18 -04:00
servers Fixed #26791 -- Replaced LiveServerTestCase port ranges with binding to port 0. 2016-06-23 12:04:05 -04:00
sessions_tests Fixed #26783 -- Fixed SessionMiddleware's empty cookie deletion when using SESSION_COOKIE_PATH. 2016-06-21 11:03:25 -04:00
settings_tests Fixed #26747 -- Used more specific assertions in the Django test suite. 2016-06-16 14:19:18 -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 Fixed #26778 -- Fixed ModelSignal.connect() weak argument. 2016-06-18 20:45:38 -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 #26791 -- Replaced LiveServerTestCase port ranges with binding to port 0. 2016-06-23 12:04:05 -04:00
str Fixed #25746 -- Isolated inlined test models registration. 2016-01-06 20:00:07 -05:00
string_lookup Fixed #25508 -- Modified QuerySet.__repr__() to disambiguate it from a list. 2015-10-06 12:38:34 -04:00
swappable_models Sorted imports with isort; refs #23860. 2015-02-06 08:16:28 -05:00
syndication_tests Made multiline assertRaises* conform to flake8's E128 rule. 2016-02-04 19:14:10 -05:00
template_backends Fixed #26747 -- Used more specific assertions in the Django test suite. 2016-06-16 14:19:18 -04:00
template_loader Fixed #26109 -- Raised a helpful error if loader.select_tamplate() is passed a string. 2016-01-25 18:37:02 -05:00
template_tests Fixed #26747 -- Used more specific assertions in the Django test suite. 2016-06-16 14:19:18 -04:00
templates Changed `action="."` to `action=""` in tests and docs. 2016-01-21 13:59:15 -05:00
test_client Refs #17209 -- Added LoginView and LogoutView class-based views 2016-06-24 10:45:13 +02:00
test_client_regress Refs #26666 -- Added ALLOWED_HOSTS validation when running tests. 2016-06-20 11:07:46 -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 E128 flake8 warnings in tests/. 2016-04-08 10:12:33 -04:00
test_utils Fixed E128 flake8 warnings in tests/. 2016-04-08 10:12:33 -04:00
timezones Fixed #26747 -- Used more specific assertions in the Django test suite. 2016-06-16 14:19:18 -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 Fixed E128 flake8 warnings in tests/. 2016-04-08 10:12:33 -04:00
unmanaged_models Removed British/Austrialian word: whilist. 2015-12-31 14:29:52 -05:00
update Sorted single letter imports per the latest version of isort. 2016-03-28 11:45:31 -04:00
update_only_fields Fixed E128 flake8 warnings in tests/. 2016-04-08 10:12:33 -04:00
urlpatterns_reverse Refs #22384 -- Readded RegexURLResolver.reverse(). 2016-06-20 14:22:27 -04:00
user_commands Fixed #26747 -- Used more specific assertions in the Django test suite. 2016-06-16 14:19:18 -04:00
utils_tests Fixed #26747 -- Used more specific assertions in the Django test suite. 2016-06-16 14:19:18 -04:00
validation Fixed #26747 -- Used more specific assertions in the Django test suite. 2016-06-16 14:19:18 -04:00
validators Fixed #26204 -- Reallowed dashes in top-level domains for URLValidator. 2016-02-18 19:06:49 -05:00
version Fixed #25769 -- Updated get_version() release candidate naming for PEP 0440. 2015-11-19 10:00:09 -05:00
view_tests Refs #17209 -- Added LoginView and LogoutView class-based views 2016-06-24 10:45:13 +02:00
wsgi Fixed #5897 -- Added the Content-Length response header in CommonMiddleware 2016-06-27 10:44:57 +02:00
.coveragerc Fixed #25209 -- Removed parallel=True coverage option 2015-08-04 09:32:12 -04:00
README.rst
runtests.py Fixed #26791 -- Replaced LiveServerTestCase port ranges with binding to port 0. 2016-06-23 12:04:05 -04:00
test_sqlite.py Added trailing comma. 2015-02-06 12:58:45 +01:00
urls.py Fixed "URLconf" spelling in code comments. 2015-10-22 14:46:42 -04:00

README.rst

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