diff options
author | Gustavo Niemeyer <gustavo@niemeyer.net> | 2007-12-05 21:02:10 -0200 |
---|---|---|
committer | Gustavo Niemeyer <gustavo@niemeyer.net> | 2007-12-05 21:02:10 -0200 |
commit | bdfd5ccb1e2e22408371b26b806886e20b971285 (patch) | |
tree | f8099d4e888275537c9d9f8b5300ca08328c134f /mocker.py | |
parent | b04e870828e81f0f519ad31eae43d1eb0091d692 (diff) | |
download | mocker-bdfd5ccb1e2e22408371b26b806886e20b971285.tar.gz |
New 'path' option to MockerTestCase.makeFile() and makeDir(),
which allows setting the full target path with a single option.
Diffstat (limited to 'mocker.py')
-rw-r--r-- | mocker.py | 27 |
1 files changed, 16 insertions, 11 deletions
@@ -159,7 +159,7 @@ class MockerTestCase(unittest.TestCase): self.__cleanup_funcs.append((func, args, kwargs)) def makeFile(self, content=None, suffix="", prefix="tmp", basename=None, - dirname=None): + dirname=None, path=None): """Create a temporary file and return the path to it. @param content: Initial content for the file. @@ -170,22 +170,24 @@ class MockerTestCase(unittest.TestCase): The file is removed after the test runs. """ - if basename is not None: + if path is not None: + self.__cleanup_paths.append(path) + elif basename is not None: if dirname is None: dirname = tempfile.mkdtemp() self.__cleanup_paths.append(dirname) - filename = os.path.join(dirname, basename) + path = os.path.join(dirname, basename) else: - fd, filename = tempfile.mkstemp(suffix, prefix, dirname) - self.__cleanup_paths.append(filename) + fd, path = tempfile.mkstemp(suffix, prefix, dirname) + self.__cleanup_paths.append(path) os.close(fd) if content is not None: - file = open(filename, "w") + file = open(path, "w") file.write(content) file.close() - return filename + return path - def makeDir(self, suffix="", prefix="tmp", dirname=None): + def makeDir(self, suffix="", prefix="tmp", dirname=None, path=None): """Create a temporary directory and return the path to it. @param suffix: Suffix to be given to the file's basename. @@ -194,9 +196,12 @@ class MockerTestCase(unittest.TestCase): The directory is removed after the test runs. """ - dirname = tempfile.mkdtemp(suffix, prefix, dirname) - self.__cleanup_paths.append(dirname) - return dirname + if path is not None: + os.makedirs(path) + else: + path = tempfile.mkdtemp(suffix, prefix, dirname) + self.__cleanup_paths.append(path) + return path def failUnlessIs(self, first, second, msg=None): """Assert that C{first} is the same object as C{second}.""" |