I just ran across this bug too, but not until I worked out a different
patch. ;)

I'd be fine with Neil's patch, or deleting the test entirely.  In the
attached, I only assert that the SystemError is raised, but not what the
exception message is.

The other change is to close a small (possibly only theoretical) hole which
could leak the temporary file.  Ideally, this should probably use a
with-statement and tempfile.NamedTemporaryFile.
diff --git a/tests/test_deb822.py b/tests/test_deb822.py
index 698366b..33c569d 100755
--- a/tests/test_deb822.py
+++ b/tests/test_deb822.py
@@ -911,16 +911,17 @@ Description: python modules to work with Debian-related data formats
 
         See also https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=750247#35
         """
-        fd, filename = tempfile.mkstemp()
-        fp = os.fdopen(fd, 'wb')
-        fp.write(UNPARSED_PARAGRAPHS_WITH_COMMENTS.encode('utf-8'))
-        fp.close()
-
         try:
+            fd, filename = tempfile.mkstemp()
+            fp = os.fdopen(fd, 'wb')
+            fp.write(UNPARSED_PARAGRAPHS_WITH_COMMENTS.encode('utf-8'))
+            fp.close()
+
             with open_utf8(filename) as fh:
-                paragraphs = list(deb822.Deb822.iter_paragraphs(
-                    fh, use_apt_pkg=True))
-                self.assertEqual(paragraphs[0]['Build-Depends'], 'debhelper,')
+                self.assertRaises(SystemError,
+                                  list,
+                                  deb822.Deb822.iter_paragraphs(
+                                      fh, use_apt_pkg=True))
         finally:
             os.remove(filename)
 

Reply via email to