/
usr
/
lib
/
python3
/
dist-packages
/
twisted
/
test
/
/usr/lib/python3/dist-packages/twisted/test
mkdir
upload
Name
Size
Mode
Actions
__pycache__/
-
0755
rm
cert.pem.no_trailing_newline
1414
0644
edit
dl
rm
crash_test_dummy.py
543
0644
edit
dl
rm
iosim.py
17843
0644
edit
dl
rm
key.pem.no_trailing_newline
1707
0644
edit
dl
rm
mock_win32process.py
1499
0644
edit
dl
rm
myrebuilder1.py
158
0644
edit
dl
rm
myrebuilder2.py
158
0644
edit
dl
rm
plugin_basic.py
943
0644
edit
dl
rm
plugin_extra1.py
407
0644
edit
dl
rm
plugin_extra2.py
579
0644
edit
dl
rm
process_cmdline.py
162
0644
edit
dl
rm
process_echoer.py
214
0644
edit
dl
rm
process_fds.py
945
0644
edit
dl
rm
process_getargv.py
283
0644
edit
dl
rm
process_getenv.py
268
0644
edit
dl
rm
process_linger.py
286
0644
edit
dl
rm
process_reader.py
188
0644
edit
dl
rm
process_signal.py
214
0644
edit
dl
rm
process_stdinreader.py
857
0644
edit
dl
rm
process_tester.py
1035
0644
edit
dl
rm
process_tty.py
130
0644
edit
dl
rm
process_twisted.py
1206
0644
edit
dl
rm
proto_helpers.py
28687
0644
edit
dl
rm
raiser.cpython-38-x86_64-linux-gnu.so
23864
0644
edit
dl
rm
reflect_helper_IE.py
61
0644
edit
dl
rm
reflect_helper_VE.py
82
0644
edit
dl
rm
reflect_helper_ZDE.py
47
0644
edit
dl
rm
server.pem
4444
0644
edit
dl
rm
ssl_helpers.py
1032
0644
edit
dl
rm
stdio_test_consumer.py
1216
0644
edit
dl
rm
stdio_test_halfclose.py
1938
0644
edit
dl
rm
stdio_test_hostpeer.py
1021
0644
edit
dl
rm
stdio_test_lastwrite.py
1206
0644
edit
dl
rm
stdio_test_loseconn.py
1548
0644
edit
dl
rm
stdio_test_producer.py
1507
0644
edit
dl
rm
stdio_test_write.py
923
0644
edit
dl
rm
stdio_test_writeseq.py
915
0644
edit
dl
rm
testutils.py
5321
0644
edit
dl
rm
test_abstract.py
3497
0644
edit
dl
rm
test_adbapi.py
26148
0644
edit
dl
rm
test_amp.py
110553
0644
edit
dl
rm
test_application.py
32816
0644
edit
dl
rm
test_compat.py
29278
0644
edit
dl
rm
test_context.py
1515
0644
edit
dl
rm
test_cooperator.py
21467
0644
edit
dl
rm
test_defer.py
103407
0644
edit
dl
rm
test_defgen.py
10701
0644
edit
dl
rm
test_dict.py
1442
0644
edit
dl
rm
test_dirdbm.py
6695
0644
edit
dl
rm
test_error.py
8593
0644
edit
dl
rm
test_factories.py
4637
0644
edit
dl
rm
test_failure.py
32288
0644
edit
dl
rm
test_fdesc.py
7371
0644
edit
dl
rm
test_finger.py
1997
0644
edit
dl
rm
test_formmethod.py
3645
0644
edit
dl
rm
test_ftp.py
130321
0644
edit
dl
rm
test_ftp_options.py
2685
0644
edit
dl
rm
test_htb.py
3190
0644
edit
dl
rm
test_ident.py
7015
0644
edit
dl
rm
test_internet.py
46422
0644
edit
dl
rm
test_iosim.py
9060
0644
edit
dl
rm
test_iutils.py
13445
0644
edit
dl
rm
test_lockfile.py
15506
0644
edit
dl
rm
test_log.py
36330
0644
edit
dl
rm
test_logfile.py
18227
0644
edit
dl
rm
test_loopback.py
14486
0644
edit
dl
rm
test_main.py
2501
0644
edit
dl
rm
test_memcache.py
25143
0644
edit
dl
rm
test_modules.py
17888
0644
edit
dl
rm
test_monkey.py
5637
0644
edit
dl
rm
test_nooldstyle.py
5955
0644
edit
dl
rm
test_paths.py
74357
0644
edit
dl
rm
test_pcp.py
12551
0644
edit
dl
rm
test_persisted.py
14624
0644
edit
dl
rm
test_plugin.py
26113
0644
edit
dl
rm
test_policies.py
33499
0644
edit
dl
rm
test_postfix.py
4243
0644
edit
dl
rm
test_process.py
86120
0644
edit
dl
rm
test_protocols.py
7450
0644
edit
dl
rm
test_randbytes.py
3357
0644
edit
dl
rm
test_rebuild.py
8495
0644
edit
dl
rm
test_reflect.py
26085
0644
edit
dl
rm
test_roots.py
1812
0644
edit
dl
rm
test_shortcut.py
1991
0644
edit
dl
rm
test_sip.py
25284
0644
edit
dl
rm
test_sob.py
5632
0644
edit
dl
rm
test_socks.py
17738
0644
edit
dl
rm
test_ssl.py
23846
0644
edit
dl
rm
test_sslverify.py
113322
0644
edit
dl
rm
test_stateful.py
2021
0644
edit
dl
rm
test_stdio.py
13156
0644
edit
dl
rm
test_strerror.py
5183
0644
edit
dl
rm
test_stringtransport.py
13264
0644
edit
dl
rm
test_strports.py
1797
0644
edit
dl
rm
test_task.py
39326
0644
edit
dl
rm
test_tcp.py
65820
0644
edit
dl
rm
test_tcp_internals.py
13117
0644
edit
dl
rm
test_text.py
6456
0644
edit
dl
rm
test_threadable.py
3738
0644
edit
dl
rm
test_threadpool.py
22204
0644
edit
dl
rm
test_threads.py
13268
0644
edit
dl
rm
test_tpfile.py
1601
0644
edit
dl
rm
test_twistd.py
74201
0644
edit
dl
rm
test_twisted.py
11173
0644
edit
dl
rm
test_udp.py
24676
0644
edit
dl
rm
test_unix.py
15157
0644
edit
dl
rm
test_usage.py
23645
0644
edit
dl
rm
__init__.py
103
0644
edit
dl
rm
Edit:
/usr/lib/python3/dist-packages/twisted/test/test_twisted.py
(11173B)
# Copyright (c) Twisted Matrix Laboratories. # See LICENSE for details. """ Tests for miscellaneous behaviors of the top-level L{twisted} package (ie, for the code in C{twisted/__init__.py}. """ from __future__ import division, absolute_import import sys import twisted from types import ModuleType from twisted.python._setup import _checkPythonVersion from twisted.python.compat import _PY3 from twisted.python import reflect from twisted.trial.unittest import TestCase # This is somewhat generally useful and should probably be part of a public API # somewhere. See #5977. class SetAsideModule(object): """ L{SetAsideModule} is a context manager for temporarily removing a module from C{sys.modules}. @ivar name: The name of the module to remove. """ def __init__(self, name): self.name = name def _unimport(self, name): """ Find the given module and all of its hierarchically inferior modules in C{sys.modules}, remove them from it, and return whatever was found. """ modules = dict([ (moduleName, module) for (moduleName, module) in list(sys.modules.items()) if (moduleName == self.name or moduleName.startswith(self.name + "."))]) for name in modules: del sys.modules[name] return modules def __enter__(self): self.modules = self._unimport(self.name) def __exit__(self, excType, excValue, traceback): self._unimport(self.name) sys.modules.update(self.modules) def _install(modules): """ Take a mapping defining a package and turn it into real C{ModuleType} instances in C{sys.modules}. Consider these example:: a = {"foo": "bar"} b = {"twisted": {"__version__": "42.6"}} c = {"twisted": {"plugin": {"getPlugins": stub}}} C{_install(a)} will place an item into C{sys.modules} with C{"foo"} as the key and C{"bar" as the value. C{_install(b)} will place an item into C{sys.modules} with C{"twisted"} as the key. The value will be a new module object. The module will have a C{"__version__"} attribute with C{"42.6"} as the value. C{_install(c)} will place an item into C{sys.modules} with C{"twisted"} as the key. The value will be a new module object with a C{"plugin"} attribute. An item will also be placed into C{sys.modules} with the key C{"twisted.plugin"} which refers to that module object. That module will have an attribute C{"getPlugins"} with a value of C{stub}. @param modules: A mapping from names to definitions of modules. The names are native strings like C{"twisted"} or C{"unittest"}. Values may be arbitrary objects. Any value which is not a dictionary will be added to C{sys.modules} unmodified. Any dictionary value indicates the value is a new module and its items define the attributes of that module. The definition of this structure is recursive, so a value in the dictionary may be a dictionary to trigger another level of processing. @return: L{None} """ result = {} _makePackages(None, modules, result) sys.modules.update(result) def _makePackages(parent, attributes, result): """ Construct module objects (for either modules or packages). @param parent: L{None} or a module object which is the Python package containing all of the modules being created by this function call. Its name will be prepended to the name of all created modules. @param attributes: A mapping giving the attributes of the particular module object this call is creating. @param result: A mapping which is populated with all created module names. This is suitable for use in updating C{sys.modules}. @return: A mapping of all of the attributes created by this call. This is suitable for populating the dictionary of C{parent}. @see: L{_install}. """ attrs = {} for (name, value) in list(attributes.items()): if parent is None: if isinstance(value, dict): module = ModuleType(name) module.__dict__.update(_makePackages(module, value, result)) result[name] = module else: result[name] = value else: if isinstance(value, dict): module = ModuleType(parent.__name__ + '.' + name) module.__dict__.update(_makePackages(module, value, result)) result[parent.__name__ + '.' + name] = module attrs[name] = module else: attrs[name] = value return attrs class RequirementsTests(TestCase): """ Tests for the import-time requirements checking. @ivar unsupportedPythonVersion: The newest version of Python 2.x which is not supported by Twisted. @type unsupportedPythonVersion: C{tuple} @ivar supportedPythonVersion: The oldest version of Python 2.x which is supported by Twisted. @type supportedPythonVersion: C{tuple} @ivar Py3unsupportedPythonVersion: The newest version of Python 3.x which is not supported by Twisted. @type Py3unsupportedPythonVersion: C{tuple} @ivar Py3supportedPythonVersion: The oldest version of Python 3.x which is supported by Twisted. @type supportedPythonVersion: C{tuple} """ unsupportedPythonVersion = (2, 6) supportedPythonVersion = (2, 7) Py3unsupportedPythonVersion = (3, 3) Py3supportedPythonVersion = (3, 4) def setUp(self): """ Save the original value of C{sys.version_info} so it can be restored after the tests mess with it. """ self.version = sys.version_info def tearDown(self): """ Restore the original values saved in L{setUp}. """ sys.version_info = self.version def test_oldPython(self): """ L{_checkPythonVersion} 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: _checkPythonVersion() self.assertEqual("Twisted requires Python %d.%d or later." % self.supportedPythonVersion, str(raised.exception)) def test_newPython(self): """ L{_checkPythonVersion} returns L{None} when run on a version of Python that is sufficiently new. """ sys.version_info = self.supportedPythonVersion self.assertIsNone(_checkPythonVersion()) def test_oldPythonPy3(self): """ L{_checkPythonVersion} 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: _checkPythonVersion() self.assertEqual("Twisted on Python 3 requires Python %d.%d or later." % self.Py3supportedPythonVersion, str(raised.exception)) def test_newPythonPy3(self): """ L{_checkPythonVersion} returns L{None} when run on a version of Python that is sufficiently new. """ sys.version_info = self.Py3supportedPythonVersion self.assertIsNone(_checkPythonVersion()) class MakePackagesTests(TestCase): """ Tests for L{_makePackages}, a helper for populating C{sys.modules} with fictional modules. """ def test_nonModule(self): """ A non-C{dict} value in the attributes dictionary passed to L{_makePackages} is preserved unchanged in the return value. """ modules = {} _makePackages(None, dict(reactor='reactor'), modules) self.assertEqual(modules, dict(reactor='reactor')) def test_moduleWithAttribute(self): """ A C{dict} value in the attributes dictionary passed to L{_makePackages} is turned into a L{ModuleType} instance with attributes populated from the items of that C{dict} value. """ modules = {} _makePackages(None, dict(twisted=dict(version='123')), modules) self.assertIsInstance(modules, dict) self.assertIsInstance(modules['twisted'], ModuleType) self.assertEqual('twisted', modules['twisted'].__name__) self.assertEqual('123', modules['twisted'].version) def test_packageWithModule(self): """ Processing of the attributes dictionary is recursive, so a C{dict} value it contains may itself contain a C{dict} value to the same effect. """ modules = {} _makePackages(None, dict(twisted=dict(web=dict(version='321'))), modules) self.assertIsInstance(modules, dict) self.assertIsInstance(modules['twisted'], ModuleType) self.assertEqual('twisted', modules['twisted'].__name__) self.assertIsInstance(modules['twisted'].web, ModuleType) self.assertEqual('twisted.web', modules['twisted'].web.__name__) self.assertEqual('321', modules['twisted'].web.version) class OldSubprojectDeprecationBase(TestCase): """ Base L{TestCase} for verifying each former subproject has a deprecated C{__version__} and a removed C{_version.py}. """ subproject = None def test_deprecated(self): """ The C{__version__} attribute of former subprojects is deprecated. """ module = reflect.namedAny("twisted.{}".format(self.subproject)) self.assertEqual(module.__version__, twisted.__version__) warningsShown = self.flushWarnings() self.assertEqual(1, len(warningsShown)) self.assertEqual( "twisted.{}.__version__ was deprecated in Twisted 16.0.0: " "Use twisted.__version__ instead.".format(self.subproject), warningsShown[0]['message']) def test_noversionpy(self): """ Former subprojects no longer have an importable C{_version.py}. """ with self.assertRaises(AttributeError): reflect.namedAny( "twisted.{}._version".format(self.subproject)) if _PY3: subprojects = ["conch", "web", "names"] else: subprojects = ["mail", "conch", "runner", "web", "words", "names", "news", "pair"] for subproject in subprojects: class SubprojectTestCase(OldSubprojectDeprecationBase): """ See L{OldSubprojectDeprecationBase}. """ subproject = subproject newName = subproject.title() + "VersionDeprecationTests" SubprojectTestCase.__name__ = newName if _PY3: SubprojectTestCase.__qualname__= ".".join( OldSubprojectDeprecationBase.__qualname__.split()[0:-1] + [newName]) globals().update({subproject.title() + "VersionDeprecationTests": SubprojectTestCase}) del SubprojectTestCase del newName del OldSubprojectDeprecationBase
Save
cmd:
run