| """Support code for distutils test cases.""" |
| import os |
| import shutil |
| import tempfile |
| |
| from distutils import log |
| |
| |
| class LoggingSilencer(object): |
| |
| def setUp(self): |
| super().setUp() |
| self.threshold = log.set_threshold(log.FATAL) |
| |
| def tearDown(self): |
| log.set_threshold(self.threshold) |
| super().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().setUp() |
| self.tempdirs = [] |
| |
| def tearDown(self): |
| super().tearDown() |
| while self.tempdirs: |
| d = self.tempdirs.pop() |
| shutil.rmtree(d, os.name in ('nt', 'cygwin')) |
| |
| 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 |
| |
| |
| 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 |