diff options
author | Christoph Reiter <reiter.christoph@gmail.com> | 2018-08-15 17:24:11 +0200 |
---|---|---|
committer | Christoph Reiter <reiter.christoph@gmail.com> | 2018-08-15 22:32:40 +0200 |
commit | d6c5d15941acc181f18c034b1c9c26150dd5bd41 (patch) | |
tree | cb58908f07c2577beff6d48935a931ff546b2a0b | |
parent | 83fd35d8bb25b688a9c6dd33fb83743bd340d666 (diff) | |
download | pygobject-d6c5d15941acc181f18c034b1c9c26150dd5bd41.tar.gz |
tests: don't leak the file object returned by imp.find_module()
-rw-r--r-- | tests/__init__.py | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/tests/__init__.py b/tests/__init__.py index 8b5f1111..1611db33 100644 --- a/tests/__init__.py +++ b/tests/__init__.py @@ -19,8 +19,12 @@ class GIImport: def load_module(self, name): if name in sys.modules: return sys.modules[name] - module_info = imp.find_module(name.split('.')[-1]) - module = imp.load_module(name, *module_info) + fp, pathname, description = imp.find_module(name.split('.')[-1]) + try: + module = imp.load_module(name, fp, pathname, description) + finally: + if fp: + fp.close() sys.modules[name] = module return module |