From 1e901d921db174d897d8732e9394f07effdad20d Mon Sep 17 00:00:00 2001 From: Philip Roche Date: Mon, 29 Jul 2019 16:40:33 +0100 Subject: Avoid ResourceWarning by closing file handlers when finished Warnings appear when running local_yaml unit tests. This commit fixes the issues causing these warnings ``` ResourceWarning: unclosed file <_io.TextIOWrapper name='jenkins-job-builder/tests/yamlparser/fixtures/include_path001.conf' mode='r' encoding='utf-8'> jjb_config = JJBConfig(self.conf_filename) ``` Change-Id: I8fec288cce8c9f6c7b928886d7c70f7a35d43b4a --- jenkins_jobs/config.py | 3 +++ tests/base.py | 3 ++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/jenkins_jobs/config.py b/jenkins_jobs/config.py index 6f146c19..2252392b 100644 --- a/jenkins_jobs/config.py +++ b/jenkins_jobs/config.py @@ -141,6 +141,9 @@ class JJBConfig(object): self._setup() self._handle_deprecated_hipchat_config() + if config_fp is not None: + config_fp.close() + def _init_defaults(self): """ Initialize default configuration values using DEFAULT_CONF """ diff --git a/tests/base.py b/tests/base.py index 514b83c4..b239f64e 100644 --- a/tests/base.py +++ b/tests/base.py @@ -137,7 +137,8 @@ class BaseTestCase(testtools.TestCase): # Read XML content, assuming it is unicode encoded xml_content = "" for f in sorted(self.out_filenames): - xml_content += u"%s" % io.open(f, 'r', encoding='utf-8').read() + with io.open(f, 'r', encoding='utf-8') as xml_file: + xml_content += u"%s" % xml_file.read() return xml_content def _read_yaml_content(self, filename): -- cgit