[Python-checkins] distutils2: write tests for prefer_final and prefer_source support

tarek.ziade python-checkins at python.org
Sun Jul 4 11:48:40 CEST 2010


tarek.ziade pushed f9be1a9d5314 to distutils2:

http://hg.python.org/distutils2/rev/f9be1a9d5314
changeset:   337:f9be1a9d5314
user:        Alexis Metaireau <ametaireau at gmail.com>
date:        Thu Jul 01 20:01:10 2010 +0200
summary:     write tests for prefer_final and prefer_source support
files:       src/distutils2/tests/test_pypi_dist.py

diff --git a/src/distutils2/tests/test_pypi_dist.py b/src/distutils2/tests/test_pypi_dist.py
--- a/src/distutils2/tests/test_pypi_dist.py
+++ b/src/distutils2/tests/test_pypi_dist.py
@@ -187,6 +187,38 @@
         dists.append(Dist("Foobar", "1.1.1"))
         self.assertEqual(2, len(dists))
 
+    def test_prefer_final(self):
+        """Ordering support prefer_final"""
+
+        fb10 = Dist("FooBar", "1.0")  # final distribution
+        fb11a = Dist("FooBar", "1.1a")  # alpha
+        fb12a = Dist("FooBar", "1.2a")  # alpha
+        fb12b = Dist("FooBar", "1.2b")  # beta
+        dists = Dists([fb10, fb11a, fb12a, fb12b])
+
+        dists.sort(prefer_final=True)
+        self.assertEqual(fb10, dists[0])
+
+        dists.sort(prefer_final=False)
+        self.assertEqual(fb12b, dists[0])
+
+    def test_prefer_source(self):
+        """Ordering support prefer_source"""
+        fb_source = Dist("FooBar", "1.0", type="source")
+        fb_binary = Dist("FooBar", "1.0", type="binary")
+        fb2_binary = Dist("FooBar", "2.0", type="binary")
+        dists = Dists([fb_binary, fb_source])
+
+        dists.sort(prefer_source=True)
+        self.assertEqual(fb_source, dists[0])
+
+        dists.sort(prefer_source=False)
+        self.assertEqual(fb_binary, dists[0])
+
+        dists.append(fb2_binary)
+        dists.sort(prefer_source=True)
+        self.assertEqual(fb2_binary, dists[0])
+
 
 def test_suite():
     suite = unittest.TestSuite()

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


More information about the Python-checkins mailing list