/usr/lib/python3/dist-packages/twisted/test
NameSizeModeActions
__pycache__/-0755rm
cert.pem.no_trailing_newline14140644editdlrm
crash_test_dummy.py5490644editdlrm
ignore_test_failure.py314590644editdlrm
iosim.py181630644editdlrm
key.pem.no_trailing_newline17070644editdlrm
mock_win32process.py12990644editdlrm
myrebuilder1.py1510644editdlrm
myrebuilder2.py1510644editdlrm
plugin_basic.py9010644editdlrm
plugin_extra1.py3920644editdlrm
plugin_extra2.py5500644editdlrm
process_cmdline.py1230644editdlrm
process_echoer.py2140644editdlrm
process_fds.py9840644editdlrm
process_getargv.py2340644editdlrm
process_getenv.py2680644editdlrm
process_linger.py2970644editdlrm
process_reader.py1780644editdlrm
process_signal.py2200644editdlrm
process_stdinreader.py7390644editdlrm
process_tester.py7790644editdlrm
process_tty.py1300644editdlrm
process_twisted.py11820644editdlrm
proto_helpers.py13680644editdlrm
reflect_helper_IE.py600644editdlrm
reflect_helper_VE.py810644editdlrm
reflect_helper_ZDE.py480644editdlrm
server.pem44440644editdlrm
ssl_helpers.py16500644editdlrm
stdio_test_consumer.py11680644editdlrm
stdio_test_halfclose.py20470644editdlrm
stdio_test_hostpeer.py10890644editdlrm
stdio_test_lastwrite.py11540644editdlrm
stdio_test_loseconn.py15830644editdlrm
stdio_test_producer.py14840644editdlrm
stdio_test_write.py9020644editdlrm
stdio_test_writeseq.py8940644editdlrm
testutils.py51780644editdlrm
test_abstract.py34350644editdlrm
test_adbapi.py261750644editdlrm
test_amp.py1105140644editdlrm
test_application.py341400644editdlrm
test_compat.py181720644editdlrm
test_context.py14640644editdlrm
test_cooperator.py213390644editdlrm
test_defer.py1247820644editdlrm
test_defgen.py106340644editdlrm
test_dict.py15280644editdlrm
test_dirdbm.py68510644editdlrm
test_error.py89260644editdlrm
test_factories.py45670644editdlrm
test_fdesc.py74520644editdlrm
test_finger.py18940644editdlrm
test_formmethod.py39610644editdlrm
test_ftp.py1300020644editdlrm
test_ftp_options.py26880644editdlrm
test_htb.py31540644editdlrm
test_ident.py67180644editdlrm
test_internet.py464690644editdlrm
test_iosim.py89080644editdlrm
test_iutils.py136320644editdlrm
test_lockfile.py153360644editdlrm
test_log.py360730644editdlrm
test_logfile.py178910644editdlrm
test_loopback.py143210644editdlrm
test_main.py21660644editdlrm
test_memcache.py252840644editdlrm
test_modules.py174280644editdlrm
test_monkey.py55190644editdlrm
test_paths.py709720644editdlrm
test_pcp.py125280644editdlrm
test_persisted.py134070644editdlrm
test_plugin.py253840644editdlrm
test_policies.py330610644editdlrm
test_postfix.py44270644editdlrm
test_process.py872030644editdlrm
test_protocols.py73340644editdlrm
test_randbytes.py32700644editdlrm
test_rebuild.py73230644editdlrm
test_reflect.py244690644editdlrm
test_roots.py16430644editdlrm
test_shortcut.py19620644editdlrm
test_sip.py254980644editdlrm
test_sob.py56670644editdlrm
test_socks.py174960644editdlrm
test_ssl.py233010644editdlrm
test_sslverify.py1166270644editdlrm
test_stateful.py20150644editdlrm
test_stdio.py127300644editdlrm
test_strerror.py52470644editdlrm
test_strports.py17050644editdlrm
test_task.py463480644editdlrm
test_tcp.py658130644editdlrm
test_tcp_internals.py130360644editdlrm
test_text.py63670644editdlrm
test_threadable.py33380644editdlrm
test_threadpool.py219560644editdlrm
test_threads.py132110644editdlrm
test_tpfile.py15450644editdlrm
test_twistd.py737680644editdlrm
test_twisted.py62770644editdlrm
test_udp.py250120644editdlrm
test_unix.py135790644editdlrm
test_usage.py233110644editdlrm
__init__.py4750644editdlrm
Edit: /usr/lib/python3/dist-packages/twisted/test/test_twisted.py (6277B)
# 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}. """ import sys from types import ModuleType 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: """ 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 = { 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 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)