>From e8db1d70d21858bba4cbc0881eff745b4a534715 Mon Sep 17 00:00:00 2001
From: Tshepang Lekhonkhobe <tshep...@gmail.com>
Date: Wed, 4 May 2011 13:34:20 +0200
Subject: [PATCH 1/2] test_changelog.py: close open files

---
 tests/test_changelog.py |   71 ++++++++++++++++++++++++++++++++++------------
 1 files changed, 52 insertions(+), 19 deletions(-)

diff --git a/tests/test_changelog.py b/tests/test_changelog.py
index 84f7a02..65e7d66 100755
--- a/tests/test_changelog.py
+++ b/tests/test_changelog.py
@@ -34,7 +34,9 @@ import changelog
 class ChangelogTests(unittest.TestCase):
 
     def test_create_changelog(self):
-        c = open('test_changelog').read()
+        f = open('test_changelog')
+        c = f.read()
+        f.close()
         cl = changelog.Changelog(c)
         cs = str(cl)
         clines = c.split('\n')
@@ -44,7 +46,9 @@ class ChangelogTests(unittest.TestCase):
         self.assertEqual(len(clines), len(cslines), "Different lengths")
 
     def test_create_changelog_single_block(self):
-        c = open('test_changelog').read()
+        f = open('test_changelog')
+        c = f.read()
+        f.close()
         cl = changelog.Changelog(c, max_blocks=1)
         cs = str(cl)
         self.assertEqual(cs,
@@ -64,7 +68,9 @@ class ChangelogTests(unittest.TestCase):
 """)
 
     def test_modify_changelog(self):
-        c = open('test_modify_changelog1').read()
+        f = open('test_modify_changelog1')
+        c = f.read()
+        f.close()
         cl = changelog.Changelog(c)
         cl.package = 'gnutls14'
         cl.version = '1:1.4.1-2'
@@ -73,7 +79,9 @@ class ChangelogTests(unittest.TestCase):
         cl.add_change('  * Add magic foo')
         cl.author = 'James Westby <jw+deb...@jameswestby.net>'
         cl.date = 'Sat, 16 Jul 2008 11:11:08 -0200'
-        c = open('test_modify_changelog2').read()
+        f = open('test_modify_changelog2')
+        c = f.read()
+        f.close()
         clines = c.split('\n')
         cslines = str(cl).split('\n')
         for i in range(len(clines)):
@@ -81,7 +89,9 @@ class ChangelogTests(unittest.TestCase):
         self.assertEqual(len(clines), len(cslines), "Different lengths")
 
     def test_add_changelog_section(self):
-        c = open('test_modify_changelog2').read()
+        f = open('test_modify_changelog2')
+        c = f.read()
+        f.close()
         cl = changelog.Changelog(c)
         cl.new_block(package='gnutls14',
                 version=changelog.Version('1:1.4.1-3'),
@@ -96,7 +106,9 @@ class ChangelogTests(unittest.TestCase):
         cl.add_change('  * Foo did not work, let us try bar')
         cl.add_change('')
 
-        c = open('test_modify_changelog3').read()
+        f = open('test_modify_changelog3')
+        c = f.read()
+        f.close()
         clines = c.split('\n')
         cslines = str(cl).split('\n')
         for i in range(len(clines)):
@@ -105,13 +117,17 @@ class ChangelogTests(unittest.TestCase):
 
     def test_strange_changelogs(self):
         """ Just opens and parses a strange changelog """
-        c = open('test_strange_changelog').read()
+        f = open('test_strange_changelog')
+        c = f.read()
+        f.close()
         cl = changelog.Changelog(c)
 
     def test_set_version_with_string(self):
-        c1 = changelog.Changelog(open('test_modify_changelog1').read())
-        c2 = changelog.Changelog(open('test_modify_changelog1').read())
-
+        f = open('test_modify_changelog1')
+        c1 = changelog.Changelog(f.read())
+        f.seek(0)
+        c2 = changelog.Changelog(f.read())
+        f.close()
         c1.version = '1:2.3.5-2'
         c2.version = changelog.Version('1:2.3.5-2')
         self.assertEqual(c1.version, c2.version)
@@ -136,7 +152,9 @@ class ChangelogTests(unittest.TestCase):
         self.assertRaises(changelog.ChangelogParseError, c2.parse_changelog, cl_no_author)
 
     def test_magic_version_properties(self):
-        c = changelog.Changelog(open('test_changelog'))
+        f = open('test_changelog')
+        c = changelog.Changelog(f)
+        f.close()
         self.assertEqual(c.debian_version, '1')
         self.assertEqual(c.full_version, '1:1.4.1-1')
         self.assertEqual(c.upstream_version, '1.4.1')
@@ -144,7 +162,9 @@ class ChangelogTests(unittest.TestCase):
         self.assertEqual(str(c.version), c.full_version)
 
     def test_allow_full_stops_in_distribution(self):
-        c = changelog.Changelog(open('test_changelog_full_stops'))
+        f = open('test_changelog_full_stops')
+        c = changelog.Changelog(f)
+        f.close()
         self.assertEqual(c.debian_version, None)
         self.assertEqual(c.full_version, '1.2.3')
         self.assertEqual(str(c.version), c.full_version)
@@ -153,15 +173,20 @@ class ChangelogTests(unittest.TestCase):
         # The parsing of the changelog (including the string representation)
         # should be consistent whether we give a single string, a list of
         # lines, or a file object to the Changelog initializer
-        cl_data = open('test_changelog').read()
-        c1 = changelog.Changelog(open('test_changelog'))
+        f = open('test_changelog')
+        cl_data = f.read()
+        f.seek(0)
+        c1 = changelog.Changelog(f)
+        f.close()
         c2 = changelog.Changelog(cl_data)
         c3 = changelog.Changelog(cl_data.splitlines())
         for c in (c1, c2, c3):
             self.assertEqual(str(c), cl_data)
 
     def test_utf8_encoded_file_input(self):
-        c = changelog.Changelog(open('test_changelog_unicode'))
+        f = open('test_changelog_unicode')
+        c = changelog.Changelog(f)
+        f.close()
         u = unicode(c)
         expected_u = u"""haskell-src-exts (1.8.2-3) unstable; urgency=low
 
@@ -179,14 +204,18 @@ haskell-src-exts (1.8.2-2) unstable; urgency=low
         self.assertEquals(str(c), u.encode('utf-8'))
 
     def test_unicode_object_input(self):
-        c_str = open('test_changelog_unicode').read()
+        f = open('test_changelog_unicode')
+        c_str = f.read()
+        f.close()
         c_unicode = c_str.decode('utf-8')
         c = changelog.Changelog(c_unicode)
         self.assertEqual(unicode(c), c_unicode)
         self.assertEqual(str(c), c_str)
 
     def test_non_utf8_encoding(self):
-        c_str = open('test_changelog_unicode').read()
+        f = open('test_changelog_unicode')
+        c_str = f.read()
+        f.close()
         c_unicode = c_str.decode('utf-8')
         c_latin1_str = c_unicode.encode('latin1')
         c = changelog.Changelog(c_latin1_str, encoding='latin1')
@@ -196,11 +225,15 @@ haskell-src-exts (1.8.2-2) unstable; urgency=low
             self.assertEqual(str(block), unicode(block).encode('latin1'))
 
     def test_block_iterator(self):
-        c = changelog.Changelog(open('test_changelog'))
+        f = open('test_changelog')
+        c = changelog.Changelog(f)
+        f.close()
         self.assertEqual(map(str, c._blocks), map(str, c))
 
     def test_len(self):
-        c = changelog.Changelog(open('test_changelog'))
+        f = open('test_changelog')
+        c = changelog.Changelog(f)
+        f.close()
         self.assertEqual(len(c._blocks), len(c))
 
 class VersionTests(unittest.TestCase):
-- 
1.7.5.1

Reply via email to