]> granicus.if.org Git - python/commitdiff
Rework test_record a bit to make the test more exact
authorÉric Araujo <merwok@netwok.org>
Sat, 20 Aug 2011 05:00:41 +0000 (07:00 +0200)
committerÉric Araujo <merwok@netwok.org>
Sat, 20 Aug 2011 05:00:41 +0000 (07:00 +0200)
Lib/distutils/tests/test_install.py

index ed69b0cbb06614da4c9a2cc57f39ca43163f52be..3e47d819fe1f163d54f99888191602dd0890d6fc 100644 (file)
@@ -1,7 +1,6 @@
 """Tests for distutils.command.install."""
 
 import os
-import os.path
 import sys
 import unittest
 import site
@@ -167,33 +166,36 @@ class InstallTestCase(support.TempdirManager,
         self.assertRaises(DistutilsOptionError, cmd.finalize_options)
 
     def test_record(self):
-
         install_dir = self.mkdtemp()
-        pkgdir, dist = self.create_dist()
+        project_dir, dist = self.create_dist(scripts=['hello'])
+        self.addCleanup(os.chdir, os.getcwd())
+        os.chdir(project_dir)
+        self.write_file('hello', "print('o hai')")
 
-        dist = Distribution()
         cmd = install(dist)
         dist.command_obj['install'] = cmd
         cmd.root = install_dir
-        cmd.record = os.path.join(pkgdir, 'RECORD')
+        cmd.record = os.path.join(project_dir, 'RECORD')
         cmd.ensure_finalized()
-
         cmd.run()
 
-        # let's check the RECORD file was created with one
-        # line (the egg info file)
         f = open(cmd.record)
         try:
-            self.assertEqual(len(f.readlines()), 1)
+            content = f.read()
         finally:
             f.close()
 
+        found = [os.path.basename(line) for line in content.splitlines()]
+        expected = ['hello',
+                    'UNKNOWN-0.0.0-py%s.%s.egg-info' % sys.version_info[:2]]
+        self.assertEqual(found, expected)
+
     def test_debug_mode(self):
         # this covers the code called when DEBUG is set
         old_logs_len = len(self.logs)
         install_module.DEBUG = True
         try:
-            with captured_stdout() as stdout:
+            with captured_stdout():
                 self.test_record()
         finally:
             install_module.DEBUG = False