diff options
| author | Andi Albrecht <albrecht.andi@gmail.com> | 2017-11-21 11:34:34 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2017-11-21 11:34:34 +0100 |
| commit | 8d3c45f46efa6165d67eb4580cc152e8b2402f1d (patch) | |
| tree | 48a8f6022b722d9f23ed0c483d5f0ebf14c0d085 | |
| parent | f8825153da66289c021252f0b221c16302224a86 (diff) | |
| parent | acaf00cbaf32e7a14e39bcc0a5fd774a5385faa0 (diff) | |
| download | sqlparse-8d3c45f46efa6165d67eb4580cc152e8b2402f1d.tar.gz | |
Merge pull request #365 from jdufresne/unclosed
Fix unclosed file warnings discovered during tests
| -rwxr-xr-x | sqlparse/cli.py | 7 | ||||
| -rw-r--r-- | tests/test_cli.py | 7 |
2 files changed, 9 insertions, 5 deletions
diff --git a/sqlparse/cli.py b/sqlparse/cli.py index ad6bc7a..f73f5d4 100755 --- a/sqlparse/cli.py +++ b/sqlparse/cli.py @@ -150,8 +150,11 @@ def main(args=None): if PY2: data = getreader(args.encoding)(sys.stdin).read() else: - data = TextIOWrapper( - sys.stdin.buffer, encoding=args.encoding).read() + wrapper = TextIOWrapper(sys.stdin.buffer, encoding=args.encoding) + try: + data = wrapper.read() + finally: + wrapper.detach() else: try: with open(args.filename, 'r', args.encoding) as f: diff --git a/tests/test_cli.py b/tests/test_cli.py index 18c6fcb..485afd3 100644 --- a/tests/test_cli.py +++ b/tests/test_cli.py @@ -115,9 +115,10 @@ def test_encoding_stdin_utf8(filepath, load_file, capfd): path = filepath('encoding_utf8.sql') expected = load_file('encoding_utf8.sql', 'utf-8') old_stdin = sys.stdin - sys.stdin = open(path, 'r') - sys.stdout.encoding = 'utf-8' - sqlparse.cli.main(['-']) + with open(path, 'r') as f: + sys.stdin = f + sys.stdout.encoding = 'utf-8' + sqlparse.cli.main(['-']) sys.stdin = old_stdin out, _ = capfd.readouterr() assert out == expected |
