django/tests
Marc Tamlyn 39d95fb6ad Fixed #24092 -- Widened base field support for ArrayField.
Several issues resolved here, following from a report that a base_field
of GenericIpAddressField was failing.

We were using get_prep_value instead of get_db_prep_value in ArrayField
which was bypassing any extra modifications to the value being made in
the base field's get_db_prep_value. Changing this broke datetime
support, so the postgres backend has gained the relevant operation
methods to send dates/times/datetimes directly to the db backend instead
of casting them to strings. Similarly, a new database feature has been
added allowing the uuid to be passed directly to the backend, as we do
with timedeltas.

On the other side, psycopg2 expects an Inet() instance for IP address
fields, so we add a value_to_db_ipaddress method to wrap the strings on
postgres. We also have to manually add a database adapter to psycopg2,
as we do not wish to use the built in adapter which would turn
everything into Inet() instances.

Thanks to smclenithan for the report.
2015-01-16 16:15:16 -05:00
..
absolute_url_overrides Fixed #11775 -- Made ABSOLUTE_URL_OVERRIDES work with models that don't define get_absolute_url(). 2014-09-09 11:05:31 -04:00
admin_autodiscover Fixed #22979 -- Moved bug* tests 2014-07-26 21:05:49 -04:00
admin_changelist Fixed #23620 -- Used more specific assertions in the Django test suite. 2014-11-03 11:56:37 -05:00
admin_checks Fixed #24089 -- Added check for when ModelAdmin.fieldsets[1]['fields'] isn't a list/tuple. 2015-01-12 13:47:58 -05:00
admin_custom_urls Fixed #13165 -- Added edit and delete links to admin foreign key widgets. 2015-01-10 12:24:52 -05:00
admin_docs Fixed #5405 -- Added admindocs support for reStructured text in model docstrings 2014-11-03 15:30:46 -05:00
admin_filters Fixed #23616 - Fixed generic relations in ModelAdmin.list_filter. 2014-10-10 12:10:32 -04:00
admin_inlines Fixed #23995 -- Removed unnecessary calls to self.client.logout() in tests. 2014-12-16 09:12:46 -05:00
admin_ordering Fixed #13163 -- Added ability to show change links on inline objects in admin. 2014-07-31 08:07:28 -04:00
admin_registration Fixed #13163 -- Added ability to show change links on inline objects in admin. 2014-07-31 08:07:28 -04:00
admin_scripts Applied ignore_warnings to Django tests 2014-12-30 18:16:25 +01:00
admin_utils Renamed tests for util -> utils moves; refs #17627. 2014-12-31 11:26:27 -05:00
admin_validation Applied ignore_warnings to Django tests 2014-12-30 18:16:25 +01:00
admin_views Fixed #24099 -- Removed contenttype.name deprecated field 2015-01-16 20:21:34 +01:00
admin_widgets Fixed #13165 -- Added edit and delete links to admin foreign key widgets. 2015-01-10 12:24:52 -05:00
aggregation Fixed #24020 -- Refactored SQL compiler to use expressions 2015-01-08 14:07:54 -05:00
aggregation_regress Fixed #24020 -- Refactored SQL compiler to use expressions 2015-01-08 14:07:54 -05:00
annotations Fixed null handling in Value expression 2015-01-07 19:07:49 -05:00
app_loading Moved sys.path-extending decorator to django.test.utils and used throughout test suite. 2014-01-25 22:50:40 -07:00
apps Fixed flake8 warning. 2014-10-22 21:21:02 -04:00
backends Fixed #22603 -- Reorganized classes in django.db.backends. 2015-01-14 14:16:20 -05:00
base Renamed AppCache to Apps. 2013-12-24 12:25:17 +01:00
bash_completion Replaced sqlall in some bash_completion/admin_scripts tests. 2014-12-26 18:52:26 -05:00
basic Fixed #12663 -- Formalized the Model._meta API for retrieving fields. 2015-01-06 19:25:12 -05:00
builtin_server Moved ServerHandler helper class to tests. 2014-03-30 20:55:40 -03:00
bulk_create Fixed #23620 -- Used more specific assertions in the Django test suite. 2014-11-03 11:56:37 -05:00
cache Accounted for multiple template engines in template responses. 2015-01-12 21:01:34 +01:00
check_framework Fixed test failures introduced in refs #23861. 2015-01-05 14:35:30 -05:00
choices Removed numbering from the models.py header of some test packages. 2014-09-24 17:28:56 +07:00
commands_sql Moved DatabaseCreation.data_types properties to DatabaseWrapper. 2014-12-31 08:29:17 -05:00
commands_sql_migrations Fixed #22749: Making SQL management commands migration aware. 2014-06-07 17:18:30 -07:00
conditional_processing Fixed #22461 -- Added if-unmodified-since support to the condition decorator. 2014-12-24 12:33:57 -05:00
contenttypes_tests Fixed #24099 -- Removed contenttype.name deprecated field 2015-01-16 20:21:34 +01:00
context_processors Deprecated TEMPLATE_CONTEXT_PROCESSORS. 2014-12-28 17:02:31 +01:00
createsuperuser Made testing of stdout and stderr more consistent. 2014-10-22 09:25:50 +07:00
csrf_tests Used None-related assertions in CSRF tests 2015-01-06 08:48:01 +01:00
custom_columns Fixed typos using https://github.com/vlajos/misspell_fixer 2014-11-03 20:59:30 -05:00
custom_lookups Fixed #23893: Added tzinfo to constant datetime in unit test 2014-12-16 02:54:59 -07:00
custom_managers Fixed #23822 -- Added support for serializing model managers in migration 2014-12-15 08:34:15 -05:00
custom_methods Removed numbering from the models.py header of some test packages. 2014-09-24 17:28:56 +07:00
custom_migration_operations Fixed #24093 -- Prevented MigrationWriter to write operation kwargs that are not explicitly deconstructed 2015-01-07 17:29:20 -07:00
custom_pk Fixed #24020 -- Refactored SQL compiler to use expressions 2015-01-08 14:07:54 -05:00
datatypes Fixed #23620 -- Used more specific assertions in the Django test suite. 2014-11-03 11:56:37 -05:00
dates Fixed #23867 -- removed DateQuerySet hacks 2014-11-26 17:49:25 -05:00
datetimes Split tests.basic.ModelTests in several tests; refs #18586. 2014-06-25 15:39:56 -04:00
db_functions Fixed #24060 -- Added OrderBy Expressions 2015-01-13 09:39:55 +11:00
db_typecasts Removed superfluous models.py files. 2013-12-17 11:16:48 +01:00
dbshell Fixed #22646: Added support for the MySQL ssl-ca option to dbshell. 2014-08-13 18:29:42 -04:00
decorators Fixed #23923 -- Promoted Django's deprecation warnings to errors in runtests.py 2014-11-29 10:27:04 -05:00
defer Refs #18586 -- Split up tests.defer.DeferTests.test_defer 2014-12-31 11:56:06 -05:00
defer_regress Fixed #24020 -- Refactored SQL compiler to use expressions 2015-01-08 14:07:54 -05:00
delete Fixed #23812 -- Changed django.utils.six.moves.xrange imports to range 2014-12-13 12:45:58 -05:00
delete_regress Fixed #22308 -- Regression from 0f956085. 2014-03-22 21:35:46 +01:00
deprecation Applied ignore_warnings to Django tests 2014-12-30 18:16:25 +01:00
dispatch Added return value to Signal.disconnect(). 2015-01-02 12:00:41 -05:00
distinct_on_fields Split ignores_nulls_in_unique_constraints feature. 2014-05-08 22:11:20 +02:00
empty Fixed #23620 -- Used more specific assertions in the Django test suite. 2014-11-03 11:56:37 -05:00
expressions Fixed #24031 -- Added CASE expressions to the ORM. 2015-01-12 18:15:34 -05:00
expressions_case Fixed #24148 -- Documented a bug with case expressions in SQLite < 3.7.0 2015-01-15 19:42:05 -05:00
extra_regress Fixed many typos in comments and docstrings. 2014-03-03 07:38:09 -05:00
field_deconstruction Applied ignore_warnings to Django tests 2014-12-30 18:16:25 +01:00
field_defaults Fixed #23620 -- Used more specific assertions in the Django test suite. 2014-11-03 11:56:37 -05:00
field_subclassing Fixed #901 -- Added Model.refresh_from_db() method 2014-11-28 06:54:00 -05:00
file_storage Skipped a problematic file_storage test on Windows. 2015-01-14 15:00:27 -05:00
file_uploads Avoided a deprecated alias on Python 3 in file_uploads test. 2015-01-07 19:12:37 -05:00
files Fixed #23888 -- Fixed crash in File.__repr__() when name contains unicode. 2014-11-24 15:54:57 -05:00
fixtures Fixed #12663 -- Formalized the Model._meta API for retrieving fields. 2015-01-06 19:25:12 -05:00
fixtures_migration Fixed #20392 -- Added TestCase.setUpTestData() 2014-12-03 10:37:04 -05:00
fixtures_model_package Fixed #23620 -- Used more specific assertions in the Django test suite. 2014-11-03 11:56:37 -05:00
fixtures_regress Removed unneeded null param to ManyToManyField 2014-12-23 19:01:03 +01:00
force_insert_update
foreign_object Ensured foreign_object tests reset language properly. 2014-12-02 07:31:52 -05:00
forms_tests Fixed #23712 -- Fixed KeyError with BaseForm._html_output() 2015-01-15 20:19:53 -05:00
from_db_value Fixed #24020 -- Refactored SQL compiler to use expressions 2015-01-08 14:07:54 -05:00
generic_inline_admin Ignored warnings correctly in test_get_formsets_with_inlines_returns_tuples(). 2014-12-31 08:24:09 -05:00
generic_relations Fixed #24099 -- Removed contenttype.name deprecated field 2015-01-16 20:21:34 +01:00
generic_relations_regress Fixed #12663 -- Formalized the Model._meta API for retrieving fields. 2015-01-06 19:25:12 -05:00
generic_views Fixed #24133 -- Replaced formatting syntax in success_url placeholders 2015-01-12 22:51:22 +01:00
get_earliest_or_latest Fixed #23555 -- Avoided suppressing IndexError in QuerySet.first() and .last() 2014-10-08 14:28:38 -04:00
get_object_or_404 Removed numbering from the models.py header of some test packages. 2014-09-24 17:28:56 +07:00
get_or_create Applied ignore_warnings to Django tests 2014-12-30 18:16:25 +01:00
handlers Fixed #23887 -- Returned Bad Request for multipart parsing fails 2014-11-22 14:23:37 +01:00
http_utils Fixed flake8 warning. 2014-08-18 13:44:10 -04:00
httpwrappers Fixed #23730 -- Moved support for SimpleCookie HIGHEST_PROTOCOL pickling to http.cookie. 2014-11-12 19:04:45 +01:00
i18n Fixed #24099 -- Removed contenttype.name deprecated field 2015-01-16 20:21:34 +01:00
indexes Applied ignore_warnings to Django tests 2014-12-30 18:16:25 +01:00
initial_sql_regress Fixed #3214 -- Stopped parsing SQL with regex. 2014-04-26 17:46:23 +02:00
inline_formsets Harmonized some PEP 0263 coding preambles 2014-05-15 19:58:41 +02:00
inspectdb Fixed #23891 -- Moved deprecation of IPAddressField to system check framework. 2015-01-01 13:30:52 -05:00
introspection Fixed #17785 -- Preferred column names in get_relations introspection 2015-01-12 19:58:47 +01:00
invalid_models_tests Fixed #23801 -- Added warning when max_length is used with IntegerField 2014-11-26 18:41:54 -05:00
known_related_objects Replaced set([foo, ...]) by {foo, ...} literals. Refs PR 3282. 2014-09-29 00:01:38 +07:00
logging_tests Fixed #24095 -- Prevented WarningLoggerTests from leaking a warnings filter. 2015-01-08 08:49:54 -05:00
lookup Replaced set([foo, ...]) by {foo, ...} literals. Refs PR 3282. 2014-09-29 00:01:38 +07:00
m2m_and_m2o Fixed #12663 -- Formalized the Model._meta API for retrieving fields. 2015-01-06 19:25:12 -05:00
m2m_intermediary Removed numbering from the models.py header of some test packages. 2014-09-24 17:28:56 +07:00
m2m_multiple Removed numbering from the models.py header of some test packages. 2014-09-24 17:28:56 +07:00
m2m_recursive Removed numbering from the models.py header of some test packages. 2014-09-24 17:28:56 +07:00
m2m_regress Added a test to ensure bad assignation to M2M doesn't clear data 2014-12-24 14:18:00 +01:00
m2m_signals
m2m_through Fixed #23862 -- Made ManyToManyRel.get_related_field() respect to_field. 2014-11-21 16:02:31 -05:00
m2m_through_regress
m2o_recursive Removed numbering from the models.py header of some test packages. 2014-09-24 17:28:56 +07:00
mail Refs #23947 -- Isolated a mail test. 2014-12-06 12:06:06 -05:00
managers_regress Fixed #19774 -- Deprecated the contenttypes.generic module. 2014-01-26 14:42:30 -05:00
many_to_many Removed numbering from the models.py header of some test packages. 2014-09-24 17:28:56 +07:00
many_to_one Fixed #12663 -- Formalized the Model._meta API for retrieving fields. 2015-01-06 19:25:12 -05:00
many_to_one_null Removed numbering from the models.py header of some test packages. 2014-09-24 17:28:56 +07:00
max_lengths Fixed #20631 -- Increased the default EmailField max_length to 254. 2014-07-04 14:15:00 -04:00
middleware Fixed #24072 -- Added FileResponse for streaming binary files. 2015-01-05 10:51:52 -05:00
middleware_exceptions Accounted for multiple template engines in template responses. 2015-01-12 21:01:34 +01:00
migrate_signals Fixed #23975 -- Restored pre_migrate signal if all apps have migrations. 2014-12-16 18:34:25 -05:00
migration_test_data_persistence Fixed #23039: Don't try to serialize unmanaged models in tests 2014-07-21 10:09:31 +01:00
migrations Fixed #24135 -- Made RenameModel rename many-to-many tables. 2015-01-15 20:34:33 -05:00
migrations2 Revert "Fixed #23474 -- Prevented migrating backwards from unapplying the wrong migrations." 2014-09-24 15:49:30 -04:00
model_fields Fixed #24092 -- Widened base field support for ArrayField. 2015-01-16 16:15:16 -05:00
model_forms Fixed DoS possibility in ModelMultipleChoiceField. 2015-01-13 13:03:06 -05:00
model_formsets Fixed #23620 -- Used more specific assertions in the Django test suite. 2014-11-03 11:56:37 -05:00
model_formsets_regress Fixed #23968 -- Replaced list comprehension with generators and dict comprehension 2014-12-08 07:58:23 -05:00
model_inheritance Refs #18586 -- Split up model_inheritance.ModelInheritanceTest 2014-12-03 18:54:47 -05:00
model_inheritance_regress Fixed several typos in Django 2014-05-28 17:39:14 -07:00
model_meta Fixed #24146 -- Fixed a missing fields regression in admin checks. 2015-01-16 14:47:09 -05:00
model_options Replaced DatabaseCreation sql methods by schema editor equivalents 2014-12-23 19:35:01 +01:00
model_package Removed model_package test dependency on contrib.sites 2014-12-23 18:10:07 +01:00
model_permalink Fixed #23276 -- Deprecated passing views as strings to url(). 2014-08-12 13:15:40 -04:00
model_regress Fixed #24160 -- Fixed model_regress test on Windows; refs #24007. 2015-01-16 11:59:08 -05:00
model_validation Fixed #23338 -- Added warning when unique=True on ForeigKey 2014-11-27 19:42:30 -05:00
modeladmin Fixed #13165 -- Added edit and delete links to admin foreign key widgets. 2015-01-10 12:24:52 -05:00
multiple_database Removed an incorrect docstring in tests/multiple_database/tests.py. 2014-12-01 11:37:08 -05:00
mutually_referential Removed numbering from the models.py header of some test packages. 2014-09-24 17:28:56 +07:00
nested_foreign_keys Fixed #22909 -- Removed camelCasing in some tests. 2014-07-07 19:08:42 -04:00
no_models Renamed AppCache to Apps. 2013-12-24 12:25:17 +01:00
null_fk Fixed #23620 -- Used more specific assertions in the Django test suite. 2014-11-03 11:56:37 -05:00
null_fk_ordering Fixed #23620 -- Used more specific assertions in the Django test suite. 2014-11-03 11:56:37 -05:00
null_queries Fixed #16187 -- refactored ORM lookup system 2014-01-18 11:46:19 +02:00
one_to_one Fixed #21414 -- Removed RelatedObject and deprecated Field.related. 2014-12-23 10:54:25 -05:00
or_lookups Removed numbering from the models.py header of some test packages. 2014-09-24 17:28:56 +07:00
order_with_respect_to Refs #18586 -- Split up order_with_respect_to tests 2014-12-04 11:05:26 -05:00
ordering Fixed #24060 -- Added OrderBy Expressions 2015-01-13 09:39:55 +11:00
pagination Fixed #23620 -- Used more specific assertions in the Django test suite. 2014-11-03 11:56:37 -05:00
postgres_tests Fixed #24092 -- Widened base field support for ArrayField. 2015-01-16 16:15:16 -05:00
prefetch_related Fixed #23968 -- Replaced list comprehension with generators and dict comprehension 2014-12-08 07:58:23 -05:00
project_template Added a test to verify headers set by default middleware; refs #23939. 2014-12-03 13:47:23 -05:00
properties Removed numbering from the models.py header of some test packages. 2014-09-24 17:28:56 +07:00
proxy_model_inheritance Removed unneeded override_system_checks 2014-10-21 20:54:32 +02:00
proxy_models Fixed #23620 -- Used more specific assertions in the Django test suite. 2014-11-03 11:56:37 -05:00
queries Fixed #24020 -- Refactored SQL compiler to use expressions 2015-01-08 14:07:54 -05:00
queryset_pickle Fixed #12663 -- Formalized the Model._meta API for retrieving fields. 2015-01-06 19:25:12 -05:00
raw_query Fixed #23620 -- Used more specific assertions in the Django test suite. 2014-11-03 11:56:37 -05:00
requests Fixed #23450 -- Fixed transient failure of requests...test_far_expiration. 2014-12-30 10:23:42 -05:00
requirements Added basic tests for template backends. 2014-12-28 16:23:00 +01:00
reserved_names Removed numbering from the models.py header of some test packages. 2014-09-24 17:28:56 +07:00
resolve_url Fixed #24097 -- Prevented AttributeError in redirect_to_login 2015-01-10 10:05:02 +01:00
responses Fixed #23977 -- Added setdefault() method to HttpResponse 2014-12-11 13:56:56 -05:00
reverse_lookup Removed numbering from the models.py header of some test packages. 2014-09-24 17:28:56 +07:00
save_delete_hooks Removed numbering from the models.py header of some test packages. 2014-09-24 17:28:56 +07:00
schema Fixed #12663 -- Formalized the Model._meta API for retrieving fields. 2015-01-06 19:25:12 -05:00
select_for_update Replaced router.routers usage with override_settings(DATABASE_ROUTERS); refs #23933. 2014-12-01 11:34:15 -05:00
select_related Fixed #10414 -- Made select_related() fail on invalid field names. 2014-12-24 14:54:30 -05:00
select_related_onetoone Fixed #24020 -- Refactored SQL compiler to use expressions 2015-01-08 14:07:54 -05:00
select_related_regress Fixed #23620 -- Used more specific assertions in the Django test suite. 2014-11-03 11:56:37 -05:00
serializers Fixed #24020 -- Refactored SQL compiler to use expressions 2015-01-08 14:07:54 -05:00
serializers_regress Removed supports_binary_field flag as all backends support them 2015-01-11 23:34:47 +01:00
servers Stripped headers containing underscores to prevent spoofing in WSGI environ. 2015-01-13 13:03:05 -05:00
settings_tests Deprecated TEMPLATE_LOADERS. 2014-12-28 17:02:30 +01:00
shortcuts Fixed #24124 (again) -- Updated tests with new default context_processors. 2015-01-12 22:31:44 +01:00
signals Added a test for model pre/post_init signals. 2014-11-21 10:39:37 -05:00
signed_cookies_tests Fixed #23792 -- Added test.utils.freeze_time() context manager. 2014-12-22 07:46:40 -05:00
signing Fixed #23792 -- Added test.utils.freeze_time() context manager. 2014-12-22 07:46:40 -05:00
sites_framework Added migration for site test app depending on contrib.sites 2014-12-23 19:01:33 +01:00
staticfiles_tests Fixed #23700 -- Fixed non-deterministic static files test failures on Windows. 2015-01-01 13:57:52 -05:00
str Removed numbering from the models.py header of some test packages. 2014-09-24 17:28:56 +07:00
string_lookup Applied ignore_warnings to Django tests 2014-12-30 18:16:25 +01:00
swappable_models Added a missing import and removed an unneeded import 2013-12-24 08:35:13 -08:00
syndication_tests Cleanup cache in contrib.sites to prevent test interference -- refs #11505 2014-12-11 15:56:54 -05:00
template_backends Deprecated passing a Context to a generic Template.render. 2015-01-12 21:01:34 +01:00
template_loader Added a request argument to render_to_string. 2015-01-07 21:54:22 +01:00
template_tests Accounted for multiple template engines in template responses. 2015-01-12 21:01:34 +01:00
templates Fixed #17890 -- Added an extra_context parameter to AdminSite.password_change(). 2014-11-29 10:31:09 -05:00
test_client Corrected deprecation warnings for RedirectView; refs #21587. 2014-11-28 17:59:55 -05:00
test_client_regress Accounted for multiple template engines in template responses. 2015-01-12 21:01:34 +01:00
test_discovery_sample Made a doctest compatible with Python 2 2014-10-23 11:16:17 +02:00
test_discovery_sample2 Fixed #23742 -- Added an option to reverse tests order. 2014-11-24 19:24:11 -05:00
test_exceptions Reduced reduce() usage; refs #23796. 2014-11-20 14:31:14 -05:00
test_runner Fixed #24118 -- Added --debug-sql option for tests. 2015-01-12 08:16:08 +00:00
test_runner_deprecation_app Avoided changing raw DeprecationWarning filter behavior 2014-03-08 11:13:48 +01:00
test_utils Fixed typo in test_utils comment. 2014-12-24 07:10:34 -05:00
timezones Fixed #24124 (again) -- Updated tests with new default context_processors. 2015-01-12 22:31:44 +01:00
transactions Removed numbering from the models.py header of some test packages. 2014-09-24 17:28:56 +07:00
unmanaged_models Fixed #23620 -- Used more specific assertions in the Django test suite. 2014-11-03 11:56:37 -05:00
update Fixed #21612 -- Made QuerySet.update() respect to_field 2014-11-16 15:44:13 +01:00
update_only_fields Fixed typos using https://github.com/vlajos/misspell_fixer 2014-11-03 20:59:30 -05:00
urlpatterns_reverse Applied ignore_warnings to Django tests 2014-12-30 18:16:25 +01:00
user_commands Fixed #24073 -- Returned None for get_language when translations are deactivated 2015-01-08 17:43:07 +01:00
utils_tests Fixed is_safe_url() to handle leading whitespace. 2015-01-13 13:03:06 -05:00
validation Fixed typos using https://github.com/vlajos/misspell_fixer 2014-11-03 20:59:30 -05:00
validators Fixed #20003 -- Improved and extended URLValidator 2015-01-06 14:04:25 -05:00
version Fixed #22378 -- Updated \d to [0-9]+ in urlpatterns of docs and tests. 2014-04-16 20:36:29 -04:00
view_tests Fixed a static view test on Windows. 2015-01-14 13:56:49 -05:00
wsgi Fixed #24072 -- Added FileResponse for streaming binary files. 2015-01-05 10:51:52 -05:00
.coveragerc Removed nonexistent module django.test._doctest from coveragerc. 2014-11-19 06:01:39 -05:00
README.rst Fixed #23289 -- Added mock as a test dependency. 2014-12-01 16:08:25 -05:00
runtests.py Fixed #24124 (again) -- Updated tests with new default context_processors. 2015-01-12 22:31:44 +01:00
test_sqlite.py
urls.py Fixed #22218 -- Deprecated django.conf.urls.patterns. 2014-04-03 07:28:10 -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/.