Merged revisions 72736 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk
........
r72736 | tarek.ziade | 2009-05-17 14:04:57 +0200 (Sun, 17 May 2009) | 1 line
pep8-fied distutils.archive_util + added minimum test coverage
........
diff --git a/Lib/distutils/tests/test_archive_util.py b/Lib/distutils/tests/test_archive_util.py
new file mode 100644
index 0000000..f5fd9ea
--- /dev/null
+++ b/Lib/distutils/tests/test_archive_util.py
@@ -0,0 +1,70 @@
+"""Tests for distutils.archive_util."""
+__revision__ = "$Id:$"
+
+import unittest
+import os
+
+from distutils.archive_util import (check_archive_formats, make_tarball,
+ make_zipfile, make_archive)
+from distutils.spawn import find_executable
+from distutils.tests import support
+
+try:
+ import zipfile
+ ZIP_SUPPORT = True
+except ImportError:
+ ZIP_SUPPORT = find_executable('zip')
+
+class ArchiveUtilTestCase(support.TempdirManager,
+ unittest.TestCase):
+
+ @unittest.skipUnless(find_executable('tar'), 'Need the tar command to run')
+ def test_make_tarball(self):
+ # creating something to tar
+ tmpdir = self.mkdtemp()
+ self.write_file([tmpdir, 'file1'], 'xxx')
+ self.write_file([tmpdir, 'file2'], 'xxx')
+
+ tmpdir2 = self.mkdtemp()
+ base_name = os.path.join(tmpdir2, 'archive')
+ make_tarball(base_name, tmpdir)
+
+ # check if the compressed tarball was created
+ tarball = base_name + '.tar.gz'
+ self.assert_(os.path.exists(tarball))
+
+ # trying an uncompressed one
+ base_name = os.path.join(tmpdir2, 'archive')
+ make_tarball(base_name, tmpdir, compress=None)
+ tarball = base_name + '.tar'
+ self.assert_(os.path.exists(tarball))
+
+ @unittest.skipUnless(ZIP_SUPPORT, 'Need zip support to run')
+ def test_make_tarball(self):
+ # creating something to tar
+ tmpdir = self.mkdtemp()
+ self.write_file([tmpdir, 'file1'], 'xxx')
+ self.write_file([tmpdir, 'file2'], 'xxx')
+
+ tmpdir2 = self.mkdtemp()
+ base_name = os.path.join(tmpdir2, 'archive')
+ make_zipfile(base_name, tmpdir)
+
+ # check if the compressed tarball was created
+ tarball = base_name + '.zip'
+
+ def test_check_archive_formats(self):
+ self.assertEquals(check_archive_formats(['gztar', 'xxx', 'zip']),
+ 'xxx')
+ self.assertEquals(check_archive_formats(['gztar', 'zip']), None)
+
+ def test_make_archive(self):
+ tmpdir = self.mkdtemp()
+ base_name = os.path.join(tmpdir, 'archive')
+ self.assertRaises(ValueError, make_archive, base_name, 'xxx')
+
+def test_suite():
+ return unittest.makeSuite(ArchiveUtilTestCase)
+
+if __name__ == "__main__":
+ unittest.main(defaultTest="test_suite")