From 3cf80d3fcf7446afdde16a2be515c423f720e54d Mon Sep 17 00:00:00 2001 From: Simon Charette Date: Fri, 23 Nov 2018 21:22:09 -0500 Subject: Fixed #31395 -- Made setUpTestData enforce in-memory data isolation. Since it's introduction in Django 1.8 setUpTestData has been suffering from a documented but confusing caveat due to its sharing of attributes assigned during its execution with all test instances. By keeping track of class attributes assigned during the setUpTestData phase its possible to ensure only deep copies are provided to test instances on attribute retreival and prevent manual setUp gymnastic to work around the previous lack of in-memory data isolation. Thanks Adam Johnson for the extensive review. --- docs/internals/deprecation.txt | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'docs/internals') diff --git a/docs/internals/deprecation.txt b/docs/internals/deprecation.txt index e48356bed1..d4cc1d2d95 100644 --- a/docs/internals/deprecation.txt +++ b/docs/internals/deprecation.txt @@ -15,6 +15,10 @@ about each item can often be found in the release notes of two versions prior. See the :ref:`Django 3.2 release notes ` for more details on these changes. +* Support for assigning objects which don't support creating deep copies with + ``copy.deepcopy()`` to class attributes in ``TestCase.setUpTestData()`` will + be removed. + .. _deprecation-removed-in-4.0: 4.0 -- cgit v1.3