summaryrefslogtreecommitdiff
path: root/tests/test_apt_cache.py
diff options
context:
space:
mode:
authorMichael Vogt <michael.vogt@ubuntu.com>2012-10-15 11:17:34 +0200
committerMichael Vogt <michael.vogt@ubuntu.com>2012-10-15 11:17:34 +0200
commit7a7722a91bd80572daf5d5f7f377b7b189e533bf (patch)
treeb826f98ece581f626c80f8190f0754ae3b5c1e67 /tests/test_apt_cache.py
parentc2cf3de2f95a9d1dfa6def5db41f7508b83a5a8d (diff)
downloadpython-apt-7a7722a91bd80572daf5d5f7f377b7b189e533bf.tar.gz
add changelog for lp:~jconti/python-apt/closeable-cache and add new test "test_cache_close_download_fails"
Diffstat (limited to 'tests/test_apt_cache.py')
-rw-r--r--tests/test_apt_cache.py30
1 files changed, 23 insertions, 7 deletions
diff --git a/tests/test_apt_cache.py b/tests/test_apt_cache.py
index fc429cf3..c850cec2 100644
--- a/tests/test_apt_cache.py
+++ b/tests/test_apt_cache.py
@@ -16,6 +16,12 @@ import sys
import tempfile
import unittest
+if sys.version_info[0] == 2 and sys.version_info[1] == 6:
+ from unittest2 import TestCase
+else:
+ from unittest import TestCase
+
+
from test_all import get_library_dir
sys.path.insert(0, get_library_dir())
@@ -41,7 +47,7 @@ def get_open_file_descriptors():
return set(map(int, fds))
-class TestAptCache(unittest.TestCase):
+class TestAptCache(TestCase):
""" test the apt cache """
def setUp(self):
@@ -80,18 +86,28 @@ class TestAptCache(unittest.TestCase):
self.assertEqual(r['Package'], pkg.shortname)
self.assertTrue('Version' in r)
self.assertTrue(len(r['Description']) > 0)
- self.assertTrue(str(r).startswith('Package: %s\n' % pkg.shortname))
+ self.assertTrue(
+ str(r).startswith('Package: %s\n' % pkg.shortname))
@if_sources_list_is_readable
- def test_closeable_cache(self):
- fd_0 = get_open_file_descriptors()
+ def test_cache_close_leak_fd(self):
+ fds_before_open = get_open_file_descriptors()
cache = apt.Cache()
- opened_fd = get_open_file_descriptors().difference(fd_0)
+ opened_fd = get_open_file_descriptors().difference(fds_before_open)
cache.close()
- fd_1 = get_open_file_descriptors()
- unclosed_fd = opened_fd.intersection(fd_1)
+ fds_after_close = get_open_file_descriptors()
+ unclosed_fd = opened_fd.intersection(fds_after_close)
+ self.assertEqual(fds_before_open, fds_after_close)
self.assertEqual(unclosed_fd, set())
+ @if_sources_list_is_readable
+ def test_cache_close_download_fails(self):
+ cache = apt.Cache()
+ self.assertEqual(cache.required_download, 0)
+ cache.close()
+ with self.assertRaises(apt.cache.CacheClosedException):
+ cache.required_download
+
def test_get_provided_packages(self):
apt.apt_pkg.config.set("Apt::architecture", "i386")
cache = apt.Cache(rootdir="./data/test-provides/")