Skip to content

Commit acaf00c

Browse files
committed
Fix unclosed file warnings discovered during tests
Appear as: ResourceWarning: unclosed file ... Always explicitly close files or detach file wrappers.
1 parent f882515 commit acaf00c

2 files changed

Lines changed: 9 additions & 5 deletions

File tree

sqlparse/cli.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -150,8 +150,11 @@ def main(args=None):
150150
if PY2:
151151
data = getreader(args.encoding)(sys.stdin).read()
152152
else:
153-
data = TextIOWrapper(
154-
sys.stdin.buffer, encoding=args.encoding).read()
153+
wrapper = TextIOWrapper(sys.stdin.buffer, encoding=args.encoding)
154+
try:
155+
data = wrapper.read()
156+
finally:
157+
wrapper.detach()
155158
else:
156159
try:
157160
with open(args.filename, 'r', args.encoding) as f:

tests/test_cli.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -115,9 +115,10 @@ def test_encoding_stdin_utf8(filepath, load_file, capfd):
115115
path = filepath('encoding_utf8.sql')
116116
expected = load_file('encoding_utf8.sql', 'utf-8')
117117
old_stdin = sys.stdin
118-
sys.stdin = open(path, 'r')
119-
sys.stdout.encoding = 'utf-8'
120-
sqlparse.cli.main(['-'])
118+
with open(path, 'r') as f:
119+
sys.stdin = f
120+
sys.stdout.encoding = 'utf-8'
121+
sqlparse.cli.main(['-'])
121122
sys.stdin = old_stdin
122123
out, _ = capfd.readouterr()
123124
assert out == expected

0 commit comments

Comments
 (0)