django1/tests
Russell Keith-Magee 9595183d03 Fixed #13724: Corrected routing of write queries involving managers.
Previously, if a database request spanned a related object manager, the
first manager encountered would cause a request to the router, and this
would bind all subsequent queries to the same database returned by the
router. Unfortunately, the first router query would be performed using
a read request to the router, resulting in bad routing information being
used if the subsequent query was actually a write.

This change defers the call to the router until the final query is acutally
made.

It includes a small *BACKWARDS INCOMPATIBILITY* on an edge case - see the
release notes for details.

Thanks to Paul Collins (@paulcollinsiii) for the excellent debugging
work and patch.
2013-09-30 13:05:43 +08:00
..
admin_changelist Removed a ton of unused local vars 2013-09-08 08:05:16 -07:00
admin_custom_urls Fixed #17627 -- Renamed util.py files to utils.py 2013-09-16 12:52:05 -04:00
admin_docs Removed most of absolute_import imports 2013-07-29 20:28:13 +02:00
admin_filters Fixed #21186: Fixed regression when using date fields in the admin's list_filter. 2013-09-28 00:40:43 +02:00
admin_inlines Removed a ton of unused local vars 2013-09-08 08:05:16 -07:00
admin_ordering Removed most of absolute_import imports 2013-07-29 20:28:13 +02:00
admin_registration Fixed typo in exception message; refs #19414 2013-09-19 06:24:12 -04:00
admin_scripts Modified test added in 3afb5916b2 so it doesn't fail on Windows. 2013-09-29 22:44:55 -03:00
admin_util Fixed #17627 -- Renamed util.py files to utils.py 2013-09-16 12:52:05 -04:00
admin_validation Fixed "indentation is not a multiple of four" pep8 issues. 2013-09-03 14:22:21 -04:00
admin_views Fixed #9532 -- Added min_num and validate_min on formsets. 2013-09-19 13:11:49 -04:00
admin_widgets Fixed a timing edge case in the RelatedFieldWidgetSeleniumFirefoxTests. 2013-09-15 01:11:07 +02:00
aggregation Fixed #19885 -- cleaned up the django.test namespace 2013-09-09 16:03:13 -04:00
aggregation_regress Fixed #21126 -- QuerySet value conversion failure 2013-09-25 20:47:57 +03:00
app_cache Make multi-app-cache tests work again 2013-07-22 19:36:03 +01:00
app_loading Fixed #17667 -- Prevented app loading from skipping nonexistent apps after the first try 2013-08-05 13:34:35 -04:00
backends Fixed #21187 -- Import CursorWrapper from django.db.backend.utils 2013-09-28 14:18:37 +03:00
base Replaced "not PY3" by "PY2", new in six 1.4.0. 2013-09-02 12:11:02 +02:00
bash_completion Removed unneeded imports in tests's __init__.py and unified them. 2013-09-09 23:01:07 +02:00
basic Removed some more unused local vars 2013-09-08 12:20:01 -07:00
bug639 Removed most of absolute_import imports 2013-07-29 20:28:13 +02:00
bug8245 Removed most of absolute_import imports 2013-07-29 20:28:13 +02:00
builtin_server Stopped using django.utils.unittest in the test suite. 2013-07-01 14:29:33 +02:00
bulk_create Removed most of absolute_import imports 2013-07-29 20:28:13 +02:00
cache Fixed #21125 -- Removed support for cache URI syntax 2013-09-19 10:01:39 -04:00
check Fixed #20895 -- Made check management command warn if a BooleanField does not have a default value 2013-08-15 19:47:26 -04:00
choices Removed most of absolute_import imports 2013-07-29 20:28:13 +02:00
commands_sql Fixed #15697 -- Made sqlindexes aware of auto-created tables 2013-05-29 15:50:26 +02:00
comment_tests Removed unneeded imports in tests's __init__.py and unified them. 2013-09-09 23:01:07 +02:00
conditional_processing Removed unneeded imports in tests's __init__.py and unified them. 2013-09-09 23:01:07 +02:00
contenttypes_tests Removed most of absolute_import imports 2013-07-29 20:28:13 +02:00
context_processors Removed most of absolute_import imports 2013-07-29 20:28:13 +02:00
createsuperuser Merged regressiontests and modeltests into the test root. 2013-02-26 14:36:57 +01:00
csrf_tests Removed some more unused local vars 2013-09-08 12:20:01 -07:00
custom_columns Removed most of absolute_import imports 2013-07-29 20:28:13 +02:00
custom_columns_regress Removed most of absolute_import imports 2013-07-29 20:28:13 +02:00
custom_managers Fixed #3871 -- Custom managers when traversing reverse relations. 2013-09-25 21:15:59 +03:00
custom_managers_regress Removed most of absolute_import imports 2013-07-29 20:28:13 +02:00
custom_methods Removed most of absolute_import imports 2013-07-29 20:28:13 +02:00
custom_pk Removed some more unused local vars 2013-09-08 12:20:01 -07:00
datatypes Removed some more unused local vars 2013-09-08 12:20:01 -07:00
dates Removed most of absolute_import imports 2013-07-29 20:28:13 +02:00
datetimes Removed most of absolute_import imports 2013-07-29 20:28:13 +02:00
db_backends Fixed #13813 -- Comparison of DatabaseWrappers doesn't raise errors. 2013-07-08 09:35:08 +10:00
db_typecasts Fixed #17627 -- Renamed util.py files to utils.py 2013-09-16 12:52:05 -04:00
decorators Stopped using django.utils.unittest in the test suite. 2013-07-01 14:29:33 +02:00
defaultfilters Fix Python 3.2 compatiblity by removing unicode literals. 2013-09-26 00:03:57 -04:00
defer Made Model.__eq__ consider proxy models equivalent 2013-08-19 09:51:28 +03:00
defer_regress Fixed #20922 -- Allowed customizing the serializer used by contrib.sessions 2013-08-22 13:58:26 -04:00
delete Removed some more unused local vars 2013-09-08 12:20:01 -07:00
delete_regress Removed unneeded imports in tests's __init__.py and unified them. 2013-09-09 23:01:07 +02:00
deprecation Import test case classes from their public API module. 2013-08-21 22:32:04 +01:00
dispatch Removed unneeded imports in tests's __init__.py and unified them. 2013-09-09 23:01:07 +02:00
distinct_on_fields Fixed #21099 - Skip DistinctOnTests unless backend can_distinct_on_fields 2013-09-12 14:32:23 -04:00
empty Removed most of absolute_import imports 2013-07-29 20:28:13 +02:00
expressions Removed most of absolute_import imports 2013-07-29 20:28:13 +02:00
expressions_regress Fixed #19885 -- cleaned up the django.test namespace 2013-09-09 16:03:13 -04:00
extra_regress Deprecated SortedDict (replaced with collections.OrderedDict) 2013-08-04 07:09:39 -04:00
field_deconstruction Fixed #20439 -- Started deprecation of IPAddressField 2013-09-28 10:55:32 +02:00
field_defaults Removed most of absolute_import imports 2013-07-29 20:28:13 +02:00
field_subclassing Fixed #12568 -- no error when accessing custom field's descriptor 2013-09-18 10:03:52 +03:00
file_storage Removed unneeded imports in tests's __init__.py and unified them. 2013-09-09 23:01:07 +02:00
file_uploads Fixed #21033 -- Fixed uploaded filenames not always being truncated to 255 characters 2013-09-10 01:55:16 +02:00
files Fixed #21033 -- Fixed uploaded filenames not always being truncated to 255 characters 2013-09-10 01:55:16 +02:00
fixtures Fixed #21089 -- Allow TransactionTestcase subclasses to define an empty list of fixtures. 2013-09-11 15:28:04 +02:00
fixtures_model_package Removed unneeded imports in tests's __init__.py and unified them. 2013-09-09 23:01:07 +02:00
fixtures_regress Fixed #20933 -- Allowed loaddata to load fixtures from relative paths. 2013-08-21 22:32:04 +01:00
force_insert_update Removed most of absolute_import imports 2013-07-29 20:28:13 +02:00
foreign_object Fixed #20874 -- bump_prefix() in nested subqueries 2013-08-13 14:11:52 +03:00
forms_tests Fixed #20931 -- Fixed select widgets nested choice rendering 2013-09-28 17:25:32 -07:00
generic_inline_admin Fixed #20702 -- Deprecated get_formsets in favor of get_formsets_with_inlines. 2013-09-20 07:47:24 -04:00
generic_relations Fixed #16869 -- BaseGenericInlineFormSet.save_new should use form's save() method 2013-09-07 20:00:38 -04:00
generic_relations_regress Fixed #20564 -- Generic relations exclude() regression 2013-06-06 01:54:46 +03:00
generic_views fixed test name from an old, overly specific iteration of the test 2013-09-06 17:20:43 -05:00
get_earliest_or_latest Removed most of absolute_import imports 2013-07-29 20:28:13 +02:00
get_object_or_404 Removed most of absolute_import imports 2013-07-29 20:28:13 +02:00
get_or_create Translated a test to English for consistency. 2013-09-22 22:48:22 +02:00
get_or_create_regress Removed most of absolute_import imports 2013-07-29 20:28:13 +02:00
handlers Fixed #20530 -- Properly decoded non-ASCII query strings on Python 3. 2013-09-07 11:47:38 -05:00
http_utils Fixed a Python 2.6 regression (GzipFile can't act as a context manager) 2013-05-21 13:18:53 +02:00
httpwrappers Fixed #18403 -- Initialized bad_cookies in SimpleCookie 2013-09-10 08:26:54 -04:00
i18n Partial revert of 165f44aa. 2013-09-22 14:04:10 +02:00
indexes Stopped using django.utils.unittest in the test suite. 2013-07-01 14:29:33 +02:00
initial_sql_regress Updated syncdb -> migrate in tests. 2013-09-03 11:51:34 -04:00
inline_formsets Removed most of absolute_import imports 2013-07-29 20:28:13 +02:00
inspectdb Fixed #20439 -- Started deprecation of IPAddressField 2013-09-28 10:55:32 +02:00
introspection Fixed #21097 - Added DatabaseFeature.can_introspect_autofield 2013-09-14 09:48:59 +03:00
invalid_models Fixed #14028 - Added validation for clashing db_columns. 2013-09-23 11:51:58 -04:00
known_related_objects Removed most of absolute_import imports 2013-07-29 20:28:13 +02:00
logging_tests Combine consecutive with statements 2013-08-16 20:12:10 +02:00
lookup Added field.attname to Options.name_map 2013-07-31 16:02:36 +03:00
m2m_and_m2o Removed most of absolute_import imports 2013-07-29 20:28:13 +02:00
m2m_intermediary Removed most of absolute_import imports 2013-07-29 20:28:13 +02:00
m2m_multiple Fixed "indentation is not a multiple of four" pep8 issues. 2013-09-03 14:22:21 -04:00
m2m_recursive Removed most of absolute_import imports 2013-07-29 20:28:13 +02:00
m2m_regress Updated syncdb -> migrate in tests. 2013-09-03 11:51:34 -04:00
m2m_signals Removed unneeded imports in tests's __init__.py and unified them. 2013-09-09 23:01:07 +02:00
m2m_through Removed unneeded imports in tests's __init__.py and unified them. 2013-09-09 23:01:07 +02:00
m2m_through_regress Removed unneeded imports in tests's __init__.py and unified them. 2013-09-09 23:01:07 +02:00
m2o_recursive Removed most of absolute_import imports 2013-07-29 20:28:13 +02:00
mail Fixed #20841 -- Added messages to NotImplementedErrors 2013-09-10 11:09:59 -04:00
managers_regress Removed most of absolute_import imports 2013-07-29 20:28:13 +02:00
many_to_many Removed most of absolute_import imports 2013-07-29 20:28:13 +02:00
many_to_one Removed most of absolute_import imports 2013-07-29 20:28:13 +02:00
many_to_one_null Removed most of absolute_import imports 2013-07-29 20:28:13 +02:00
many_to_one_regress Removed most of absolute_import imports 2013-07-29 20:28:13 +02:00
max_lengths Removed unneeded imports in tests's __init__.py and unified them. 2013-09-09 23:01:07 +02:00
middleware Removed most of absolute_import imports 2013-07-29 20:28:13 +02:00
middleware_exceptions Removed most of absolute_import imports 2013-07-29 20:28:13 +02:00
migrate_signals Updated syncdb -> migrate in tests. 2013-09-03 11:51:34 -04:00
migrations Remove most errors when running migration tests twice 2013-09-25 16:11:05 +01:00
model_fields Fixed #20439 -- Started deprecation of IPAddressField 2013-09-28 10:55:32 +02:00
model_forms Fixed #21041 -- Removed a duplicate form in tests. 2013-09-05 05:49:10 -04:00
model_forms_regress Removed most of absolute_import imports 2013-07-29 20:28:13 +02:00
model_formsets Fixed #20895 -- Made check management command warn if a BooleanField does not have a default value 2013-08-15 19:47:26 -04:00
model_formsets_regress Fixed #17627 -- Renamed util.py files to utils.py 2013-09-16 12:52:05 -04:00
model_inheritance Fixed #20946 -- model inheritance + m2m failure 2013-08-21 22:32:04 +01:00
model_inheritance_regress Fixed #20895 -- Made check management command warn if a BooleanField does not have a default value 2013-08-15 19:47:26 -04:00
model_inheritance_same_model_name Removed most of absolute_import imports 2013-07-29 20:28:13 +02:00
model_inheritance_select_related Fixed #20895 -- Made check management command warn if a BooleanField does not have a default value 2013-08-15 19:47:26 -04:00
model_package Removed unneeded imports in tests's __init__.py and unified them. 2013-09-09 23:01:07 +02:00
model_permalink Removed most of absolute_import imports 2013-07-29 20:28:13 +02:00
model_regress Refactored code and tests that relied on django.utils.tzinfo. 2013-09-09 22:32:52 +02:00
model_validation Fixes a Python 3.x regression introduced in a19e9d80 2013-05-18 18:06:31 +02:00
modeladmin Fixed #20702 -- Deprecated get_formsets in favor of get_formsets_with_inlines. 2013-09-20 07:47:24 -04:00
multiple_database Fixed #13724: Corrected routing of write queries involving managers. 2013-09-30 13:05:43 +08:00
mutually_referential Removed most of absolute_import imports 2013-07-29 20:28:13 +02:00
nested_foreign_keys Removed most of absolute_import imports 2013-07-29 20:28:13 +02:00
null_fk Removed most of absolute_import imports 2013-07-29 20:28:13 +02:00
null_fk_ordering Removed most of absolute_import imports 2013-07-29 20:28:13 +02:00
null_queries Removed most of absolute_import imports 2013-07-29 20:28:13 +02:00
one_to_one Fixed #20895 -- Made check management command warn if a BooleanField does not have a default value 2013-08-15 19:47:26 -04:00
one_to_one_regress Partial revert of 165f44aa. 2013-09-22 14:04:10 +02:00
or_lookups Fixed "indentation is not a multiple of four" pep8 issues. 2013-09-03 14:22:21 -04:00
order_with_respect_to Removed most of absolute_import imports 2013-07-29 20:28:13 +02:00
ordering Removed most of absolute_import imports 2013-07-29 20:28:13 +02:00
pagination Removed most of absolute_import imports 2013-07-29 20:28:13 +02:00
prefetch_related Fixed "indentation is not a multiple of four" pep8 issues. 2013-09-03 14:22:21 -04:00
properties Removed most of absolute_import imports 2013-07-29 20:28:13 +02:00
proxy_model_inheritance Updated syncdb -> migrate in tests. 2013-09-03 11:51:34 -04:00
proxy_models Fixed #17627 -- Renamed util.py files to utils.py 2013-09-16 12:52:05 -04:00
queries Fixed #15786 -- Added a regression test for o2o excludes using F(). 2013-09-29 16:45:03 -04:00
queryset_pickle Added tests for double-pickling a QuerySet 2013-09-14 10:33:15 +03:00
raw_query Fixed #20895 -- Made check management command warn if a BooleanField does not have a default value 2013-08-15 19:47:26 -04:00
requests Removed unneeded imports in tests's __init__.py and unified them. 2013-09-09 23:01:07 +02:00
requirements Fixed #21032 -- pip 1.4 can't install pytz. 2013-09-06 22:11:55 -05:00
reserved_names Fixed "indentation is not a multiple of four" pep8 issues. 2013-09-03 14:22:21 -04:00
resolve_url Stopped using django.utils.unittest in the test suite. 2013-07-01 14:29:33 +02:00
responses Fixed #12747 -- Made reason phrases customizable. 2013-05-19 13:14:54 +02:00
reverse_lookup Removed most of absolute_import imports 2013-07-29 20:28:13 +02:00
reverse_single_related Fixed #20895 -- Made check management command warn if a BooleanField does not have a default value 2013-08-15 19:47:26 -04:00
save_delete_hooks Removed most of absolute_import imports 2013-07-29 20:28:13 +02:00
schema Fixed #21151 -- Bad cleanup in schema M2M repoint test 2013-09-24 11:00:00 +01:00
select_for_update Isolated select_for_update tests a bit more. 2013-09-24 10:29:21 +02:00
select_related Removed most of absolute_import imports 2013-07-29 20:28:13 +02:00
select_related_onetoone Removed most of absolute_import imports 2013-07-29 20:28:13 +02:00
select_related_regress Removed most of absolute_import imports 2013-07-29 20:28:13 +02:00
serializers Fixed #19885 -- cleaned up the django.test namespace 2013-09-09 16:03:13 -04:00
serializers_regress Fixed #20439 -- Started deprecation of IPAddressField 2013-09-28 10:55:32 +02:00
servers Fixed "Address already in use" from liveserver. 2013-09-22 22:02:59 +02:00
settings_tests Revert "Fixed #12288 -- Validated that app names in INSTALLED_APPS are unique" 2013-09-14 07:19:32 -04:00
signals Removed most of absolute_import imports 2013-07-29 20:28:13 +02:00
signals_regress Removed most of absolute_import imports 2013-07-29 20:28:13 +02:00
signed_cookies_tests Merged regressiontests and modeltests into the test root. 2013-02-26 14:36:57 +01:00
signing Replaced "not PY3" by "PY2", new in six 1.4.0. 2013-09-02 12:11:02 +02:00
sites_framework Removed most of absolute_import imports 2013-07-29 20:28:13 +02:00
staticfiles_tests Took advantage of django.utils.six.moves.urllib.*. 2013-09-05 14:39:23 -05:00
str Removed most of absolute_import imports 2013-07-29 20:28:13 +02:00
string_lookup Fixed #20439 -- Started deprecation of IPAddressField 2013-09-28 10:55:32 +02:00
swappable_models Updated syncdb -> migrate in tests. 2013-09-03 11:51:34 -04:00
syndication Refactored code and tests that relied on django.utils.tzinfo. 2013-09-09 22:32:52 +02:00
tablespaces Updated syncdb -> migrate in tests. 2013-09-03 11:51:34 -04:00
template_tests Fixed #7557 -- Added type checking to Variable initialization. 2013-09-19 09:27:19 -04:00
templates Added a test for AdminSite.app_index_template; refs #8498. 2013-07-31 06:59:15 -04:00
test_client Fixed #20919 -- Extended assertRedirects to be able to avoid fetching redirect's response. 2013-09-10 12:22:55 -04:00
test_client_regress Fixed #18356 -- Gave the test client signals.template_rendered call a unique dispatch_uid 2013-08-09 12:22:42 -04:00
test_discovery_sample Removed tests for django.utils.unittest vs. unittest. 2013-07-01 21:49:11 +02:00
test_discovery_sample2 Fixed #17365, #17366, #18727 -- Switched to discovery test runner. 2013-05-10 23:08:45 -04:00
test_runner Fixed #16534 -- Improved ability to customize DiscoverRunner 2013-09-10 09:49:39 -04:00
test_runner_deprecation_app Fixed #17365, #17366, #18727 -- Switched to discovery test runner. 2013-05-10 23:08:45 -04:00
test_runner_invalid_app Fixed #17365, #17366, #18727 -- Switched to discovery test runner. 2013-05-10 23:08:45 -04:00
test_suite_override Removed tests for django.utils.unittest vs. unittest. 2013-07-01 21:49:11 +02:00
test_utils Partial revert of 165f44aa. 2013-09-22 14:04:10 +02:00
text Fixed #20231 -- Don't use allow_lazy on smart_split 2013-04-10 13:05:29 +02:00
timezones Fixed #21074 -- Added tests for localized datetime fields. 2013-09-21 23:10:14 +02:00
transactions Translated a test to English for consistency. 2013-09-22 22:48:22 +02:00
transactions_regress Stopped a test from executing queries at the module level. 2013-09-22 23:02:35 +02:00
unmanaged_models Removed unneeded imports in tests's __init__.py and unified them. 2013-09-09 23:01:07 +02:00
update Fixed #11521 -- usage of field.attname in .update() 2013-07-31 16:02:36 +03:00
update_only_fields Removed most of absolute_import imports 2013-07-29 20:28:13 +02:00
urlpatterns_reverse Removed a few trailing backslashes. 2013-09-22 14:04:10 +02:00
user_commands Made (make|compile)messages check for availability of gettext commands. 2013-03-10 17:31:11 -03:00
utils_tests Fix #21185: Added tests for unescape_entities. 2013-09-27 17:00:42 +02:00
validation Removed most of absolute_import imports 2013-07-29 20:28:13 +02:00
validators Fixed an email validation regression 2013-07-21 21:11:32 +02:00
version Stopped using django.utils.unittest in the test suite. 2013-07-01 14:29:33 +02:00
view_tests Partial revert of 165f44aa. 2013-09-22 14:04:10 +02:00
wsgi Fixed a few more imports of django.utils.unittest. 2013-07-01 22:49:07 +02:00
.coveragerc Made coverage ignore files without associated source code. 2013-08-25 22:29:43 -03:00
runtests.py Fixed test suite bisection on Python 3. 2013-09-23 17:05:36 -04:00
test_sqlite.py Updated an inaccurate comment. 2013-02-26 10:00:14 +01:00
urls.py Renamed some tests and removed references to modeltests/regressiontests. 2013-02-26 14:36:57 +01:00