Kaydet (Commit) 1036a7f7 authored tarafından Ezio Melotti's avatar Ezio Melotti

#6026 - fix tests that failed without zlib

üst 21121e64
...@@ -19,10 +19,18 @@ try: ...@@ -19,10 +19,18 @@ try:
except ImportError: except ImportError:
ZIP_SUPPORT = find_executable('zip') 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, class ArchiveUtilTestCase(support.TempdirManager,
support.LoggingSilencer, support.LoggingSilencer,
unittest.TestCase): unittest.TestCase):
@unittest.skipUnless(zlib, "Requires zlib")
def test_make_tarball(self): def test_make_tarball(self):
# creating something to tar # creating something to tar
tmpdir = self.mkdtemp() tmpdir = self.mkdtemp()
...@@ -83,6 +91,7 @@ class ArchiveUtilTestCase(support.TempdirManager, ...@@ -83,6 +91,7 @@ class ArchiveUtilTestCase(support.TempdirManager,
base_name = os.path.join(tmpdir2, 'archive') base_name = os.path.join(tmpdir2, 'archive')
return tmpdir, tmpdir2, base_name return tmpdir, tmpdir2, base_name
@unittest.skipUnless(zlib, "Requires zlib")
@unittest.skipUnless(find_executable('tar') and find_executable('gzip'), @unittest.skipUnless(find_executable('tar') and find_executable('gzip'),
'Need the tar command to run') 'Need the tar command to run')
def test_tarfile_vs_tar(self): def test_tarfile_vs_tar(self):
...@@ -168,6 +177,7 @@ class ArchiveUtilTestCase(support.TempdirManager, ...@@ -168,6 +177,7 @@ class ArchiveUtilTestCase(support.TempdirManager,
self.assertTrue(not os.path.exists(tarball)) self.assertTrue(not os.path.exists(tarball))
self.assertEquals(len(w.warnings), 1) self.assertEquals(len(w.warnings), 1)
@unittest.skipUnless(zlib, "Requires zlib")
@unittest.skipUnless(ZIP_SUPPORT, 'Need zip support to run') @unittest.skipUnless(ZIP_SUPPORT, 'Need zip support to run')
def test_make_zipfile(self): def test_make_zipfile(self):
# creating something to tar # creating something to tar
......
...@@ -4,6 +4,13 @@ import unittest ...@@ -4,6 +4,13 @@ import unittest
import sys import sys
import os 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.core import Distribution
from distutils.command.bdist_dumb import bdist_dumb from distutils.command.bdist_dumb import bdist_dumb
from distutils.tests import support from distutils.tests import support
...@@ -31,6 +38,7 @@ class BuildDumbTestCase(support.TempdirManager, ...@@ -31,6 +38,7 @@ class BuildDumbTestCase(support.TempdirManager,
sys.argv = self.old_sys_argv[:] sys.argv = self.old_sys_argv[:]
super(BuildDumbTestCase, self).tearDown() super(BuildDumbTestCase, self).tearDown()
@unittest.skipUnless(zlib, "requires zlib")
def test_simple_built(self): def test_simple_built(self):
# let's create a simple package # let's create a simple package
......
...@@ -3,6 +3,14 @@ import os ...@@ -3,6 +3,14 @@ import os
import unittest import unittest
import shutil import shutil
import zipfile 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 from os.path import join
import sys import sys
import tempfile import tempfile
...@@ -79,6 +87,7 @@ class SDistTestCase(PyPIRCCommandTestCase): ...@@ -79,6 +87,7 @@ class SDistTestCase(PyPIRCCommandTestCase):
cmd.warn = _warn cmd.warn = _warn
return dist, cmd return dist, cmd
@unittest.skipUnless(zlib, "requires zlib")
def test_prune_file_list(self): def test_prune_file_list(self):
# this test creates a package with some vcs dirs in it # this test creates a package with some vcs dirs in it
# and launch sdist to make sure they get pruned # and launch sdist to make sure they get pruned
...@@ -120,6 +129,7 @@ class SDistTestCase(PyPIRCCommandTestCase): ...@@ -120,6 +129,7 @@ class SDistTestCase(PyPIRCCommandTestCase):
# making sure everything has been pruned correctly # making sure everything has been pruned correctly
self.assertEquals(len(content), 4) self.assertEquals(len(content), 4)
@unittest.skipUnless(zlib, "requires zlib")
def test_make_distribution(self): def test_make_distribution(self):
# check if tar and gzip are installed # check if tar and gzip are installed
...@@ -156,6 +166,7 @@ class SDistTestCase(PyPIRCCommandTestCase): ...@@ -156,6 +166,7 @@ class SDistTestCase(PyPIRCCommandTestCase):
self.assertEquals(result, self.assertEquals(result,
['fake-1.0.tar', 'fake-1.0.tar.gz']) ['fake-1.0.tar', 'fake-1.0.tar.gz'])
@unittest.skipUnless(zlib, "requires zlib")
def test_add_defaults(self): def test_add_defaults(self):
# http://bugs.python.org/issue2279 # http://bugs.python.org/issue2279
...@@ -217,6 +228,7 @@ class SDistTestCase(PyPIRCCommandTestCase): ...@@ -217,6 +228,7 @@ class SDistTestCase(PyPIRCCommandTestCase):
manifest = open(join(self.tmp_dir, 'MANIFEST')).read() manifest = open(join(self.tmp_dir, 'MANIFEST')).read()
self.assertEquals(manifest, MANIFEST % {'sep': os.sep}) self.assertEquals(manifest, MANIFEST % {'sep': os.sep})
@unittest.skipUnless(zlib, "requires zlib")
def test_metadata_check_option(self): def test_metadata_check_option(self):
# testing the `medata-check` option # testing the `medata-check` option
dist, cmd = self.get_cmd(metadata={}) dist, cmd = self.get_cmd(metadata={})
......
...@@ -21,9 +21,14 @@ ...@@ -21,9 +21,14 @@
# misrepresented as being the original software. # misrepresented as being the original software.
# 3. This notice may not be removed or altered from any source distribution. # 3. This notice may not be removed or altered from any source distribution.
import zlib, datetime import datetime
import unittest import unittest
import sqlite3 as sqlite import sqlite3 as sqlite
try:
import zlib
except ImportError:
zlib = None
class SqliteTypeTests(unittest.TestCase): class SqliteTypeTests(unittest.TestCase):
def setUp(self): def setUp(self):
...@@ -300,6 +305,7 @@ class ObjectAdaptationTests(unittest.TestCase): ...@@ -300,6 +305,7 @@ class ObjectAdaptationTests(unittest.TestCase):
val = self.cur.fetchone()[0] val = self.cur.fetchone()[0]
self.assertEqual(type(val), float) self.assertEqual(type(val), float)
@unittest.skipUnless(zlib, "requires zlib")
class BinaryConverterTests(unittest.TestCase): class BinaryConverterTests(unittest.TestCase):
def convert(s): def convert(s):
return zlib.decompress(s) return zlib.decompress(s)
......
...@@ -5,9 +5,8 @@ ...@@ -5,9 +5,8 @@
import unittest import unittest
from test import test_support from test import test_support
import os import os
import gzip
import struct import struct
gzip = test_support.import_module('gzip')
data1 = """ int length=DEFAULTALLOC, err = Z_OK; data1 = """ int length=DEFAULTALLOC, err = Z_OK;
PyObject *RetVal; PyObject *RetVal;
......
...@@ -311,6 +311,7 @@ class TestsWithSourceFile(unittest.TestCase): ...@@ -311,6 +311,7 @@ class TestsWithSourceFile(unittest.TestCase):
self.assertEqual(zipfp.read(TESTFN), file(TESTFN).read()) self.assertEqual(zipfp.read(TESTFN), file(TESTFN).read())
zipfp.close() zipfp.close()
@skipUnless(zlib, "requires zlib")
def test_per_file_compression(self): def test_per_file_compression(self):
# Check that files within a Zip archive can have different compression options # Check that files within a Zip archive can have different compression options
zipfp = zipfile.ZipFile(TESTFN2, "w") zipfp = zipfile.ZipFile(TESTFN2, "w")
...@@ -882,6 +883,7 @@ class DecryptionTests(unittest.TestCase): ...@@ -882,6 +883,7 @@ class DecryptionTests(unittest.TestCase):
self.zip2.setpassword("perl") self.zip2.setpassword("perl")
self.assertRaises(RuntimeError, self.zip2.read, "zero") self.assertRaises(RuntimeError, self.zip2.read, "zero")
@skipUnless(zlib, "requires zlib")
def test_good_password(self): def test_good_password(self):
self.zip.setpassword("python") self.zip.setpassword("python")
self.assertEquals(self.zip.read("test.txt"), self.plain) self.assertEquals(self.zip.read("test.txt"), self.plain)
...@@ -982,6 +984,7 @@ class TestsWithRandomBinaryFiles(unittest.TestCase): ...@@ -982,6 +984,7 @@ class TestsWithRandomBinaryFiles(unittest.TestCase):
self.zip_random_open_test(f, zipfile.ZIP_STORED) self.zip_random_open_test(f, zipfile.ZIP_STORED)
@skipUnless(zlib, "requires zlib")
class TestsWithMultipleOpens(unittest.TestCase): class TestsWithMultipleOpens(unittest.TestCase):
def setUp(self): def setUp(self):
# Create the ZIP archive # Create the ZIP archive
......
...@@ -6,11 +6,17 @@ import struct ...@@ -6,11 +6,17 @@ import struct
import time import time
import unittest import unittest
import zlib # implied prerequisite
from zipfile import ZipFile, ZipInfo, ZIP_STORED, ZIP_DEFLATED
from test import test_support from test import test_support
from test.test_importhooks import ImportHooksBaseTestCase, test_src, test_co 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 zipimport
import linecache import linecache
import doctest import doctest
...@@ -53,6 +59,7 @@ TESTPACK = "ziptestpackage" ...@@ -53,6 +59,7 @@ TESTPACK = "ziptestpackage"
TESTPACK2 = "ziptestpackage2" TESTPACK2 = "ziptestpackage2"
TEMP_ZIP = os.path.abspath("junk95142" + os.extsep + "zip") TEMP_ZIP = os.path.abspath("junk95142" + os.extsep + "zip")
class UncompressedZipImportTestCase(ImportHooksBaseTestCase): class UncompressedZipImportTestCase(ImportHooksBaseTestCase):
compression = ZIP_STORED compression = ZIP_STORED
...@@ -357,7 +364,6 @@ class UncompressedZipImportTestCase(ImportHooksBaseTestCase): ...@@ -357,7 +364,6 @@ class UncompressedZipImportTestCase(ImportHooksBaseTestCase):
def testDoctestSuite(self): def testDoctestSuite(self):
self.runDoctest(self.doDoctestSuite) self.runDoctest(self.doDoctestSuite)
def doTraceback(self, module): def doTraceback(self, module):
try: try:
module.do_raise() module.do_raise()
...@@ -381,6 +387,7 @@ class UncompressedZipImportTestCase(ImportHooksBaseTestCase): ...@@ -381,6 +387,7 @@ class UncompressedZipImportTestCase(ImportHooksBaseTestCase):
self.doTest(None, files, TESTMOD, call=self.doTraceback) self.doTest(None, files, TESTMOD, call=self.doTraceback)
@unittest.skipUnless(zlib, "requires zlib")
class CompressedZipImportTestCase(UncompressedZipImportTestCase): class CompressedZipImportTestCase(UncompressedZipImportTestCase):
compression = ZIP_DEFLATED compression = ZIP_DEFLATED
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment