Grant Jenks
d38a3169a4
Fixed #28977 -- Changed local-memory cache to use LRU culling.
...
LRU culling turns every read into a kind of write to the cache: cache keys
are moved to the first position in the OrderedDict when they are retrieved.
The RWLock which permitted multiple readers while prioritizing a single
writer is obsolete since all accesses are now writes.
2018-01-24 12:26:19 -05:00
Adam Johnson
acc989f037
Fixed #28760 -- Removed DummyCache's unnecessary get/set/delete_many().
2017-10-31 12:16:09 -04:00
Adam Johnson
abacd09f07
Refs #27318 -- Made DummyCache.set_many() return a list for consistency with other backends.
2017-10-30 12:13:17 -04:00
Daniel Tao
4d60261b2a
Fixed #28601 -- Prevented cache.get_or_set() from caching None if default is a callable that returns None.
2017-10-10 09:20:34 -04:00
Tim Graham
48d57788ee
Refs #26447 -- Removed the USE_ETAGS setting per deprecation timeline.
2017-09-22 12:51:18 -04:00
Tim Graham
e47b56d791
Refs #20892 -- Removed support for passing pylibmc behavior settings as top-level attributes of CACHES['OPTIONS'].
...
Per deprecation timeline.
2017-09-22 12:51:17 -04:00
Olivier Tabone
a027447f56
Fixed #27318 -- Made cache.set_many() return the list of failed keys.
2017-09-06 14:38:44 -04:00
caleb logan
68f0e8d8b1
Fixed #28500 -- Fixed crash in FileBasedCache._is_expired() if the cache file is empty.
2017-09-03 20:11:49 -04:00
Chandrakant Kumar
f6800a081a
Refs #27787 -- Corrected or removed invalid call_command() options.
2017-06-16 11:06:01 -04:00
Jon Dufresne
21046e7773
Fixed #28249 -- Removed unnecessary dict.keys() calls.
...
iter(dict) is equivalent to iter(dict.keys()).
2017-05-27 19:08:46 -04:00
Bruno Alla
6092ea8fa6
Refs #27804 -- Used subTest() in several tests.
2017-05-24 08:36:34 -04:00
Tim Graham
6b4f018b2b
Replaced type-specific assertions with assertEqual().
...
Python docs say, "it's usually not necessary to invoke these methods directly."
2017-03-17 07:51:48 -04:00
Tim Graham
500532c95d
Refs #23919 -- Removed default 'utf-8' argument for str.encode()/decode().
2017-02-09 09:03:47 -05:00
Tim Graham
29f607927f
Fixed spelling of "nonexistent".
2017-02-03 08:01:45 -05:00
Tim Graham
1c466994d9
Refs #23919 -- Removed misc Python 2/3 references.
2017-01-25 13:59:25 -05:00
chillaranand
d6eaf7c018
Refs #23919 -- Replaced super(ClassName, self) with super().
2017-01-25 12:23:46 -05:00
Tim Graham
632c4ffd9c
Refs #23919 -- Replaced errno checking with PEP 3151 exceptions.
2017-01-25 10:13:08 -05:00
Claude Paroz
2366100872
Removed unneeded force_text calls in the test suite
2017-01-24 18:45:54 +01:00
Tim Graham
d170c63351
Refs #23919 -- Removed misc references to Python 2.
2017-01-21 20:02:00 -05:00
Tim Graham
7aba69145d
Refs #23919 -- Removed django.test.mock Python 2 compatibility shim.
2017-01-20 08:17:20 -05:00
Simon Charette
cecc079168
Refs #23919 -- Stopped inheriting from object to define new style classes.
2017-01-19 08:39:46 +01:00
Aymeric Augustin
a556396339
Refs #23919 -- Replaced io.open() with open().
...
io.open() is an alias for open() on Python 3.
2017-01-18 21:45:12 -05:00
Claude Paroz
2b281cc35e
Refs #23919 -- Removed most of remaining six usage
...
Thanks Tim Graham for the review.
2017-01-18 21:33:28 +01:00
Claude Paroz
c716fe8782
Refs #23919 -- Removed six.PY2/PY3 usage
...
Thanks Tim Graham for the review.
2017-01-18 16:21:28 +01:00
Claude Paroz
d7b9aaa366
Refs #23919 -- Removed encoding preambles and future imports
2017-01-18 09:55:19 +01:00
za
321e94fa41
Refs #27392 -- Removed "Tests that", "Ensures that", etc. from test docstrings.
2016-11-10 21:30:21 -05:00
Tim Graham
414ad25b09
Fixed #27327 -- Simplified time zone handling by requiring pytz.
2016-10-27 08:53:20 -04:00
Denis Cornehl
a840710e1e
Fixed #26447 -- Deprecated settings.USE_ETAGS in favor of ConditionalGetMiddleware.
2016-10-10 14:55:59 -04:00
Tim Graham
82f8996785
Refs #5133 -- Isolated test_close() cache test.
2016-09-15 08:59:39 -04:00
Rinat Khabibiev
f9702977b7
Fixed #27211 -- Made UpdateCacheMiddleware include caching headers for "304 Not Modified" responses.
2016-09-14 19:37:18 -04:00
Tim Graham
ef021412d5
Normalized spelling of ETag.
2016-09-09 11:00:21 -04:00
Ed Morley
f02dbbe1ae
Fixed #11331 -- Stopped closing pylibmc connections after each request.
...
libmemcached manages its own connections, so isn't affected by refs #5133 .
2016-09-02 14:44:27 -04:00
Ed Morley
3e935aec6d
Refs #5133 -- Tested memcached connection closing after each request.
2016-09-02 14:36:36 -04:00
Ed Morley
d8ef5b0e65
Fixed #27152 -- Supported comma delimiter in memcached LOCATION string.
2016-08-31 17:23:41 -04:00
Ed Morley
c8058dc241
Added a test for multiple memcached servers in LOCATION.
2016-08-31 17:16:11 -04:00
Ed Morley
65ec8fa8ca
Fixed #20892 -- Allowed configuring memcached client using OPTIONS.
...
Previously, the MemcachedCache backend ignored `OPTIONS` and
PyLibMCCache used them to set pylibmc behaviors. Both backends now
pass `OPTIONS` as keyword arguments to the client constructors.
2016-08-31 12:50:14 -04:00
Ed Morley
cf45bb02d7
Removed unused variable in test_memcached_uses_highest_pickle_version
2016-08-31 12:15:42 -04:00
Ed Morley
674e3fe13e
Fixed #19914 -- Fixed test failures with pylibmc.
2016-08-29 11:03:59 -04:00
Ed Morley
047c1d48a6
Fixed #27132 -- Allowed testing MemcachedCache and PyLibMCCache during the same test run.
2016-08-29 10:57:52 -04:00
Ed Morley
cfd1f93d55
Refs #19914 -- Split the test_invalid_keys cache test into two.
...
The first half of the test fails when using pylibmc (so will need
to be skipped).
2016-08-29 10:21:20 -04:00
Ed Morley
606a303856
Fixed #27124 -- Excluded cull-related cache configs from memcached tests.
...
Since the `cull` and `zero_cull` test cache configs set `MAX_ENTRIES`
and `CULL_FREQUENCY` in `OPTIONS`, which are only intended for use with
the locmem, filesystem, and database backends. This prevents test
failures once refs #20892 is fixed.
2016-08-26 14:29:22 -04:00
Dmitry Dygalo
ca32979cdc
Made miscellaneous code cleanups
2016-07-21 10:08:19 -04:00
Dmitry S..ky / skype: dvska-at-skype
82be474efa
Fixed #26792 -- Allowed None for the value of cache.get_or_set().
2016-07-11 20:49:27 -04:00
Tobias McNulty
17e661641d
Refs #26666 -- Added ALLOWED_HOSTS validation when running tests.
...
Also used ALLOWED_HOSTS to check for external hosts in assertRedirects().
2016-06-20 11:07:46 -04:00
Jon Dufresne
4f336f6652
Fixed #26747 -- Used more specific assertions in the Django test suite.
2016-06-16 14:19:18 -04:00
Jon Dufresne
779829662d
Fixed #26694 -- Made FileBasedCache.get() reraise non-ENOENT IOErrors.
2016-06-01 15:29:24 -04:00
Tim Graham
92053acbb9
Fixed E128 flake8 warnings in tests/.
2016-04-08 10:12:33 -04:00
Przemysław Suliga
90ce5d46bf
Fixed #26462 -- Fixed Python 2 UnicodeEncodeError when warning about long cache keys.
2016-04-05 11:16:04 -04:00
Przemysław Suliga
d356bb653f
Fixed #26460 -- Issued a single warning for invalid cache key
2016-04-04 15:20:55 -04:00
Przemysław Suliga
96ec67a7cf
Fixed #26332 -- Fixed a race condition in BaseCache.get_or_set().
2016-03-08 11:44:37 -05:00
George Marshall
75614f6d4c
Fixed #26331 -- Fixed test function names with typos
2016-03-07 11:58:21 +01:00
Hasan
3d0dcd7f5a
Refs #26022 -- Used context manager version of assertRaises in tests.
2016-01-29 12:32:18 -05:00
Emre Yilmaz
8e838d9c86
Fixed #25840 -- Fixed BaseCache.get_or_set() on the DummyCache backend.
...
This also fixes a possible data eviction race condition between
setting and getting a key. Another thread could remove the key
before get_and_set() accesses it again. In this case, now the
default value will be returned instead of None.
2015-12-04 12:22:17 -05:00
Dwight Gunning
1f29164ced
Fixed #6727 -- Made patch_cache_control() patch an empty Cache-Control header.
2015-11-09 14:26:29 -05:00
Tim Graham
bab9c09342
Fixed spelling of "unpicklable" in cache tests.
2015-10-21 11:56:30 -04:00
Andrew Artajos
48888a1a67
Fixed #25501 -- Made the file-based cache backend use the highest pickling protocol.
2015-10-20 13:05:33 -04:00
Dražen Odobašić
b1e33ceced
Fixed #23395 -- Limited line lengths to 119 characters.
2015-09-12 11:40:50 -04:00
Maxime Lorant
5153a3bfdc
Fixed #25331 -- Removed trailing blank lines in docstrings.
2015-08-31 17:37:21 -04:00
Adam Chainz
05239180c0
Removed unnecessary DBCacheTests.test_clear_commits_transaction test.
...
Was added in 44164c5c30
but the
transaction.commit_unless_managed() line was removed in
ba5138b1c0253fcf390b7509ad7b954117b3be88; thus the test does nothing
but check that clear() runs.
2015-08-31 09:14:06 -04:00
Simon Charette
be67400b47
Refs #24652 -- Used SimpleTestCase where appropriate.
2015-05-20 13:46:13 -04:00
Adam Chainz
5564d0f2ee
Fixed #24560 -- Added a --dry-run mode to the createcachetable command.
2015-04-09 12:15:50 -04:00
Berker Peksag
34fb909180
Fixed #12982 -- Added a get_or_set() method to the BaseCache backend.
2015-03-14 20:07:16 +02:00
Loic Bistuer
bed504d70b
Fixed #24351 , #24346 -- Changed the signature of allow_migrate().
...
The new signature enables better support for routing RunPython and
RunSQL operations, especially w.r.t. reusable and third-party apps.
This commit also takes advantage of the deprecation cycle for the old
signature to remove the backward incompatibility introduced in #22583 ;
RunPython and RunSQL won't call allow_migrate() when when the router
has the old signature.
Thanks Aymeric Augustin and Tim Graham for helping shape up the patch.
Refs 22583.
2015-02-20 21:34:09 +07:00
Tim Graham
0ed7d15563
Sorted imports with isort; refs #23860 .
2015-02-06 08:16:28 -05:00
darkryder
9ec8aa5e5d
Fixed #24149 -- Normalized tuple settings to lists.
2015-02-03 14:59:45 -05:00
Tim Graham
d038c547b5
Removed django.core.cache.get_cache() per deprecation timeline; refs #21012 .
2015-01-17 09:55:18 -05:00
Aymeric Augustin
79deb6a071
Accounted for multiple template engines in template responses.
2015-01-12 21:01:34 +01:00
Tim Graham
5c43fd4825
Isolated some cache tests; refs #23947 .
...
This reverts a change made in 40c60efecc
which was incorrect and caused CacheKeyWarnings.
2015-01-08 13:14:45 -05:00
Claude Paroz
51890ce889
Applied ignore_warnings to Django tests
2014-12-30 18:16:25 +01:00
Aymeric Augustin
92e8f1f302
Moved context_processors from django.core to django.template.
2014-12-28 17:00:07 +01:00
Jon Dufresne
4468c08d70
Fixed #23968 -- Replaced list comprehension with generators and dict comprehension
2014-12-08 07:58:23 -05:00
Tim Graham
40c60efecc
Refs #23947 -- Isolated some cache tests.
...
Thanks Diego Guimarãesi and Florian Apolloner.
2014-12-06 13:59:49 -05:00
wrwrwr
9136ceb6fb
Replaced router.routers usage with override_settings(DATABASE_ROUTERS); refs #23933 .
2014-12-01 11:34:15 -05:00
Michael Manfre
bc8abe36ba
Fixed #16358 - Made memcache backend delete old value on a failure to set.
...
Default Memcached configuration allows for a maximum object of 1MB and
will fail to set the key if it is too large. The key will be deleted from
memcached if it fails to be set. This is needed to avoid an issue with
cache_db session backend using the old value stored in memcached, instead
of the newer value stored in the database.
2014-11-13 00:46:03 -05:00
Thomas Chaumeny
d89f56dc4d
Fixed #21281 -- Made override_settings act at class level when used as a TestCase decorator.
2014-11-03 14:14:39 -05:00
Berker Peksag
f7969b0920
Fixed #23620 -- Used more specific assertions in the Django test suite.
2014-11-03 11:56:37 -05:00
Loic Bistuer
494ba051bb
Made testing of stdout and stderr more consistent.
...
Refs #23663 .
2014-10-22 09:25:50 +07:00
Loic Bistuer
968510e5d7
Moved a test case that caused deprecation warnings.
...
`cache.tests.TestEtagWithAdmin` loaded views from the `admin_views` test
package. This is problematic because when the `cache` test package is
run in isolation, `admin_views` isn't in INSTALLED_APPS, and therefore
loading its models isn't allowed since the app loading refactor.
2014-10-20 00:22:48 +07:00
Thomas Chaumeny
b2aad7b836
Replaced set([foo, ...]) by {foo, ...} literals. Refs PR 3282.
...
Thanks Collin Anderson for the review.
2014-09-29 00:01:38 +07:00
Claude Paroz
885ff6845e
Revert "Fixed #23384 -- Allowed overriding part of a dictionary-type setting"
...
This reverts commit 66757fee7e
.
Discussions have led to think that this functionality does not
bring significant benefits to justify the added complexity.
Read also discussions on ticket #22734 .
2014-09-05 20:06:02 +02:00
Aymeric Augustin
df251e033c
Fixed a PEP 8 error.
2014-08-30 13:27:56 +02:00
Claude Paroz
66757fee7e
Fixed #23384 -- Allowed overriding part of a dictionary-type setting
...
This change is needed for upcoming changes where settings might be
grouped in a parent dictionary.
Thanks Tim Graham for the review.
2014-08-30 12:37:10 +02:00
Claude Paroz
1d9596025e
Ensured cache tests do not leak temp dirs
...
Refs #17215 .
2014-06-23 14:06:04 +02:00
Vincent-Vega
4529af9ecf
Fixed #22845 -- Correctly handled memcached default timeout value.
2014-06-16 16:34:00 -04:00
Claude Paroz
35e1b1efab
Used more precise assertions in cache tests
2014-05-09 19:34:53 +02:00
Malcolm Box
66880e4cd1
Fixed #22606 -- Locmemcache has_key() failed for infinite cache expiry
...
Refactored cache expiry logic for Locmemcache to make consistent across
all places where accessed, and correctly handle None as expiry time.
2014-05-09 18:35:07 +02:00
Malcolm Box
af5f688392
Fixed #22495 -- Locmem cache.add() failed with infinite timeouts
...
cache.add() incorrectly succeeded when there was an existing key
with an infinite (None) timeout.
2014-04-23 14:49:46 +02:00
Aymeric Augustin
c083e3815a
Prevented leaking the CSRF token through caching.
...
This is a security fix. Disclosure will follow shortly.
2014-04-21 18:11:26 -04:00
Aymeric Augustin
428c0bbe1b
Appeased flake8 2.1.0.
2014-04-21 12:27:34 +02:00
Anubhav Joshi
cd914e31c9
Fixed #21977 -- Deprecated SimpleTestCase.urls
2014-04-06 17:33:43 -04:00
Aymeric Augustin
232181d1c5
Advanced deprecation warnings for 1.8.
2014-03-22 21:12:58 +01:00
Aymeric Augustin
0757e0f30d
Avoided transactional DDL on castrated databases.
...
Fixed a test failure that appeared after 753a22a6
, although the bug
existed before that commit.
Refs #22308 .
2014-03-22 11:05:14 +01:00
Aymeric Augustin
753a22a635
Fixed transaction handling in two management commands.
...
Previously, when createcachetable and flush operated on non-default
databases, they weren't atomic.
2014-03-21 21:29:51 +01:00
Tim Graham
f567d04b24
Removed settings.CACHE_MIDDLEWARE_ANONYMOUS_ONLY per deprecation timeline.
...
refs #15201 .
2014-03-21 09:46:17 -04:00
Claude Paroz
c564277937
Fixed #22237 -- Removed some warnings in the test suite
...
Thanks Aymeric Augustin for the report.
2014-03-09 22:10:49 +01:00
Baptiste Mispelon
5a5815d373
Fixed incorrect docstring in cache tests (take two)
...
3e25c8ac69
was an incomplete
merge of the pull request.
Thanks to @ramast for catching this.
2014-03-05 07:35:07 +01:00
ramast
3e25c8ac69
Fixed incorrect docstring in cache tests
2014-03-04 21:50:21 +01:00
zedr
6fe22b30e0
Fixed #22085 -- Added a feature for setting non-expiring keys as the default.
...
This feature allows the default `TIMEOUT` Cache argument to be set to `None`,
so that cache instances can set a non-expiring key as the default,
instead of using the default value of 5 minutes.
Previously, this was possible only by passing `None` as an argument to
the set() method of objects of type `BaseCache` (and subtypes).
2014-03-04 21:16:35 +01:00
Rodolfo Carvalho
0d91225892
Fixed many typos in comments and docstrings.
...
Thanks Piotr Kasprzyk for help with the patch.
2014-03-03 07:38:09 -05:00
Tim Graham
6c5a30b4e7
Added tests for LocalMemCache deadlocks. refs #20613 and refs #18541 .
...
Thanks Zach Smith for the patch.
2014-02-08 05:49:27 -05:00