From: Jeremy Stanley Date: Sat, 19 Sep 2020 14:32:11 +0000 (+0000) Subject: Explicitly close files opened by selftest X-Git-Tag: 0.2.1~1 X-Git-Url: https://mudpy.org/gitweb?p=mudpy.git;a=commitdiff_plain;h=ed9b25ba4a86c6e969d35f053b69ae2ed5b1990f 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. --- 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)