From ed9b25ba4a86c6e969d35f053b69ae2ed5b1990f Mon Sep 17 00:00:00 2001 From: Jeremy Stanley Date: Sat, 19 Sep 2020 14:32:11 +0000 Subject: [PATCH] Explicitly close files opened by selftest Newer Python interpreters emit a warning during cleanup if open files are not closed prior to termination. Our selftest opens the pidfile for reading in a couple of places, as well as logfiles to capture stdout/stderr. Open them in context blocks so they will be closed on return rather than remaining open until the process ends. --- mudpy/tests/selftest.py | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/mudpy/tests/selftest.py b/mudpy/tests/selftest.py index 6e130c3..b1eb7cf 100644 --- a/mudpy/tests/selftest.py +++ b/mudpy/tests/selftest.py @@ -429,8 +429,8 @@ dialogue = ( def start_service(config): # Clean up any previously run daemon which didn't terminate if os.path.exists(pidfile): - pidfd = open(pidfile) - pid = int(pidfd.read()) + with open(pidfile) as pidfd: + pid = int(pidfd.read()) try: # Stop the running service os.kill(pid, 15) @@ -473,8 +473,8 @@ def stop_service(service): # This cleans up a daemonized and disassociated service if os.path.exists(pidfile): - pidfd = open(pidfile) - pid = int(pidfd.read()) + with open(pidfile) as pidfd: + pid = int(pidfd.read()) try: # Stop the running service os.kill(pid, 15) @@ -490,11 +490,11 @@ def stop_service(service): # Log the contents of stdout and stderr, if any stdout, stderr = service.communicate() tlog("\nRecording stdout as capture_stdout.log.") - serviceout = open("capture_stdout.log", "w") - serviceout.write(stdout.decode("utf-8")) + with open("capture_stdout.log", "w") as serviceout: + serviceout.write(stdout.decode("utf-8")) tlog("\nRecording stderr as capture_stderr.log.") - serviceerr = open("capture_stderr.log", "w") - serviceerr.write(stderr.decode("utf-8")) + with open("capture_stderr.log", "w") as serviceerr: + serviceerr.write(stderr.decode("utf-8")) return(success) -- 2.11.0