diff options
| author | Julien Courteau <j_courteau@hotmail.com> | 2012-05-12 14:23:20 -0400 |
|---|---|---|
| committer | Julien Courteau <j_courteau@hotmail.com> | 2012-05-12 14:23:20 -0400 |
| commit | 42eb0c19439494044dde68a7f75c28e746bc6b0d (patch) | |
| tree | e34cb1797ee62497018f2605e25094713eda5353 /distutils2/tests | |
| parent | 5d5463009a93746b987f941b5698cf18ff6ec4fa (diff) | |
| parent | 6076dd84aaa4d4313be65a171331c91bd9412019 (diff) | |
| download | disutils2-42eb0c19439494044dde68a7f75c28e746bc6b0d.tar.gz | |
merge #1364
Diffstat (limited to 'distutils2/tests')
| -rw-r--r-- | distutils2/tests/test_database.py | 21 | ||||
| -rw-r--r-- | distutils2/tests/test_install.py | 22 |
2 files changed, 40 insertions, 3 deletions
diff --git a/distutils2/tests/test_database.py b/distutils2/tests/test_database.py index 09db9ef..6975258 100644 --- a/distutils2/tests/test_database.py +++ b/distutils2/tests/test_database.py @@ -80,12 +80,14 @@ class CommonDistributionTests(FakeDistsMixin): attributes are used in test methods. See source code for details. """ + def _get_dist_path(self, distdir): + here = os.path.abspath(os.path.dirname(__file__)) + return os.path.join(here, 'fake_dists', distdir) + def test_instantiation(self): # check that useful attributes are here name, version, distdir = self.sample_dist - here = os.path.abspath(os.path.dirname(__file__)) - dist_path = os.path.join(here, 'fake_dists', distdir) - + dist_path = self._get_dist_path(distdir) dist = self.dist = self.cls(dist_path) self.assertEqual(dist.path, dist_path) self.assertEqual(dist.name, name) @@ -101,6 +103,17 @@ class CommonDistributionTests(FakeDistsMixin): self.assertIn(self.cls.__name__, repr(dist)) @requires_zlib + def test_str(self): + name, version, distdir = self.sample_dist + dist = self.cls(self._get_dist_path(distdir)) + self.assertEqual(name, dist.name) + # Sanity test: dist.name is unicode, + # but str output contains no u prefix. + self.assertIsInstance(dist.name, unicode) + self.assertEqual(version, dist.version) + self.assertEqual(str(dist), self.expected_str_output) + + @requires_zlib def test_comparison(self): # tests for __eq__ and __hash__ dist = self.cls(self.dirs[0]) @@ -128,6 +141,7 @@ class TestDistribution(CommonDistributionTests, unittest.TestCase): cls = Distribution sample_dist = 'choxie', '2.0.0.9', 'choxie-2.0.0.9.dist-info' + expected_str_output = 'choxie 2.0.0.9' def setUp(self): super(TestDistribution, self).setUp() @@ -265,6 +279,7 @@ class TestEggInfoDistribution(CommonDistributionTests, cls = EggInfoDistribution sample_dist = 'bacon', '0.1', 'bacon-0.1.egg-info' + expected_str_output = 'bacon 0.1' def setUp(self): super(TestEggInfoDistribution, self).setUp() diff --git a/distutils2/tests/test_install.py b/distutils2/tests/test_install.py index cb1d499..f613b22 100644 --- a/distutils2/tests/test_install.py +++ b/distutils2/tests/test_install.py @@ -1,6 +1,8 @@ """Tests for the distutils2.install module.""" import os import logging +import sys + from tempfile import mkstemp from distutils2 import install @@ -258,6 +260,26 @@ class TestInstall(LoggingCatcher, TempdirManager, unittest.TestCase): for key in expect: self.assertEqual(expect[key], dict1[key]) + def test_install_custom_dir(self): + dest = self.mkdtemp() + src = self.mkdtemp() + + project_dir, dist = self.create_dist( + name='Spamlib', version='0.1', + data_files={'spamd': '{scripts}/spamd'}) + + dist.name = MagicMock(return_value='Spamlib') + dist.version = MagicMock(return_value='0.1') + dist.unpack = MagicMock(return_value=project_dir) + + self.write_file([project_dir, 'setup.cfg'], + ("[metadata]\n" + "name = mypackage\n" + "version = 0.1.0\n")) + + install.install_from_infos(dest, install=[dist]) + self.assertEqual(len(os.listdir(dest)), 1) + def test_install_dists_rollback(self): # if one of the distribution installation fails, call uninstall on all # installed distributions. |
