def test_oldPython(self): """ L{_checkRequirements} raises L{ImportError} when run on a version of Python that is too old. """ sys.version_info = self.unsupportedPythonVersion with self.assertRaises(ImportError) as raised: _checkRequirements() self.assertEqual("Twisted requires Python %d.%d or later." % self.supportedPythonVersion, str(raised.exception))
def test_oldPythonPy3(self): """ L{_checkRequirements} raises L{ImportError} when run on a version of Python that is too old. """ sys.version_info = self.Py3unsupportedPythonVersion with self.assertRaises(ImportError) as raised: _checkRequirements() self.assertEqual( "Twisted on Python 3 requires Python %d.%d or later." % self.Py3supportedPythonVersion, str(raised.exception))
def test_oldZopeInterface(self): """ L{_checkRequirements} raises L{ImportError} when the C{zope.interface} package installed is old enough that C{implementer_only} is not included (added in zope.interface 3.6). """ with SetAsideModule("zope"): _install(_zope35) with self.assertRaises(ImportError) as raised: _checkRequirements() self.assertEqual("Twisted requires zope.interface 3.6.0 or later.", str(raised.exception))
def test_oldZopeInterface(self): """ If the installed version of C{zope.interface} does not support the C{implementer} class decorator, L{_checkRequirements} raises L{ImportError} with a message explaining a newer version is required. """ with SetAsideModule("zope"): _install(_zope38) with self.assertRaises(ImportError) as raised: _checkRequirements() self.assertEqual("Twisted requires zope.interface 4.0.0 or later.", str(raised.exception))
def test_setupNoCheckRequirements(self): """ L{_checkRequirements} doesn't check for C{zope.interface} compliance when C{setuptools._TWISTED_NO_CHECK_REQUIREMENTS} is set. """ with SetAsideModule("setuptools"): setuptools = ModuleType("setuptools") setuptools._TWISTED_NO_CHECK_REQUIREMENTS = True sys.modules["setuptools"] = setuptools with SetAsideModule("zope"): sys.modules["zope"] = None _checkRequirements()
def test_oldZopeInterface(self): """ L{_checkRequirements} raises L{ImportError} when the C{zope.interface} package installed is old enough that C{implementer_only} is not included (added in zope.interface 3.6). """ with SetAsideModule("zope"): _install(_zope35) with self.assertRaises(ImportError) as raised: _checkRequirements() self.assertEqual( "Twisted requires zope.interface 3.6.0 or later.", str(raised.exception))
def test_missingZopeInterface(self): """ L{_checkRequirements} raises L{ImportError} when the C{zope.interface} package is not installed. """ with SetAsideModule("zope"): # Create a minimal module to represent the zope namespace package, # but don't give it an "interface" attribute. sys.modules["zope"] = ModuleType("zope") with self.assertRaises(ImportError) as raised: _checkRequirements() self.assertEqual( "Twisted requires zope.interface %d.%d.%d or later: no module " "named zope.interface." % self.supportedZopeInterfaceVersion, str(raised.exception))
def test_newPython(self): """ L{_checkRequirements} returns L{None} when run on a version of Python that is sufficiently new. """ sys.version_info = self.supportedPythonVersion self.assertIsNone(_checkRequirements())
def test_missingZopeNamespace(self): """ L{_checkRequirements} raises L{ImportError} when the C{zope} namespace package is not installed. """ with SetAsideModule("zope"): # After an import for a module fails, it gets a None value in # sys.modules as a cache of that negative result. Future import # attempts see it and fail fast without checking the system again. sys.modules["zope"] = None with self.assertRaises(ImportError) as raised: _checkRequirements() self.assertEqual( "Twisted requires zope.interface %d.%d.%d or later: no module " "named zope.interface." % self.supportedZopeInterfaceVersion, str(raised.exception))
def test_newPythonPy3(self): """ L{_checkRequirements} returns C{None} when run on a version of Python that is sufficiently new. """ sys.version_info = self.Py3supportedPythonVersion self.assertEqual(None, _checkRequirements())
def test_newPythonPy3(self): """ L{_checkRequirements} returns L{None} when run on a version of Python that is sufficiently new. """ sys.version_info = self.Py3supportedPythonVersion self.assertIsNone(_checkRequirements())
def test_newPython(self): """ L{_checkRequirements} returns C{None} when run on a version of Python that is sufficiently new. """ sys.version_info = self.supportedPythonVersion self.assertEqual(None, _checkRequirements())
def test_newZopeInterface(self): """ L{_checkRequirements} returns C{None} when C{zope.interface} is installed and new enough. """ with SetAsideModule("zope"): _install(_zope36) self.assertEqual(None, _checkRequirements())
def test_newZopeInterface(self): """ If the installed version of C{zope.interface} does support the C{implementer} class decorator, L{_checkRequirements} returns C{None}. """ with SetAsideModule("zope"): _install(_zope40) self.assertEqual(None, _checkRequirements())