summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Lib/distutils/command/config.py15
-rw-r--r--Lib/distutils/tests/test_config_cmd.py42
2 files changed, 52 insertions, 5 deletions
diff --git a/Lib/distutils/command/config.py b/Lib/distutils/command/config.py
index 34f9188..144c513 100644
--- a/Lib/distutils/command/config.py
+++ b/Lib/distutils/command/config.py
@@ -336,11 +336,16 @@ class config(Command):
def dump_file(filename, head=None):
+ """Dumps a file content into log.info.
+
+ If head is not None, will be dumped before the file content.
+ """
if head is None:
- print(filename + ":")
+ log.info('%s' % filename)
else:
- print(head)
-
+ log.info(head)
file = open(filename)
- sys.stdout.write(file.read())
- file.close()
+ try:
+ log.info(file.read())
+ finally:
+ file.close()
diff --git a/Lib/distutils/tests/test_config_cmd.py b/Lib/distutils/tests/test_config_cmd.py
new file mode 100644
index 0000000..6fd1776
--- /dev/null
+++ b/Lib/distutils/tests/test_config_cmd.py
@@ -0,0 +1,42 @@
+"""Tests for distutils.command.config."""
+import unittest
+import os
+
+from distutils.command.config import dump_file
+from distutils.tests import support
+from distutils import log
+
+class ConfigTestCase(support.LoggingSilencer,
+ support.TempdirManager,
+ unittest.TestCase):
+
+ def _info(self, msg):
+ for line in msg.splitlines():
+ self._logs.append(line)
+
+ def setUp(self):
+ super(ConfigTestCase, self).setUp()
+ self._logs = []
+ self.old_log = log.info
+ log.info = self._info
+
+ def tearDown(self):
+ log.info = self.old_log
+ super(ConfigTestCase, self).tearDown()
+
+ def test_dump_file(self):
+ this_file = os.path.splitext(__file__)[0] + '.py'
+ f = open(this_file)
+ try:
+ numlines = len(f.readlines())
+ finally:
+ f.close()
+
+ dump_file(this_file, 'I am the header')
+ self.assertEquals(len(self._logs), numlines+1)
+
+def test_suite():
+ return unittest.makeSuite(ConfigTestCase)
+
+if __name__ == "__main__":
+ unittest.main(defaultTest="test_suite")