diff options
author | Lars Gustäbel <lars@gustaebel.de> | 2007-06-18 11:42:11 (GMT) |
---|---|---|
committer | Lars Gustäbel <lars@gustaebel.de> | 2007-06-18 11:42:11 (GMT) |
commit | 104490e6159e2b541cf51c17399453906f59f825 (patch) | |
tree | 4c16ba783779df699c598d5008ec71ed348cb6ec /Lib/test | |
parent | 9d0476f7da7be1a03a5b5d8e48d072b83be2f31d (diff) | |
download | cpython-104490e6159e2b541cf51c17399453906f59f825.zip cpython-104490e6159e2b541cf51c17399453906f59f825.tar.gz cpython-104490e6159e2b541cf51c17399453906f59f825.tar.bz2 |
Added exclude keyword argument to the TarFile.add() method.
Diffstat (limited to 'Lib/test')
-rw-r--r-- | Lib/test/test_tarfile.py | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/Lib/test/test_tarfile.py b/Lib/test/test_tarfile.py index 67e52e9..596b0ad 100644 --- a/Lib/test/test_tarfile.py +++ b/Lib/test/test_tarfile.py @@ -558,6 +558,27 @@ class WriteTest(unittest.TestCase): os.chdir(cwd) self.assert_(tar.getnames() == [], "added the archive to itself") + def test_exclude(self): + tempdir = os.path.join(TEMPDIR, "exclude") + os.mkdir(tempdir) + try: + for name in ("foo", "bar", "baz"): + name = os.path.join(tempdir, name) + open(name, "wb").close() + + def exclude(name): + return os.path.isfile(name) + + tar = tarfile.open(tmpname, self.mode, encoding="iso8859-1") + tar.add(tempdir, arcname="empty_dir", exclude=exclude) + tar.close() + + tar = tarfile.open(tmpname, "r") + self.assertEqual(len(tar.getmembers()), 1) + self.assertEqual(tar.getnames()[0], "empty_dir") + finally: + shutil.rmtree(tempdir) + class StreamWriteTest(unittest.TestCase): |