]> granicus.if.org Git - python/commitdiff
bpo-34997: Fix test_logging.ConfigDictTest.test_out_of_order (GH-9913)
authorPablo Galindo <Pablogsal@gmail.com>
Tue, 16 Oct 2018 14:17:57 +0000 (15:17 +0100)
committerGitHub <noreply@github.com>
Tue, 16 Oct 2018 14:17:57 +0000 (15:17 +0100)
When runnint test_logging with --huntrleaks after commit
18fb1fb943b7dbd7f8a76017ee2a67ef13effb85, test_out_of_order fails
to raise ValueError due to the fact that the new test
test_out_of_order_with_dollar_style mutates the out_of_order
dictionary. Even if the test copies the dictionary first, the mutation
is done in a very deep level so the original one is also affected.

Lib/test/test_logging.py

index 9802955e6a985b1e22f7e7b1e3805753c28166cb..c797d66aa6452c1d01e8682be7973c595452bf82 100644 (file)
@@ -25,6 +25,7 @@ import logging.config
 
 import codecs
 import configparser
+import copy
 import datetime
 import pathlib
 import pickle
@@ -3278,7 +3279,7 @@ class ConfigDictTest(BaseTest):
         self.assertRaises(ValueError, self.apply_config, self.out_of_order)
 
     def test_out_of_order_with_dollar_style(self):
-        config = self.out_of_order.copy()
+        config = copy.deepcopy(self.out_of_order)
         config['formatters']['mySimpleFormatter']['format'] = "${asctime} (${name}) ${levelname}: ${message}"
 
         self.apply_config(config)