diff -r 9e61563edb67 Lib/formatter.py --- a/Lib/formatter.py Sun Aug 11 16:48:44 2013 -0700 +++ b/Lib/formatter.py Mon Aug 12 15:12:26 2013 +0800 @@ -427,18 +427,22 @@ def test(file = None): w = DumbWriter() f = AbstractFormatter(w) - if file is not None: - fp = open(file) - elif sys.argv[1:]: - fp = open(sys.argv[1]) - else: - fp = sys.stdin - for line in fp: - if line == '\n': - f.end_paragraph(1) + try: + if file is not None: + fp = open(file) + elif sys.argv[1:]: + fp = open(sys.argv[1]) else: - f.add_flowing_data(line) - f.end_paragraph(0) + fp = sys.stdin + for line in fp: + if line == '\n': + f.end_paragraph(1) + else: + f.add_flowing_data(line) + f.end_paragraph(0) + finally: + if fp is not sys.stdin: + fp.close() if __name__ == '__main__':