diff options
author | Anthony Zhang <azhang9@gmail.com> | 2017-02-22 07:23:30 (GMT) |
---|---|---|
committer | INADA Naoki <methane@users.noreply.github.com> | 2017-02-22 07:23:30 (GMT) |
commit | 03f68b60e17b57f6f13729ff73245dbb37b30a4c (patch) | |
tree | 59dc7d31f6b135159861f2e8af6e511a58340b96 /Lib/test/test_aifc.py | |
parent | 0899b9809547ec2894dcf88cf4bba732c5d47d0d (diff) | |
download | cpython-03f68b60e17b57f6f13729ff73245dbb37b30a4c.zip cpython-03f68b60e17b57f6f13729ff73245dbb37b30a4c.tar.gz cpython-03f68b60e17b57f6f13729ff73245dbb37b30a4c.tar.bz2 |
bpo-29110: Fix file object leak in `aifc.open` when given invalid AIFF file. (GH-162)
Diffstat (limited to 'Lib/test/test_aifc.py')
-rw-r--r-- | Lib/test/test_aifc.py | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/Lib/test/test_aifc.py b/Lib/test/test_aifc.py index 1bd1f89..989df93 100644 --- a/Lib/test/test_aifc.py +++ b/Lib/test/test_aifc.py @@ -1,4 +1,4 @@ -from test.support import findfile, TESTFN, unlink +from test.support import check_no_resource_warning, findfile, TESTFN, unlink import unittest from test import audiotests from audioop import byteswap @@ -149,6 +149,14 @@ class AifcMiscTest(audiotests.AudioTests, unittest.TestCase): #This file contains chunk types aifc doesn't recognize. self.f = aifc.open(findfile('Sine-1000Hz-300ms.aif')) + def test_close_opened_files_on_error(self): + non_aifc_file = findfile('pluck-pcm8.wav', subdir='audiodata') + with check_no_resource_warning(self): + with self.assertRaises(aifc.Error): + # Try opening a non-AIFC file, with the expectation that + # `aifc.open` will fail (without raising a ResourceWarning) + f = self.f = aifc.open(non_aifc_file, 'rb') + def test_params_added(self): f = self.f = aifc.open(TESTFN, 'wb') f.aiff() |