diff options
| author | Tarek Ziadé <ziade.tarek@gmail.com> | 2009-10-18 09:28:26 (GMT) |
|---|---|---|
| committer | Tarek Ziadé <ziade.tarek@gmail.com> | 2009-10-18 09:28:26 (GMT) |
| commit | 2b06d42db58e333ee932b5718ef2cb14b9ccfa91 (patch) | |
| tree | 833cd8df0a668f2b119545417755b81346c00ef6 /Lib/distutils/tests/test_dist.py | |
| parent | 11abfe640fbfe37e7b5770ceebf21387e355951f (diff) | |
| download | cpython-2b06d42db58e333ee932b5718ef2cb14b9ccfa91.zip cpython-2b06d42db58e333ee932b5718ef2cb14b9ccfa91.tar.gz cpython-2b06d42db58e333ee932b5718ef2cb14b9ccfa91.tar.bz2 | |
Changed distutils tests to avoid environment alteration
Diffstat (limited to 'Lib/distutils/tests/test_dist.py')
| -rw-r--r-- | Lib/distutils/tests/test_dist.py | 31 |
1 files changed, 19 insertions, 12 deletions
diff --git a/Lib/distutils/tests/test_dist.py b/Lib/distutils/tests/test_dist.py index 3d4b25f..5f032ca 100644 --- a/Lib/distutils/tests/test_dist.py +++ b/Lib/distutils/tests/test_dist.py @@ -39,15 +39,17 @@ class TestDistribution(Distribution): class DistributionTestCase(support.TempdirManager, support.LoggingSilencer, + support.EnvironGuard, unittest.TestCase): def setUp(self): super(DistributionTestCase, self).setUp() - self.argv = sys.argv[:] + self.argv = sys.argv, sys.argv[:] del sys.argv[1:] def tearDown(self): - sys.argv[:] = self.argv + sys.argv = self.argv[0] + sys.argv[:] = self.argv[1] super(DistributionTestCase, self).tearDown() def create_distribution(self, configfiles=()): @@ -210,6 +212,15 @@ class DistributionTestCase(support.TempdirManager, class MetadataTestCase(support.TempdirManager, support.EnvironGuard, unittest.TestCase): + def setUp(self): + super(MetadataTestCase, self).setUp() + self.argv = sys.argv, sys.argv[:] + + def tearDown(self): + sys.argv = self.argv[0] + sys.argv[:] = self.argv[1] + super(MetadataTestCase, self).tearDown() + def test_simple_metadata(self): attrs = {"name": "package", "version": "1.0"} @@ -308,14 +319,14 @@ class MetadataTestCase(support.TempdirManager, support.EnvironGuard, # linux-style if sys.platform in ('linux', 'darwin'): - self.environ['HOME'] = temp_dir + os.environ['HOME'] = temp_dir files = dist.find_config_files() self.assertTrue(user_filename in files) # win32-style if sys.platform == 'win32': # home drive should be found - self.environ['HOME'] = temp_dir + os.environ['HOME'] = temp_dir files = dist.find_config_files() self.assertTrue(user_filename in files, '%r not found in %r' % (user_filename, files)) @@ -331,15 +342,11 @@ class MetadataTestCase(support.TempdirManager, support.EnvironGuard, def test_show_help(self): # smoke test, just makes sure some help is displayed dist = Distribution() - old_argv = sys.argv sys.argv = [] - try: - dist.help = 1 - dist.script_name = 'setup.py' - with captured_stdout() as s: - dist.parse_command_line() - finally: - sys.argv = old_argv + dist.help = 1 + dist.script_name = 'setup.py' + with captured_stdout() as s: + dist.parse_command_line() output = [line for line in s.getvalue().split('\n') if line.strip() != ''] |
