[Python-checkins] cpython (2.7): Issue #18919: Catch and check warnings in the aifc module tests.

serhiy.storchaka python-checkins at python.org
Mon Oct 14 19:06:35 CEST 2013


http://hg.python.org/cpython/rev/164a60cce934
changeset:   86367:164a60cce934
branch:      2.7
parent:      86365:64a1e224042e
user:        Serhiy Storchaka <storchaka at gmail.com>
date:        Mon Oct 14 20:03:06 2013 +0300
summary:
  Issue #18919: Catch and check warnings in the aifc module tests.

files:
  Lib/test/test_aifc.py |  16 ++++++++++++----
  1 files changed, 12 insertions(+), 4 deletions(-)


diff --git a/Lib/test/test_aifc.py b/Lib/test/test_aifc.py
--- a/Lib/test/test_aifc.py
+++ b/Lib/test/test_aifc.py
@@ -1,4 +1,5 @@
-from test.test_support import findfile, TESTFN, unlink, run_unittest
+from test.test_support import (findfile, TESTFN, unlink, captured_stdout,
+                               run_unittest)
 import unittest
 from test import audiotests
 import os
@@ -225,7 +226,10 @@
         b += 'COMM' + struct.pack('>LhlhhLL', 18, 0, 0, 0, 0, 0, 0)
         b += 'SSND' + struct.pack('>L', 8) + '\x00' * 8
         b += 'MARK' + struct.pack('>LhB', 3, 1, 1)
-        f = aifc.open(io.BytesIO(b))
+        with captured_stdout() as s:
+            f = aifc.open(io.BytesIO(b))
+        self.assertEqual(s.getvalue(), 'Warning: MARK chunk contains '
+                                       'only 0 markers instead of 1\n')
         self.assertEqual(f.getmarkers(), None)
 
     def test_read_comm_kludge_compname_even(self):
@@ -233,7 +237,9 @@
         b += 'COMM' + struct.pack('>LhlhhLL', 18, 0, 0, 0, 0, 0, 0)
         b += 'NONE' + struct.pack('B', 4) + 'even' + '\x00'
         b += 'SSND' + struct.pack('>L', 8) + '\x00' * 8
-        f = aifc.open(io.BytesIO(b))
+        with captured_stdout() as s:
+            f = aifc.open(io.BytesIO(b))
+        self.assertEqual(s.getvalue(), 'Warning: bad COMM chunk size\n')
         self.assertEqual(f.getcompname(), 'even')
 
     def test_read_comm_kludge_compname_odd(self):
@@ -241,7 +247,9 @@
         b += 'COMM' + struct.pack('>LhlhhLL', 18, 0, 0, 0, 0, 0, 0)
         b += 'NONE' + struct.pack('B', 3) + 'odd'
         b += 'SSND' + struct.pack('>L', 8) + '\x00' * 8
-        f = aifc.open(io.BytesIO(b))
+        with captured_stdout() as s:
+            f = aifc.open(io.BytesIO(b))
+        self.assertEqual(s.getvalue(), 'Warning: bad COMM chunk size\n')
         self.assertEqual(f.getcompname(), 'odd')
 
     def test_write_params_raises(self):

-- 
Repository URL: http://hg.python.org/cpython


More information about the Python-checkins mailing list