from packaging.errors import PackagingOptionError
from packaging.tests import unittest, support
-from packaging.tests.pypi_server import PyPIServer, PyPIServerTestCase
+try:
+ import threading
+ from packaging.tests.pypi_server import PyPIServerTestCase
+except ImportError:
+ threading = None
+ PyPIServerTestCase = unittest.TestCase
PYPIRC_NOPASSWORD = """\
"""
+@unittest.skipIf(threading is None, 'needs threading')
class UploadTestCase(support.TempdirManager, support.EnvironRestorer,
support.LoggingCatcher, PyPIServerTestCase):
from packaging.tests import unittest
from packaging.tests.support import TempdirManager, requires_zlib
-from packaging.tests.pypi_server import use_pypi_server
+try:
+ import threading
+ from packaging.tests.pypi_server import use_pypi_server
+except ImportError:
+ threading = use_pypi_server = None
def Dist(*args, **kwargs):
# assert we can't compare dists with different names
self.assertRaises(TypeError, foo1.__eq__, bar)
+ @unittest.skipIf(threading is None, 'needs threading')
@use_pypi_server("downloads_with_md5")
def test_download(self, server):
# Download is possible, and the md5 is checked if given
hashname="invalid_hashname",
hashval="value")
+ @unittest.skipIf(threading is None, 'needs threading')
@requires_zlib
@use_pypi_server('downloads_with_md5')
def test_unpack(self, server):
from packaging.tests.pypi_server import use_xmlrpc_server
except ImportError:
threading = None
- use_xmlrpc_server = None
+ def use_xmlrpc_server():
+ def _use(func):
+ def __use(*args, **kw):
+ return func(*args, **kw)
+ return __use
+ return _use
@unittest.skipIf(threading is None, "Needs threading")