From aa48798f1e99f9ca6ce0e859288b5a7d0419d539 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Tarek=20Ziad=C3=A9?= Date: Sun, 12 Apr 2009 14:53:51 +0000 Subject: [PATCH] removed the print statements and added a test --- Lib/distutils/command/config.py | 16 ++++++---- Lib/distutils/tests/test_config_cmd.py | 42 ++++++++++++++++++++++++++ 2 files changed, 52 insertions(+), 6 deletions(-) create mode 100644 Lib/distutils/tests/test_config_cmd.py diff --git a/Lib/distutils/command/config.py b/Lib/distutils/command/config.py index 6b358cf250..c36456ad6a 100644 --- a/Lib/distutils/command/config.py +++ b/Lib/distutils/command/config.py @@ -354,13 +354,17 @@ class config (Command): # class config +def dump_file(filename, head=None): + """Dumps a file content into log.info. -def dump_file (filename, head=None): + 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 0000000000..6fd1776668 --- /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") -- 2.50.1