From becb3ffc1a6cc39fa506ec130c92dc4efac0234b Mon Sep 17 00:00:00 2001 From: Matthew Oliver Date: Thu, 15 Aug 2024 14:20:06 +1000 Subject: [PATCH] tests: Attempt to use configured tmp in xprofile tests My home server has more strict controls on /tmp as it run selinux etc. When running unittests and the default log_filename_prefix deep under /tmp gets permission denied. It would be better to override this setting in the tests with a good known tmp location Change-Id: I6c95ca3a0045a8f268802c6abb633bdfb0e56b73 --- test/unit/common/middleware/test_xprofile.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/test/unit/common/middleware/test_xprofile.py b/test/unit/common/middleware/test_xprofile.py index edc8fa4936..69e3fb45db 100644 --- a/test/unit/common/middleware/test_xprofile.py +++ b/test/unit/common/middleware/test_xprofile.py @@ -83,8 +83,12 @@ class TestProfileMiddleware(unittest.TestCase): @unittest.skipIf(xprofile is None, "can't import xprofile") def setUp(self): self.got_statuses = [] - self.app = ProfileMiddleware(FakeApp, {}) - self.tempdir = os.path.dirname(self.app.log_filename_prefix) + self.tempdir = tempfile.mkdtemp() + log_filename_prefix = os.path.join( + self.tempdir, + 'log/swift/profile/default.profile') + conf = {'log_filename_prefix': log_filename_prefix} + self.app = ProfileMiddleware(FakeApp, conf) self.pids = ['123', '456', str(os.getpid())] profiler = xprofile.get_profiler('eventlet.green.profile') for pid in self.pids: