Index: Lib/distutils/tests/test_archive_util.py =================================================================== --- Lib/distutils/tests/test_archive_util.py (revision 74102) +++ Lib/distutils/tests/test_archive_util.py (working copy) @@ -19,10 +19,18 @@ except ImportError: ZIP_SUPPORT = find_executable('zip') +# some tests will fail if zlib is not available +try: + import zlib +except ImportError: + zlib = None + + class ArchiveUtilTestCase(support.TempdirManager, support.LoggingSilencer, unittest.TestCase): + @unittest.skipUnless(zlib, "Requires zlib") def test_make_tarball(self): # creating something to tar tmpdir = self.mkdtemp() @@ -83,6 +91,7 @@ base_name = os.path.join(tmpdir2, 'archive') return tmpdir, tmpdir2, base_name + @unittest.skipUnless(zlib, "Requires zlib") @unittest.skipUnless(find_executable('tar') and find_executable('gzip'), 'Need the tar command to run') def test_tarfile_vs_tar(self): @@ -168,6 +177,7 @@ self.assertTrue(not os.path.exists(tarball)) self.assertEquals(len(w.warnings), 1) + @unittest.skipUnless(zlib, "Requires zlib") @unittest.skipUnless(ZIP_SUPPORT, 'Need zip support to run') def test_make_zipfile(self): # creating something to tar Index: Lib/distutils/tests/test_bdist_dumb.py =================================================================== --- Lib/distutils/tests/test_bdist_dumb.py (revision 74102) +++ Lib/distutils/tests/test_bdist_dumb.py (working copy) @@ -4,6 +4,13 @@ import sys import os +# zlib is not used here, but if it's not available +# test_simple_built will fail +try: + import zlib +except ImportError: + zlib = None + from distutils.core import Distribution from distutils.command.bdist_dumb import bdist_dumb from distutils.tests import support @@ -31,6 +38,7 @@ sys.argv = self.old_sys_argv[:] super(BuildDumbTestCase, self).tearDown() + @unittest.skipUnless(zlib, "requires zlib") def test_simple_built(self): # let's create a simple package Index: Lib/distutils/tests/test_sdist.py =================================================================== --- Lib/distutils/tests/test_sdist.py (revision 74102) +++ Lib/distutils/tests/test_sdist.py (working copy) @@ -3,6 +3,14 @@ import unittest import shutil import zipfile + +# zlib is not used here, but if it's not available +# the tests that use zipfile may fail +try: + import zlib +except ImportError: + zlib = None + from os.path import join import sys import tempfile @@ -79,6 +87,7 @@ cmd.warn = _warn return dist, cmd + @unittest.skipUnless(zlib, "requires zlib") def test_prune_file_list(self): # this test creates a package with some vcs dirs in it # and launch sdist to make sure they get pruned @@ -120,6 +129,7 @@ # making sure everything has been pruned correctly self.assertEquals(len(content), 4) + @unittest.skipUnless(zlib, "requires zlib") def test_make_distribution(self): # check if tar and gzip are installed @@ -156,6 +166,7 @@ self.assertEquals(result, ['fake-1.0.tar', 'fake-1.0.tar.gz']) + @unittest.skipUnless(zlib, "requires zlib") def test_add_defaults(self): # http://bugs.python.org/issue2279 @@ -217,6 +228,7 @@ manifest = open(join(self.tmp_dir, 'MANIFEST')).read() self.assertEquals(manifest, MANIFEST % {'sep': os.sep}) + @unittest.skipUnless(zlib, "requires zlib") def test_metadata_check_option(self): # testing the `medata-check` option dist, cmd = self.get_cmd(metadata={}) Index: Lib/sqlite3/test/types.py =================================================================== --- Lib/sqlite3/test/types.py (revision 74102) +++ Lib/sqlite3/test/types.py (working copy) @@ -21,10 +21,15 @@ # misrepresented as being the original software. # 3. This notice may not be removed or altered from any source distribution. -import zlib, datetime +import datetime import unittest import sqlite3 as sqlite +try: + import zlib +except ImportError: + zlib = None + class SqliteTypeTests(unittest.TestCase): def setUp(self): self.con = sqlite.connect(":memory:") @@ -300,6 +305,7 @@ val = self.cur.fetchone()[0] self.assertEqual(type(val), float) +@unittest.skipUnless(zlib, "requires zlib") class BinaryConverterTests(unittest.TestCase): def convert(s): return zlib.decompress(s) Index: Lib/test/test_gzip.py =================================================================== --- Lib/test/test_gzip.py (revision 74102) +++ Lib/test/test_gzip.py (working copy) @@ -5,10 +5,9 @@ import unittest from test import test_support import os -import gzip import struct +gzip = test_support.import_module('gzip') - data1 = """ int length=DEFAULTALLOC, err = Z_OK; PyObject *RetVal; int flushmode = Z_FINISH; Index: Lib/test/test_zipimport.py =================================================================== --- Lib/test/test_zipimport.py (revision 74102) +++ Lib/test/test_zipimport.py (working copy) @@ -6,11 +6,17 @@ import time import unittest -import zlib # implied prerequisite -from zipfile import ZipFile, ZipInfo, ZIP_STORED, ZIP_DEFLATED from test import test_support from test.test_importhooks import ImportHooksBaseTestCase, test_src, test_co +# some tests can be ran even without zlib +try: + import zlib +except ImportError: + zlib = None + +from zipfile import ZipFile, ZipInfo, ZIP_STORED, ZIP_DEFLATED + import zipimport import linecache import doctest @@ -53,6 +59,7 @@ TESTPACK2 = "ziptestpackage2" TEMP_ZIP = os.path.abspath("junk95142" + os.extsep + "zip") + class UncompressedZipImportTestCase(ImportHooksBaseTestCase): compression = ZIP_STORED @@ -357,7 +364,6 @@ def testDoctestSuite(self): self.runDoctest(self.doDoctestSuite) - def doTraceback(self, module): try: module.do_raise() @@ -381,6 +387,7 @@ self.doTest(None, files, TESTMOD, call=self.doTraceback) +@unittest.skipUnless(zlib, "requires zlib") class CompressedZipImportTestCase(UncompressedZipImportTestCase): compression = ZIP_DEFLATED Index: Lib/test/test_zipfile.py =================================================================== --- Lib/test/test_zipfile.py (revision 74102) +++ Lib/test/test_zipfile.py (working copy) @@ -311,6 +311,7 @@ self.assertEqual(zipfp.read(TESTFN), file(TESTFN).read()) zipfp.close() + @skipUnless(zlib, "requires zlib") def test_per_file_compression(self): # Check that files within a Zip archive can have different compression options zipfp = zipfile.ZipFile(TESTFN2, "w") @@ -872,6 +873,7 @@ self.zip2.setpassword("perl") self.assertRaises(RuntimeError, self.zip2.read, "zero") + @skipUnless(zlib, "requires zlib") def test_good_password(self): self.zip.setpassword("python") self.assertEquals(self.zip.read("test.txt"), self.plain) @@ -972,6 +974,7 @@ self.zip_random_open_test(f, zipfile.ZIP_STORED) +@skipUnless(zlib, "requires zlib") class TestsWithMultipleOpens(unittest.TestCase): def setUp(self): # Create the ZIP archive