/Lib/distutils/tests/support.py
http://unladen-swallow.googlecode.com/ · Python · 66 lines · 37 code · 15 blank · 14 comment · 5 complexity · eed3e7cb6ba1a13fc9806c5fe71b0683 MD5 · raw file
- """Support code for distutils test cases."""
- import shutil
- import tempfile
- from distutils import log
- class LoggingSilencer(object):
- def setUp(self):
- super(LoggingSilencer, self).setUp()
- self.threshold = log.set_threshold(log.FATAL)
- def tearDown(self):
- log.set_threshold(self.threshold)
- super(LoggingSilencer, self).tearDown()
- class TempdirManager(object):
- """Mix-in class that handles temporary directories for test cases.
- This is intended to be used with unittest.TestCase.
- """
- def setUp(self):
- super(TempdirManager, self).setUp()
- self.tempdirs = []
- def tearDown(self):
- super(TempdirManager, self).tearDown()
- while self.tempdirs:
- d = self.tempdirs.pop()
- shutil.rmtree(d)
- def mkdtemp(self):
- """Create a temporary directory that will be cleaned up.
- Returns the path of the directory.
- """
- d = tempfile.mkdtemp()
- self.tempdirs.append(d)
- return d
- def write_file(self, path, content='xxx'):
- """Writes a file in the given path.
- path can be a string or a sequence.
- """
- if isinstance(path, (list, tuple)):
- path = os.path.join(*path)
- f = open(path, 'w')
- try:
- f.write(content)
- finally:
- f.close()
- class DummyCommand:
- """Class to store options for retrieval via set_undefined_options()."""
- def __init__(self, **kwargs):
- for kw, val in kwargs.items():
- setattr(self, kw, val)
- def ensure_finalized(self):
- pass