33import sys
44import tempfile
55import unittest
6+ from unittest import mock
67
78from django .contrib .auth .models import User
89from django .core import signing
@@ -84,8 +85,7 @@ def test_generate_stats_no_profiler(self):
8485 self .assertIsNone (self .panel .generate_stats (self .request , response ))
8586
8687 def test_generate_stats_signed_path (self ):
87- tmpdir = tempfile .mkdtemp ()
88- try :
88+ with tempfile .TemporaryDirectory () as tmpdir :
8989 with self .settings (DEBUG_TOOLBAR_CONFIG = {"PROFILER_PROFILE_ROOT" : tmpdir }):
9090 response = self .panel .process_request (self .request )
9191 self .panel .generate_stats (self .request , response )
@@ -94,8 +94,6 @@ def test_generate_stats_signed_path(self):
9494 # Check that it's a valid signature
9595 filename = signing .loads (path )
9696 self .assertTrue (filename .endswith (".prof" ))
97- finally :
98- shutil .rmtree (tmpdir )
9997
10098 def test_generate_stats_no_root (self ):
10199 response = self .panel .process_request (self .request )
@@ -114,11 +112,10 @@ def test_generate_stats_no_root_func(self):
114112 self .panel .generate_stats (self .request , response )
115113 self .assertNotIn ("func_list" , self .panel .get_stats ())
116114
117- @unittest . mock .patch ("cProfile.Profile.dump_stats" )
115+ @mock .patch ("cProfile.Profile.dump_stats" )
118116 def test_generate_stats_oserror (self , mock_dump_stats ):
119117 mock_dump_stats .side_effect = OSError
120- tmpdir = tempfile .mkdtemp ()
121- try :
118+ with tempfile .TemporaryDirectory () as tmpdir :
122119 with self .settings (DEBUG_TOOLBAR_CONFIG = {"PROFILER_PROFILE_ROOT" : tmpdir }):
123120 response = self .panel .process_request (self .request )
124121 with self .assertLogs (
@@ -128,8 +125,6 @@ def test_generate_stats_oserror(self, mock_dump_stats):
128125 self .assertIn ("Failed to dump profiling stats" , cm .output [0 ])
129126 # Ensure prof_file_path is not set/updated if dump fails
130127 self .assertFalse (hasattr (self .panel , "prof_file_path" ))
131- finally :
132- shutil .rmtree (tmpdir )
133128
134129
135130@override_settings (
0 commit comments