Tests for miscellaneous behaviors of the top-level twisted package (ie, for the code in
twisted/__init__.py.
| Class | SetAsideModule | SetAsideModule
is a context manager for temporarily removing a module from
sys.modules. |
| Class | MakePackagesTests | Tests for _makePackages,
a helper for populating sys.modules with fictional
modules. |
| Function | _install | Take a mapping defining a package and turn it into real
ModuleType instances in sys.modules. |
| Function | _makePackages | Construct module objects (for either modules or packages). |
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}
Construct module objects (for either modules or packages).
| Parameters | parent | 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. |
| attributes | A mapping giving the attributes of the particular module object this call is creating. | |
| result | A mapping which is populated with all created module names. This is
suitable for use in updating sys.modules. | |
| Returns | A mapping of all of the attributes created by this call. This is suitable
for populating the dictionary of parent. | |
| See Also | _install. | |