[Python-checkins] distutils2: Added an instantiation test for the Distribution class.

tarek.ziade python-checkins at python.org
Mon Apr 5 23:09:19 CEST 2010


tarek.ziade pushed a3691df563c3 to distutils2:

http://hg.python.org/distutils2/rev/a3691df563c3
changeset:   94:a3691df563c3
user:        pumazi
date:        Wed Mar 31 08:05:24 2010 -0400
summary:     Added an instantiation test for the Distribution class.
files:       src/distutils2/_backport/pkgutil.py, src/distutils2/_backport/tests/fake_dists/choxie-2009.dist-info/METADATA, src/distutils2/_backport/tests/test_pkgutil.py

diff --git a/src/distutils2/_backport/pkgutil.py b/src/distutils2/_backport/pkgutil.py
--- a/src/distutils2/_backport/pkgutil.py
+++ b/src/distutils2/_backport/pkgutil.py
@@ -608,6 +608,9 @@
 
     def __init__(self, path):
         self.path = path
+        metadata_path = os.path.join(path, 'METADATA')
+        self.metadata = DistributionMetadata(path=metadata_path)
+        self.name = self.metadata['name']
 
     def get_installed_files(self, local=False):
         """
diff --git a/src/distutils2/_backport/tests/fake_dists/choxie-2009.dist-info/METADATA b/src/distutils2/_backport/tests/fake_dists/choxie-2009.dist-info/METADATA
--- a/src/distutils2/_backport/tests/fake_dists/choxie-2009.dist-info/METADATA
+++ b/src/distutils2/_backport/tests/fake_dists/choxie-2009.dist-info/METADATA
@@ -0,0 +1,6 @@
+Metadata-Version: 1.2
+Name: choxie
+Version: 2009
+Summary: Chocolate with a kick!
+Requires-Dist: towel-stuff (0.1)
+Provides-Dist: truffles (1.0)
diff --git a/src/distutils2/_backport/tests/test_pkgutil.py b/src/distutils2/_backport/tests/test_pkgutil.py
--- a/src/distutils2/_backport/tests/test_pkgutil.py
+++ b/src/distutils2/_backport/tests/test_pkgutil.py
@@ -8,7 +8,37 @@
 
 import distutils2._backport.pkgutil
 
-class TestPkgUtil(unittest2.TestCase):
+
+class TestPkgUtilDistribution(unittest2.TestCase):
+    """Tests the pkgutil.Distribution class"""
+
+    # def setUp(self):
+    #     super(TestPkgUtil, self).setUp()
+
+    # def tearDown(self):
+    #     super(TestPkgUtil, self).tearDown()
+
+    def test_instantiation(self):
+        """Test the Distribution class's instantiation provides us with usable
+        attributes."""
+        # Import the Distribution class
+        from distutils2._backport.pkgutil import distinfo_dirname, Distribution
+
+        here = os.path.abspath(os.path.dirname(__file__))
+        name = 'choxie'
+        version = '2009'
+        dist_path = os.path.join(here, 'fake_dists',
+            distinfo_dirname(name, version))
+        dist = Distribution(dist_path)
+
+        self.assertEqual(dist.name, name)
+        from distutils2.metadata import DistributionMetadata
+        self.assertTrue(isinstance(dist.metadata, DistributionMetadata))
+        self.assertEqual(dist.metadata['version'], version)
+        self.assertTrue(isinstance(dist.requested, type(bool())))
+
+
+class TestPkgUtilFunctions(unittest2.TestCase):
     """Tests for the new functionality added in PEP 376."""
 
     # def setUp(self):
@@ -71,7 +101,11 @@
 
 
 def test_suite():
-    return unittest2.makeSuite(TestPkgUtil)
+    suite = unittest2.TestSuite()
+    testcase_loader = unittest2.loader.defaultTestLoader.loadTestsFromTestCase
+    suite.addTest(testcase_loader(TestPkgUtilFunctions))
+    suite.addTest(testcase_loader(TestPkgUtilDistribution))
+    return suite
 
 def test_main():
     run_unittest(test_suite())

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


More information about the Python-checkins mailing list