django/tests
Andrew Gorcester f9ab543720 Fixed #20084 -- Provided option to validate formset max_num on server.
This is provided as a new "validate_max" formset_factory option defaulting to
False, since the non-validating behavior of max_num is longstanding, and there
is certainly code relying on it. (In fact, even the Django admin relies on it
for the case where there are more existing inlines than the given max_num). It
may be that at some point we want to deprecate validate_max=False and
eventually remove the option, but this commit takes no steps in that direction.

This also fixes the DoS-prevention absolute_max enforcement so that it causes a
form validation error rather than an IndexError, and ensures that absolute_max
is always 1000 more than max_num, to prevent surprising changes in behavior
with max_num close to absolute_max.

Lastly, this commit fixes the previous inconsistency between a regular formset
and a model formset in the precedence of max_num and initial data. Previously
in a regular formset, if the provided initial data was longer than max_num, it
was truncated; in a model formset, all initial forms would be displayed
regardless of max_num. Now regular formsets are the same as model formsets; all
initial forms are displayed, even if more than max_num. (But if validate_max is
True, submitting these forms will result in a "too many forms" validation
error!) This combination of behaviors was chosen to keep the max_num validation
simple and consistent, and avoid silent data loss due to truncation of initial
data.

Thanks to Preston for discussion of the design choices.
2013-03-21 01:27:24 -07:00
..
admin_changelist Fixed a python 3.2 syntax error and python 3 warning introduced by 054ce2aa02. 2013-03-19 22:16:48 -04:00
admin_custom_urls Merged regressiontests and modeltests into the test root. 2013-02-26 14:36:57 +01:00
admin_filters Fixed #15363 -- Renamed and normalized to `get_queryset` the methods that return a QuerySet. 2013-03-08 10:11:45 -05:00
admin_inlines Fixed #19838 -- Admin: Don't leak a 500 HTTP status when trying to delete protected FKs. 2013-03-04 13:30:59 -03:00
admin_ordering Fixed #15363 -- Renamed and normalized to `get_queryset` the methods that return a QuerySet. 2013-03-08 10:11:45 -05:00
admin_registration Merged regressiontests and modeltests into the test root. 2013-02-26 14:36:57 +01:00
admin_scripts Fixed #17037 -- Added a --all option to diffsettings. 2013-03-18 00:03:58 +01:00
admin_util Merged regressiontests and modeltests into the test root. 2013-02-26 14:36:57 +01:00
admin_validation Renamed some tests and removed references to modeltests/regressiontests. 2013-02-26 14:36:57 +01:00
admin_views Fixed #19327 -- Added handling of double login attempts in admin. 2013-03-18 17:11:07 -07:00
admin_widgets Fixed #15363 -- Renamed and normalized to `get_queryset` the methods that return a QuerySet. 2013-03-08 10:11:45 -05:00
aggregation Merged regressiontests and modeltests into the test root. 2013-02-26 14:36:57 +01:00
aggregation_regress Fixed failing aggregation tests on MySQL 2013-03-13 12:44:24 +02:00
app_loading Merged regressiontests and modeltests into the test root. 2013-02-26 14:36:57 +01:00
backends Ran a test that closes the database connection outside of a transaction. 2013-03-11 19:42:59 +01:00
base Merged regressiontests and modeltests into the test root. 2013-02-26 14:36:57 +01:00
bash_completion Merged regressiontests and modeltests into the test root. 2013-02-26 14:36:57 +01:00
basic Revert "Fixed 19895 -- Made second iteration over invalid queryset raise an exception too" 2013-03-20 10:41:53 +01:00
bug639 Merged regressiontests and modeltests into the test root. 2013-02-26 14:36:57 +01:00
bug8245 Merged regressiontests and modeltests into the test root. 2013-02-26 14:36:57 +01:00
builtin_server Fixed #18972 -- Refactored bundled wsgi server's chunking algorithm. 2013-03-20 18:46:26 -04:00
bulk_create Merged regressiontests and modeltests into the test root. 2013-02-26 14:36:57 +01:00
cache [py3] Always fed hashlib with bytes. 2013-02-27 10:02:07 +01:00
choices Merged regressiontests and modeltests into the test root. 2013-02-26 14:36:57 +01:00
commands_sql Renamed some tests and removed references to modeltests/regressiontests. 2013-02-26 14:36:57 +01:00
comment_tests Remove a special case for comment tests from runtests.py. 2013-03-11 15:38:53 -05:00
conditional_processing Renamed some tests and removed references to modeltests/regressiontests. 2013-02-26 14:36:57 +01:00
contenttypes_tests Deprecated django.views.defaults.shortcut. 2013-03-14 20:30:23 +01:00
context_processors Renamed some tests and removed references to modeltests/regressiontests. 2013-02-26 14:36:57 +01:00
createsuperuser Merged regressiontests and modeltests into the test root. 2013-02-26 14:36:57 +01:00
csrf_tests Merged regressiontests and modeltests into the test root. 2013-02-26 14:36:57 +01:00
custom_columns Refs #18586 -- Split out long custom_columns lookup test into multiple tests. 2013-03-19 15:58:54 -07:00
custom_columns_regress Merged regressiontests and modeltests into the test root. 2013-02-26 14:36:57 +01:00
custom_managers Fixed #15363 -- Renamed and normalized to `get_queryset` the methods that return a QuerySet. 2013-03-08 10:11:45 -05:00
custom_managers_regress Fixed #15363 -- Renamed and normalized to `get_queryset` the methods that return a QuerySet. 2013-03-08 10:11:45 -05:00
custom_methods Merged regressiontests and modeltests into the test root. 2013-02-26 14:36:57 +01:00
custom_pk Merged regressiontests and modeltests into the test root. 2013-02-26 14:36:57 +01:00
datatypes Merged regressiontests and modeltests into the test root. 2013-02-26 14:36:57 +01:00
dates Merged regressiontests and modeltests into the test root. 2013-02-26 14:36:57 +01:00
datetimes Merged regressiontests and modeltests into the test root. 2013-02-26 14:36:57 +01:00
db_typecasts Merged regressiontests and modeltests into the test root. 2013-02-26 14:36:57 +01:00
decorators Merged regressiontests and modeltests into the test root. 2013-02-26 14:36:57 +01:00
defaultfilters Merged regressiontests and modeltests into the test root. 2013-02-26 14:36:57 +01:00
defer Merged regressiontests and modeltests into the test root. 2013-02-26 14:36:57 +01:00
defer_regress Merged regressiontests and modeltests into the test root. 2013-02-26 14:36:57 +01:00
delete Merged regressiontests and modeltests into the test root. 2013-02-26 14:36:57 +01:00
delete_regress Made transaction.managed a no-op and deprecated it. 2013-03-11 14:48:53 +01:00
deprecation Fixed #15363 -- Renamed and normalized to `get_queryset` the methods that return a QuerySet. 2013-03-08 10:11:45 -05:00
dispatch Merged regressiontests and modeltests into the test root. 2013-02-26 14:36:57 +01:00
distinct_on_fields Merged regressiontests and modeltests into the test root. 2013-02-26 14:36:57 +01:00
empty Renamed some tests and removed references to modeltests/regressiontests. 2013-02-26 14:36:57 +01:00
expressions Merged regressiontests and modeltests into the test root. 2013-02-26 14:36:57 +01:00
expressions_regress Merged regressiontests and modeltests into the test root. 2013-02-26 14:36:57 +01:00
extra_regress Merged regressiontests and modeltests into the test root. 2013-02-26 14:36:57 +01:00
field_defaults Merged regressiontests and modeltests into the test root. 2013-02-26 14:36:57 +01:00
field_subclassing Merged regressiontests and modeltests into the test root. 2013-02-26 14:36:57 +01:00
file_storage Renamed some tests and removed references to modeltests/regressiontests. 2013-02-26 14:36:57 +01:00
file_uploads Merged regressiontests and modeltests into the test root. 2013-02-26 14:36:57 +01:00
files Merged regressiontests and modeltests into the test root. 2013-02-26 14:36:57 +01:00
fixtures Fixed #15363 -- Renamed and normalized to `get_queryset` the methods that return a QuerySet. 2013-03-08 10:11:45 -05:00
fixtures_model_package Improved the API of set_autocommit. 2013-03-11 15:10:58 +01:00
fixtures_regress Improved the API of set_autocommit. 2013-03-11 15:10:58 +01:00
force_insert_update Merged regressiontests and modeltests into the test root. 2013-02-26 14:36:57 +01:00
forms_tests Fixed #20084 -- Provided option to validate formset max_num on server. 2013-03-21 01:27:24 -07:00
generic_inline_admin Renamed some tests and removed references to modeltests/regressiontests. 2013-02-26 14:36:57 +01:00
generic_relations Fixed #15363 -- Renamed and normalized to `get_queryset` the methods that return a QuerySet. 2013-03-08 10:11:45 -05:00
generic_relations_regress Merged regressiontests and modeltests into the test root. 2013-02-26 14:36:57 +01:00
generic_views Fixed #16319 -- added SuccessMessageMixin to contrib.messages 2013-03-19 21:02:55 -07:00
get_earliest_or_latest Merged regressiontests and modeltests into the test root. 2013-02-26 14:36:57 +01:00
get_object_or_404 Fixed #15363 -- Renamed and normalized to `get_queryset` the methods that return a QuerySet. 2013-03-08 10:11:45 -05:00
get_or_create Merged regressiontests and modeltests into the test root. 2013-02-26 14:36:57 +01:00
get_or_create_regress Merged regressiontests and modeltests into the test root. 2013-02-26 14:36:57 +01:00
handlers Deprecated TransactionMiddleware and TRANSACTIONS_MANAGED. 2013-03-11 15:04:05 +01:00
http_utils Merged regressiontests and modeltests into the test root. 2013-02-26 14:36:57 +01:00
httpwrappers Implemented persistent database connections. 2013-02-28 15:28:13 +01:00
i18n Fix #20058: Make compilemessages use stdout instead of stderr. 2013-03-16 19:48:40 +01:00
indexes Merged regressiontests and modeltests into the test root. 2013-02-26 14:36:57 +01:00
initial_sql_regress Merged regressiontests and modeltests into the test root. 2013-02-26 14:36:57 +01:00
inline_formsets Renamed some tests and removed references to modeltests/regressiontests. 2013-02-26 14:36:57 +01:00
inspectdb Merged regressiontests and modeltests into the test root. 2013-02-26 14:36:57 +01:00
introspection Add introspection support for BinaryField 2013-03-02 10:29:03 +01:00
invalid_models Renamed some tests and removed references to modeltests/regressiontests. 2013-02-26 14:36:57 +01:00
known_related_objects Merged regressiontests and modeltests into the test root. 2013-02-26 14:36:57 +01:00
logging_tests Renamed some tests and removed references to modeltests/regressiontests. 2013-02-26 14:36:57 +01:00
lookup Began implementing a shared set of test models to speed up tests. 2013-03-13 23:25:26 +01:00
m2m_and_m2o Merged regressiontests and modeltests into the test root. 2013-02-26 14:36:57 +01:00
m2m_intermediary Merged regressiontests and modeltests into the test root. 2013-02-26 14:36:57 +01:00
m2m_multiple Merged regressiontests and modeltests into the test root. 2013-02-26 14:36:57 +01:00
m2m_recursive Merged regressiontests and modeltests into the test root. 2013-02-26 14:36:57 +01:00
m2m_regress Merged regressiontests and modeltests into the test root. 2013-02-26 14:36:57 +01:00
m2m_signals Merged regressiontests and modeltests into the test root. 2013-02-26 14:36:57 +01:00
m2m_through Merged regressiontests and modeltests into the test root. 2013-02-26 14:36:57 +01:00
m2m_through_regress Merged regressiontests and modeltests into the test root. 2013-02-26 14:36:57 +01:00
m2o_recursive Merged regressiontests and modeltests into the test root. 2013-02-26 14:36:57 +01:00
mail Renamed some tests and removed references to modeltests/regressiontests. 2013-02-26 14:36:57 +01:00
managers_regress Fixed #15363 -- Renamed and normalized to `get_queryset` the methods that return a QuerySet. 2013-03-08 10:11:45 -05:00
many_to_many Merged regressiontests and modeltests into the test root. 2013-02-26 14:36:57 +01:00
many_to_one Merged regressiontests and modeltests into the test root. 2013-02-26 14:36:57 +01:00
many_to_one_null Merged regressiontests and modeltests into the test root. 2013-02-26 14:36:57 +01:00
many_to_one_regress Merged regressiontests and modeltests into the test root. 2013-02-26 14:36:57 +01:00
max_lengths Merged regressiontests and modeltests into the test root. 2013-02-26 14:36:57 +01:00
middleware Fixed tests that relied on MANAGERS not being empty. 2013-03-11 23:30:02 +01:00
middleware_exceptions Renamed some tests and removed references to modeltests/regressiontests. 2013-02-26 14:36:57 +01:00
model_fields Add a BinaryField model field 2013-03-02 10:29:02 +01:00
model_forms Began implementing a shared set of test models to speed up tests. 2013-03-13 23:25:26 +01:00
model_forms_regress Merged regressiontests and modeltests into the test root. 2013-02-26 14:36:57 +01:00
model_formsets Fixed #20084 -- Provided option to validate formset max_num on server. 2013-03-21 01:27:24 -07:00
model_formsets_regress Merged regressiontests and modeltests into the test root. 2013-02-26 14:36:57 +01:00
model_inheritance Fixed #16649 -- Refactored save_base logic 2013-03-14 11:01:47 +02:00
model_inheritance_regress Fixed #17502 -- Made joining in inheritance cases consistent 2013-03-15 11:06:26 +02:00
model_inheritance_same_model_name Renamed some tests and removed references to modeltests/regressiontests. 2013-02-26 14:36:57 +01:00
model_inheritance_select_related Merged regressiontests and modeltests into the test root. 2013-02-26 14:36:57 +01:00
model_package Merged regressiontests and modeltests into the test root. 2013-02-26 14:36:57 +01:00
model_permalink Renamed some tests and removed references to modeltests/regressiontests. 2013-02-26 14:36:57 +01:00
model_regress Merged regressiontests and modeltests into the test root. 2013-02-26 14:36:57 +01:00
modeladmin Fixed #15363 -- Renamed and normalized to `get_queryset` the methods that return a QuerySet. 2013-03-08 10:11:45 -05:00
multiple_database Merged regressiontests and modeltests into the test root. 2013-02-26 14:36:57 +01:00
mutually_referential Merged regressiontests and modeltests into the test root. 2013-02-26 14:36:57 +01:00
nested_foreign_keys Merged regressiontests and modeltests into the test root. 2013-02-26 14:36:57 +01:00
null_fk Merged regressiontests and modeltests into the test root. 2013-02-26 14:36:57 +01:00
null_fk_ordering Merged regressiontests and modeltests into the test root. 2013-02-26 14:36:57 +01:00
null_queries Merged regressiontests and modeltests into the test root. 2013-02-26 14:36:57 +01:00
one_to_one Merged regressiontests and modeltests into the test root. 2013-02-26 14:36:57 +01:00
one_to_one_regress Merged regressiontests and modeltests into the test root. 2013-02-26 14:36:57 +01:00
or_lookups Merged regressiontests and modeltests into the test root. 2013-02-26 14:36:57 +01:00
order_with_respect_to Merged regressiontests and modeltests into the test root. 2013-02-26 14:36:57 +01:00
ordering Merged regressiontests and modeltests into the test root. 2013-02-26 14:36:57 +01:00
pagination Merged regressiontests and modeltests into the test root. 2013-02-26 14:36:57 +01:00
prefetch_related Fixed #15363 -- Renamed and normalized to `get_queryset` the methods that return a QuerySet. 2013-03-08 10:11:45 -05:00
properties Merged regressiontests and modeltests into the test root. 2013-02-26 14:36:57 +01:00
proxy_model_inheritance Merged regressiontests and modeltests into the test root. 2013-02-26 14:36:57 +01:00
proxy_models Fixed #15363 -- Renamed and normalized to `get_queryset` the methods that return a QuerySet. 2013-03-08 10:11:45 -05:00
queries Added tests for already fixed #20101 2013-03-21 00:43:26 +02:00
queryset_pickle Merged regressiontests and modeltests into the test root. 2013-02-26 14:36:57 +01:00
raw_query Merged regressiontests and modeltests into the test root. 2013-02-26 14:36:57 +01:00
requests Made transaction.managed a no-op and deprecated it. 2013-03-11 14:48:53 +01:00
reserved_names Merged regressiontests and modeltests into the test root. 2013-02-26 14:36:57 +01:00
resolve_url Merged regressiontests and modeltests into the test root. 2013-02-26 14:36:57 +01:00
reverse_lookup Merged regressiontests and modeltests into the test root. 2013-02-26 14:36:57 +01:00
reverse_single_related Fixed #15363 -- Renamed and normalized to `get_queryset` the methods that return a QuerySet. 2013-03-08 10:11:45 -05:00
save_delete_hooks Merged regressiontests and modeltests into the test root. 2013-02-26 14:36:57 +01:00
select_for_update Made transaction.managed a no-op and deprecated it. 2013-03-11 14:48:53 +01:00
select_related Merged regressiontests and modeltests into the test root. 2013-02-26 14:36:57 +01:00
select_related_onetoone Merged regressiontests and modeltests into the test root. 2013-02-26 14:36:57 +01:00
select_related_regress Merged regressiontests and modeltests into the test root. 2013-02-26 14:36:57 +01:00
serializers Made transaction.managed a no-op and deprecated it. 2013-03-11 14:48:53 +01:00
serializers_regress Added support for serializing BinaryField 2013-03-02 10:29:02 +01:00
servers Renamed some tests and removed references to modeltests/regressiontests. 2013-02-26 14:36:57 +01:00
settings_tests Merged regressiontests and modeltests into the test root. 2013-02-26 14:36:57 +01:00
shared_models Began implementing a shared set of test models to speed up tests. 2013-03-13 23:25:26 +01:00
signals Merged regressiontests and modeltests into the test root. 2013-02-26 14:36:57 +01:00
signals_regress Began implementing a shared set of test models to speed up tests. 2013-03-13 23:25:26 +01:00
signed_cookies_tests Merged regressiontests and modeltests into the test root. 2013-02-26 14:36:57 +01:00
signing Merged regressiontests and modeltests into the test root. 2013-02-26 14:36:57 +01:00
sites_framework Merged regressiontests and modeltests into the test root. 2013-02-26 14:36:57 +01:00
special_headers Renamed some tests and removed references to modeltests/regressiontests. 2013-02-26 14:36:57 +01:00
staticfiles_tests Renamed some tests and removed references to modeltests/regressiontests. 2013-02-26 14:36:57 +01:00
str Merged regressiontests and modeltests into the test root. 2013-02-26 14:36:57 +01:00
string_lookup Merged regressiontests and modeltests into the test root. 2013-02-26 14:36:57 +01:00
swappable_models Renamed some tests and removed references to modeltests/regressiontests. 2013-02-26 14:36:57 +01:00
syndication Renamed some tests and removed references to modeltests/regressiontests. 2013-02-26 14:36:57 +01:00
tablespaces Merged regressiontests and modeltests into the test root. 2013-02-26 14:36:57 +01:00
template_tests Fixed #13260 -- Quoted arguments interpolated in URLs in reverse. 2013-03-18 23:58:22 +01:00
templates Renamed some tests and removed references to modeltests/regressiontests. 2013-02-26 14:36:57 +01:00
test_client Removed mentions of modeltests. 2013-03-03 18:44:06 -03:00
test_client_regress Renamed some tests and removed references to modeltests/regressiontests. 2013-02-26 14:36:57 +01:00
test_runner Changed test_runner tests to use full python path for settings files. 2013-02-26 16:02:24 +01:00
test_utils Added a context manager to capture queries while testing. 2013-03-02 02:41:14 -05:00
text Merged regressiontests and modeltests into the test root. 2013-02-26 14:36:57 +01:00
timezones Renamed some tests and removed references to modeltests/regressiontests. 2013-02-26 14:36:57 +01:00
transactions Made atomic usable when autocommit is off. 2013-03-13 15:17:40 +01:00
transactions_regress Removed debug code 2013-03-17 11:31:15 +02:00
unmanaged_models Merged regressiontests and modeltests into the test root. 2013-02-26 14:36:57 +01:00
update Merged regressiontests and modeltests into the test root. 2013-02-26 14:36:57 +01:00
update_only_fields Merged regressiontests and modeltests into the test root. 2013-02-26 14:36:57 +01:00
urlpatterns_reverse Fixed #13260 -- Quoted arguments interpolated in URLs in reverse. 2013-03-18 23:58:22 +01:00
user_commands Made (make|compile)messages check for availability of gettext commands. 2013-03-10 17:31:11 -03:00
utils_tests Fixed #19456 -- Avoid infinite recursion when tracing LazyObject.__init__. 2013-03-18 11:22:43 +01:00
validation Add a specific error message for URLValidator 2013-03-14 15:26:30 +01:00
validators Merged regressiontests and modeltests into the test root. 2013-02-26 14:36:57 +01:00
version Merged regressiontests and modeltests into the test root. 2013-02-26 14:36:57 +01:00
view_tests Deprecated django.views.defaults.shortcut. 2013-03-14 20:30:23 +01:00
wsgi Implemented persistent database connections. 2013-02-28 15:28:13 +01:00
.coveragerc Adjusted coveragerc 2013-02-26 14:36:57 +01:00
runtests.py Merge pull request #900 from bmispelon/ticket-20022 2013-03-13 22:39:25 +01: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