summaryrefslogtreecommitdiffstats
path: root/Lib/test
diff options
context:
space:
mode:
authorLars Gustäbel <lars@gustaebel.de>2007-06-18 11:42:11 (GMT)
committerLars Gustäbel <lars@gustaebel.de>2007-06-18 11:42:11 (GMT)
commit104490e6159e2b541cf51c17399453906f59f825 (patch)
tree4c16ba783779df699c598d5008ec71ed348cb6ec /Lib/test
parent9d0476f7da7be1a03a5b5d8e48d072b83be2f31d (diff)
downloadcpython-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.py21
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):