Skip to content

Commit e449a10

Browse files
committed
[lldb] fix fd leak during lldb testsuite
During lldb testing dotest.py opens files to dump testcase results, but doesn't close them. This patch makes neccessary changes to fix the file descriptors leak.
1 parent fedb9fd commit e449a10

File tree

1 file changed

+10
-9
lines changed

1 file changed

+10
-9
lines changed

lldb/packages/Python/lldbsuite/test/lldbtest.py

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -865,13 +865,9 @@ def setUp(self):
865865
session_file = self.getLogBasenameForCurrentTest() + ".log"
866866
self.log_files.append(session_file)
867867

868-
# Python 3 doesn't support unbuffered I/O in text mode. Open buffered.
869-
self.session = encoded_file.open(session_file, "utf-8", mode="w")
870-
871868
# Optimistically set __errored__, __failed__, __expected__ to False
872869
# initially. If the test errored/failed, the session info
873-
# (self.session) is then dumped into a session specific file for
874-
# diagnosis.
870+
# is then dumped into a session specific file for diagnosis.
875871
self.__cleanup_errored__ = False
876872
self.__errored__ = False
877873
self.__failed__ = False
@@ -1235,20 +1231,25 @@ def dumpSessionInfo(self):
12351231
else:
12361232
prefix = "Success"
12371233

1234+
session_file = self.getLogBasenameForCurrentTest() + ".log"
1235+
1236+
# Python 3 doesn't support unbuffered I/O in text mode. Open buffered.
1237+
session = encoded_file.open(session_file, "utf-8", mode="w")
1238+
12381239
if not self.__unexpected__ and not self.__skipped__:
12391240
for test, traceback in pairs:
12401241
if test is self:
1241-
print(traceback, file=self.session)
1242+
print(traceback, file=session)
12421243

12431244
import datetime
12441245

12451246
print(
12461247
"Session info generated @",
12471248
datetime.datetime.now().ctime(),
1248-
file=self.session,
1249+
file=session,
12491250
)
1250-
self.session.close()
1251-
del self.session
1251+
session.close()
1252+
del session
12521253

12531254
# process the log files
12541255
if prefix != "Success" or lldbtest_config.log_success:

0 commit comments

Comments
 (0)