Skip to content

Commit e690762

Browse files
fix
1 parent e682f3f commit e690762

1 file changed

Lines changed: 4 additions & 9 deletions

File tree

tests/panels/test_profiling.py

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import sys
44
import tempfile
55
import unittest
6+
from unittest import mock
67

78
from django.contrib.auth.models import User
89
from 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

Comments
 (0)