D: [iurt_root_command] chroot
warning: Found bdb_ro Packages database while attempting sqlite backend: using bdb_ro backend.
Installing /home/iurt/rpmbuild/SRPMS/python-zope-component-5.0.0-1.mga9.src.rpm
Building target platforms: aarch64
Building for target aarch64
Executing(%prep): /bin/sh -e /home/iurt/rpmbuild/tmp/rpm-tmp.aHoTUl
+ umask 022
+ cd /home/iurt/rpmbuild/BUILD
+ '[' 1 -eq 1 ']'
+ '[' 1 -eq 1 ']'
+ '[' 1 -eq 1 ']'
+ cd /home/iurt/rpmbuild/BUILD
+ rm -rf zope.component-5.0.0
+ /usr/bin/gzip -dc /home/iurt/rpmbuild/SOURCES/zope.component-5.0.0.tar.gz
+ /usr/bin/tar -xof -
+ STATUS=0
+ '[' 0 -ne 0 ']'
+ cd zope.component-5.0.0
+ /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w .
+ rm -rf src/zope.component.egg-info
+ RPM_EC=0
++ jobs -p
+ exit 0
Executing(%build): /bin/sh -e /home/iurt/rpmbuild/tmp/rpm-tmp.dbEfyi
+ umask 022
+ cd /home/iurt/rpmbuild/BUILD
+ cd zope.component-5.0.0
+ '[' 1 -eq 1 ']'
+ '[' 1 -eq 1 ']'
+ CFLAGS='-O2 -g -pipe -Wformat -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector --param=ssp-buffer-size=4 -fasynchronous-unwind-tables'
+ LDFLAGS=' -Wl,--as-needed -Wl,--no-undefined -Wl,-z,relro -Wl,-O1 -Wl,--build-id -Wl,--enable-new-dtags'
+ /usr/bin/python3 setup.py build '--executable=/usr/bin/python3 -s'
running build
running build_py
creating build
creating build/lib
creating build/lib/zope
copying src/zope/__init__.py -> build/lib/zope
creating build/lib/zope/component
copying src/zope/component/zcml.py -> build/lib/zope/component
copying src/zope/component/testlayer.py -> build/lib/zope/component
copying src/zope/component/testing.py -> build/lib/zope/component
copying src/zope/component/standalonetests.py -> build/lib/zope/component
copying src/zope/component/security.py -> build/lib/zope/component
copying src/zope/component/registry.py -> build/lib/zope/component
copying src/zope/component/persistentregistry.py -> build/lib/zope/component
copying src/zope/component/interfaces.py -> build/lib/zope/component
copying src/zope/component/interface.py -> build/lib/zope/component
copying src/zope/component/hooks.py -> build/lib/zope/component
copying src/zope/component/globalregistry.py -> build/lib/zope/component
copying src/zope/component/factory.py -> build/lib/zope/component
copying src/zope/component/eventtesting.py -> build/lib/zope/component
copying src/zope/component/event.py -> build/lib/zope/component
copying src/zope/component/_declaration.py -> build/lib/zope/component
copying src/zope/component/_compat.py -> build/lib/zope/component
copying src/zope/component/_api.py -> build/lib/zope/component
copying src/zope/component/__init__.py -> build/lib/zope/component
creating build/lib/zope/component/tests
copying src/zope/component/tests/test_zcml.py -> build/lib/zope/component/tests
copying src/zope/component/tests/test_standalone.py -> build/lib/zope/component/tests
copying src/zope/component/tests/test_security.py -> build/lib/zope/component/tests
copying src/zope/component/tests/test_registry.py -> build/lib/zope/component/tests
copying src/zope/component/tests/test_persistentregistry.py -> build/lib/zope/component/tests
copying src/zope/component/tests/test_interfaces.py -> build/lib/zope/component/tests
copying src/zope/component/tests/test_interface.py -> build/lib/zope/component/tests
copying src/zope/component/tests/test_hooks.py -> build/lib/zope/component/tests
copying src/zope/component/tests/test_globalregistry.py -> build/lib/zope/component/tests
copying src/zope/component/tests/test_factory.py -> build/lib/zope/component/tests
copying src/zope/component/tests/test_event.py -> build/lib/zope/component/tests
copying src/zope/component/tests/test__declaration.py -> build/lib/zope/component/tests
copying src/zope/component/tests/test__api.py -> build/lib/zope/component/tests
copying src/zope/component/tests/test___init__.py -> build/lib/zope/component/tests
copying src/zope/component/tests/examples.py -> build/lib/zope/component/tests
copying src/zope/component/tests/__init__.py -> build/lib/zope/component/tests
creating build/lib/zope/component/testfiles
copying src/zope/component/testfiles/views.py -> build/lib/zope/component/testfiles
copying src/zope/component/testfiles/components.py -> build/lib/zope/component/testfiles
copying src/zope/component/testfiles/adapter.py -> build/lib/zope/component/testfiles
copying src/zope/component/testfiles/__init__.py -> build/lib/zope/component/testfiles
running egg_info
creating src/zope.component.egg-info
writing src/zope.component.egg-info/PKG-INFO
writing dependency_links to src/zope.component.egg-info/dependency_links.txt
writing namespace_packages to src/zope.component.egg-info/namespace_packages.txt
writing requirements to src/zope.component.egg-info/requires.txt
writing top-level names to src/zope.component.egg-info/top_level.txt
writing manifest file 'src/zope.component.egg-info/SOURCES.txt'
reading manifest file 'src/zope.component.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
adding license file 'LICENSE.txt'
writing manifest file 'src/zope.component.egg-info/SOURCES.txt'
copying src/zope/component/configure.zcml -> build/lib/zope/component
copying src/zope/component/meta.zcml -> build/lib/zope/component
copying src/zope/component/testfiles/testlayer.zcml -> build/lib/zope/component/testfiles
++ grep Author: PKG-INFO
++ sed -e 's/Author: //'
+ COPYRIGHT='Zope Foundation and Contributors'
+ cat
+ sphinx-build -b html docs/ html
Running Sphinx v4.1.2
making output directory... done
WARNING: html_static_path entry '_static' does not exist
building [mo]: targets for 0 po files that are out of date
building [html]: targets for 23 source files that are out of date
updating environment: [new config] 23 added, 0 changed, 0 removed
reading sources... [  4%] api
reading sources... [  8%] api/adapter
reading sources... [ 13%] api/factory
reading sources... [ 17%] api/hooks
reading sources... [ 21%] api/interface
reading sources... [ 26%] api/interfaces
reading sources... [ 30%] api/module
reading sources... [ 34%] api/persistent
reading sources... [ 39%] api/security
reading sources... [ 43%] api/sitemanager
reading sources... [ 47%] api/utility
reading sources... [ 52%] changelog
reading sources... [ 56%] configure
reading sources... [ 60%] event
reading sources... [ 65%] factory
reading sources... [ 69%] hacking
reading sources... [ 73%] hooks
reading sources... [ 78%] index
reading sources... [ 82%] narr
reading sources... [ 86%] persistentregistry
reading sources... [ 91%] socketexample
reading sources... [ 95%] testlayer
reading sources... [100%] zcml

/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/api/adapter.rst:9: WARNING: Unknown directive type "testsetup".

.. testsetup::

   from zope.component.testing import setUp
   setUp()
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/api/adapter.rst:14: WARNING: Unknown directive type "autofunction".

.. autofunction:: zope.component.provideAdapter
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/api/adapter.rst:16: WARNING: Unknown directive type "autofunction".

.. autofunction:: zope.component.provideHandler
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/api/adapter.rst:18: WARNING: Unknown directive type "autofunction".

.. autofunction:: zope.component.provideSubscriptionAdapter
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/api/adapter.rst:23: WARNING: Unknown directive type "autofunction".

.. autofunction:: zope.component.getAdapterInContext
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/api/adapter.rst:25: WARNING: Unknown directive type "autofunction".

.. autofunction:: zope.component.queryAdapterInContext
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/api/adapter.rst:35: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> from zope.interface import implementer
   >>> from zope.component.tests.examples import I1
   >>> from zope.component.tests.examples import I2
   >>> @implementer(I1)
   ... class Component(object):
   ...     def __conform__(self, iface, default=None):
   ...         if iface == I2:
   ...             return 42
   >>> ob = Component()
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/api/adapter.rst:53: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> from zope.component.globalregistry import BaseGlobalComponents
   >>> sitemanager = BaseGlobalComponents()
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/api/adapter.rst:61: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> from zope.component.tests.examples import ConformsToIComponentLookup
   >>> context = ConformsToIComponentLookup(sitemanager)
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/api/adapter.rst:69: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> from zope.component import getAdapterInContext
   >>> from zope.component import queryAdapterInContext
   >>> getAdapterInContext(ob, I1, context) is ob
   True
   >>> queryAdapterInContext(ob, I1, context) is ob
   True
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/api/adapter.rst:81: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> getAdapterInContext(ob, I2, context)
   42
   >>> queryAdapterInContext(ob, I2, context)
   42
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/api/adapter.rst:91: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> from zope.interface import Interface
   >>> class I4(Interface):
   ...     pass

   >>> getAdapterInContext(ob, I4, context)
   Traceback (most recent call last):
   ...
   ComponentLookupError: (<Component implementing 'I1'>,
                          <InterfaceClass ...I4>)
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/api/adapter.rst:105: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> queryAdapterInContext(ob, I4, context, 44)
   44
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/api/adapter.rst:113: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> from zope.component.tests.examples import I3
   >>> sitemanager.registerAdapter(lambda x: 43, (I1,), I3, '')
   >>> getAdapterInContext(ob, I3, context)
   43
   >>> queryAdapterInContext(ob, I3, context)
   43
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/api/adapter.rst:125: WARNING: Unknown directive type "autofunction".

.. autofunction:: zope.component.getAdapter
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/api/adapter.rst:127: WARNING: Unknown directive type "autofunction".

.. autofunction:: zope.component.queryAdapter
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/api/adapter.rst:138: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> from zope.component import getAdapter
   >>> from zope.component import queryAdapter
   >>> from zope.component.tests.examples import I2
   >>> from zope.component.tests.examples import ob
   >>> getAdapter(ob, I2, '')
   Traceback (most recent call last):
   ...
   ComponentLookupError: (<instance Ob>,
                          <InterfaceClass zope.component.tests.examples.I2>,
                          '')
   >>> queryAdapter(ob, I2, '', '<default>')
   '<default>'
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/api/adapter.rst:156: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> from zope.component import getGlobalSiteManager
   >>> from zope.component.tests.examples import Comp
   >>> gsm = getGlobalSiteManager()
   >>> gsm.registerAdapter(Comp, I1, I2, '')
   Traceback (most recent call last):
     ...
   TypeError: the required argument should be a list of interfaces, not a single interface
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/api/adapter.rst:168: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> from zope.component import getGlobalSiteManager
   >>> from zope.component.tests.examples import Comp
   >>> gsm = getGlobalSiteManager()
   >>> gsm.registerAdapter(Comp, (I1,), I2, '')
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/api/adapter.rst:177: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> adapted = getAdapter(ob, I2, '')
   >>> adapted.__class__ is Comp
   True
   >>> adapted.context is ob
   True
   >>> adapted = queryAdapter(ob, I2, '')
   >>> adapted.__class__ is Comp
   True
   >>> adapted.context is ob
   True
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/api/adapter.rst:192: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> getAdapter(ob, I2, 'named')
   Traceback (most recent call last):
   ...
   ComponentLookupError: (<instance Ob>,
                          <InterfaceClass ....I2>,
                          'named')
   >>> queryAdapter(ob, I2, 'named', '<default>')
   '<default>'
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/api/adapter.rst:205: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> gsm.registerAdapter(Comp, (I1,), I2, 'named')
   >>> adapted = getAdapter(ob, I2, 'named')
   >>> adapted.__class__ is Comp
   True
   >>> adapted.context is ob
   True
   >>> adapted = queryAdapter(ob, I2, 'named')
   >>> adapted.__class__ is Comp
   True
   >>> adapted.context is ob
   True
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/api/adapter.rst:226: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> adapted = I2(ob)
   >>> adapted.__class__ is Comp
   True
   >>> adapted.context is ob
   True
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/api/adapter.rst:236: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> I2(object())
   Traceback (most recent call last):
   ...
   TypeError: ('Could not adapt'...
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/api/adapter.rst:245: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> marker = object()
   >>> adapted = I2(object(), marker)
   >>> adapted is marker
   True
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/api/adapter.rst:258: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> gsm.registerAdapter(Comp, (None,), I2, '')
   >>> adapter = I2(ob)
   >>> adapter.__class__ is Comp
   True
   >>> adapter.context is ob
   True
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/api/adapter.rst:269: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> something = object()
   >>> adapter = I2(something)
   >>> adapter.__class__ is Comp
   True
   >>> adapter.context is something
   True
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/api/adapter.rst:281: WARNING: Unknown directive type "autofunction".

.. autofunction:: zope.component.getMultiAdapter
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/api/adapter.rst:283: WARNING: Unknown directive type "autofunction".

.. autofunction:: zope.component.queryMultiAdapter
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/api/adapter.rst:289: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> from zope.component.tests.examples import Ob2
   >>> ob2 = Ob2()
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/api/adapter.rst:298: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> from zope.component import getMultiAdapter
   >>> getMultiAdapter((ob, ob2), I3)
   Traceback (most recent call last):
   ...
   ComponentLookupError:
   ((<instance Ob>, <instance Ob2>),
    <InterfaceClass zope.component.tests.examples.I3>,
    u'')
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/api/adapter.rst:311: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> from zope.component import queryMultiAdapter
   >>> queryMultiAdapter((ob, ob2), I3, default='<default>')
   '<default>'
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/api/adapter.rst:322: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> from zope.interface import implementer
   >>> @implementer(I3)
   ... class DoubleAdapter(object):
   ...     def __init__(self, first, second):
   ...         self.first = first
   ...         self.second = second
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/api/adapter.rst:333: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> from zope.component import getGlobalSiteManager
   >>> getGlobalSiteManager().registerAdapter(DoubleAdapter, (I1, I2), I3, '')
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/api/adapter.rst:342: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> adapter = getMultiAdapter((ob, ob2), I3)
   >>> adapter.__class__ is DoubleAdapter
   True
   >>> adapter.first is ob
   True
   >>> adapter.second is ob2
   True
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/api/adapter.rst:356: WARNING: Unknown directive type "autofunction".

.. autofunction:: zope.component.getAdapters
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/api/adapter.rst:364: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> class I5(I1):
   ...     pass
   >>> gsm.registerAdapter(Comp, [I1], I5, '')
   >>> gsm.registerAdapter(Comp, [None], I5, 'foo')
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/api/adapter.rst:375: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> from zope.component import getAdapters
   >>> adapters = sorted(getAdapters((ob,), I5))
   >>> [(str(name), adapter.__class__.__name__) for name, adapter in adapters]
   [('', 'Comp'), ('foo', 'Comp')]
   >>> try:
   ...    text = unicode
   ... except NameError:
   ...    text = str # Python 3
   >>> [isinstance(name, text) for name, _ in adapters]
   [True, True]
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/api/adapter.rst:391: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> gsm.registerAdapter(lambda context: None, [I1], I5, 'nah')
   >>> adapters = sorted(getAdapters((ob,), I5))
   >>> [(str(name), adapter.__class__.__name__) for name, adapter in adapters]
   [('', 'Comp'), ('foo', 'Comp')]
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/api/adapter.rst:402: WARNING: Unknown directive type "autofunction".

.. autofunction:: zope.component.subscribers
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/api/adapter.rst:407: WARNING: Unknown directive type "autofunction".

.. autofunction:: zope.component.handle
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/api/adapter.rst:412: WARNING: Unknown directive type "autofunction".

.. autofunction:: zope.component.adapter
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/api/adapter.rst:414: WARNING: Unknown directive type "autofunction".

.. autofunction:: zope.component.adaptedBy
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/api/adapter.rst:416: WARNING: Unknown directive type "autofunction".

.. autofunction:: zope.component.adapts
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/api/adapter.rst:419: WARNING: Unknown directive type "testcleanup".

.. testcleanup::

   from zope.component.testing import tearDown
   tearDown()
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/api/factory.rst:7: WARNING: Unknown directive type "autofunction".

.. autofunction:: zope.component.createObject
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/api/factory.rst:9: WARNING: Unknown directive type "autofunction".

.. autofunction:: zope.component.getFactoryInterfaces
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/api/factory.rst:11: WARNING: Unknown directive type "autofunction".

.. autofunction:: zope.component.getFactoriesFor
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/api/factory.rst:19: WARNING: Unknown directive type "automodule".

.. automodule:: zope.component.factory
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/api/hooks.rst:7: WARNING: Unknown directive type "automodule".

.. automodule:: zope.component.hooks
   :noindex:
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/api/interface.rst:4: WARNING: Unknown directive type "testsetup".

.. testsetup::

   from zope.component.testing import setUp
   setUp()
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/api/interface.rst:12: WARNING: Unknown directive type "autofunction".

.. autofunction:: zope.component.interface.provideInterface
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/api/interface.rst:18: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> from zope.interface import Interface
   >>> from zope.interface.interfaces import IInterface
   >>> from zope.component.tests.examples import ITestType
   >>> from zope.component import getGlobalSiteManager
   >>> gsm = getGlobalSiteManager()

   >>> class IDemo(Interface):
   ...     pass
   >>> IInterface.providedBy(IDemo)
   True
   >>> ITestType.providedBy(IDemo)
   False
   >>> list(gsm.getUtilitiesFor(ITestType))
   []
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/api/interface.rst:37: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> from zope.component.interface import provideInterface
   >>> provideInterface('', IDemo, ITestType)
   >>> ITestType.providedBy(IDemo)
   True
   >>> interfaces = list(gsm.getUtilitiesFor(ITestType))
   >>> [iface.__name__ for (name, iface) in interfaces]
   ['IDemo']
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/api/interface.rst:49: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> class IOtherType(IInterface):
   ...     pass
   >>> provideInterface('', IDemo, IOtherType)
   >>> ITestType.providedBy(IDemo)
   True
   >>> IOtherType.providedBy(IDemo)
   True
   >>> interfaces = list(gsm.getUtilitiesFor(ITestType))
   >>> [iface.__name__ for (name, iface) in interfaces]
   ['IDemo']
   >>> interfaces = list(gsm.getUtilitiesFor(IOtherType))
   >>> [iface.__name__ for (name, iface) in interfaces]
   ['IDemo']
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/api/interface.rst:65: WARNING: Unknown directive type "testcleanup".

.. testcleanup::

   from zope.component.testing import tearDown
   tearDown()
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/api/interface.rst:71: WARNING: Unknown directive type "autofunction".

.. autofunction:: zope.component.interface.getInterface
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/api/interface.rst:73: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> from zope.interface import Interface
   >>> from zope.component.interface import getInterface
   >>> from zope.component.tests.examples import ITestType
   >>> from zope.component.tests.examples import IGI

   >>> IInterface.providedBy(IGI)
   True
   >>> ITestType.providedBy(IGI)
   False
   >>> getInterface(None, 'zope.component.tests.examples.IGI')
   Traceback (most recent call last):
   ...
   ComponentLookupError: zope.component.tests.examples.interface.IGI
   >>> provideInterface('', IGI, ITestType)
   >>> ITestType.providedBy(IGI)
   True
   >>> iface = getInterface(None,
   ...                      'zope.component.tests.examples.IGI')
   >>> iface.__name__
   'IGI'
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/api/interface.rst:96: WARNING: Unknown directive type "testcleanup".

.. testcleanup::

   from zope.component.testing import tearDown
   tearDown()
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/api/interface.rst:102: WARNING: Unknown directive type "autofunction".

.. autofunction:: zope.component.interface.queryInterface
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/api/interface.rst:104: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> from zope.interface import Interface
   >>> from zope.interface.interfaces import IInterface
   >>> from zope.component.interface import queryInterface
   >>> from zope.component.tests.examples import ITestType
   >>> from zope.component.tests.examples import IQI

   >>> IInterface.providedBy(IQI)
   True
   >>> ITestType.providedBy(IQI)
   False
   >>> queryInterface('zope.component.tests.examples.IQI') is None
   True

   >>> provideInterface('', IQI, ITestType)
   >>> ITestType.providedBy(IQI)
   True
   >>> iface = queryInterface('zope.component.tests.examples.IQI')
   >>> iface.__name__
   'IQI'
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/api/interface.rst:126: WARNING: Unknown directive type "testcleanup".

.. testcleanup::

   from zope.component.testing import tearDown
   tearDown()
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/api/interface.rst:132: WARNING: Unknown directive type "autofunction".

.. autofunction:: zope.component.interface.searchInterface
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/api/interface.rst:134: WARNING: Unknown directive type "doctest".

.. doctest::

    >>> from zope.interface import Interface
    >>> from zope.interface.interfaces import IInterface
    >>> from zope.component.interface import searchInterface
    >>> from zope.component.tests.examples import ITestType
    >>> from zope.component.tests.examples import ISI

    >>> IInterface.providedBy(ISI)
    True
    >>> ITestType.providedBy(ISI)
    False
    >>> searchInterface(None, 'zope.component.tests.examples.ISI')
    []
    >>> provideInterface('', ISI, ITestType)
    >>> ITestType.providedBy(ISI)
    True
    >>> searchInterface(None, 'zope.component.tests.examples.ISI') == [ISI]
    True
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/api/interface.rst:154: WARNING: Unknown directive type "testcleanup".

.. testcleanup::

   from zope.component.testing import tearDown
   tearDown()
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/api/interface.rst:159: WARNING: Unknown directive type "autofunction".

.. autofunction:: zope.component.interface.searchInterfaceIds
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/api/interface.rst:161: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> from zope.interface import Interface
   >>> from zope.interface.interfaces import IInterface
   >>> from zope.component.interface import searchInterfaceIds
   >>> from zope.component.tests.examples import ITestType
   >>> from zope.component.tests.examples import ISII

   >>> IInterface.providedBy(ISII)
   True
   >>> ITestType.providedBy(ISII)
   False
   >>> searchInterfaceIds(None, 'zope.component.tests.examples.ISII')
   []
   >>> provideInterface('', ISII, ITestType)
   >>> ITestType.providedBy(ISII)
   True
   >>> [str(x) for x in searchInterfaceIds(None, 'zope.component.tests.examples.ISII')]
   ['zope.component.tests.examples.ISII']
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/api/interface.rst:181: WARNING: Unknown directive type "testcleanup".

.. testcleanup::

   from zope.component.testing import tearDown
   tearDown()
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/api/interfaces.rst:5: WARNING: Unknown directive type "automodule".

.. automodule:: zope.component.interfaces
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/api/module.rst:11: WARNING: Unknown directive type "automodule".

.. automodule:: zope.component
   :noindex:
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/api/persistent.rst:5: WARNING: Unknown directive type "testsetup".

.. testsetup::

   from zope.component.testing import setUp
   setUp()
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/api/persistent.rst:11: WARNING: Unknown directive type "automodule".

.. automodule:: zope.component.persistentregistry
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/api/persistent.rst:21: WARNING: Unknown directive type "doctest".

.. doctest::

    >>> import ZODB.MappingStorage
    >>> db = ZODB.MappingStorage.DB()
    >>> import transaction
    >>> t1 = transaction.TransactionManager()
    >>> c1 = db.open(transaction_manager=t1)
    >>> r1 = c1.root()
    >>> t2 = transaction.TransactionManager()
    >>> c2 = db.open(transaction_manager=t2)
    >>> r2 = c2.root()
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/api/persistent.rst:36: WARNING: Unknown directive type "doctest".

.. doctest::

    >>> from zope.component.persistentregistry import PersistentComponents
    >>> from zope.component.tests.examples import I1
    >>> from zope.component.tests.examples import I2
    >>> from zope.component.tests.examples import U
    >>> from zope.component.tests.examples import U1
    >>> from zope.component.tests.examples import U12
    >>> from zope.component.tests.examples import handle1
    >>> from zope.component.tests.examples import handle2
    >>> from zope.component.tests.examples import handle3
    >>> from zope.component.tests.examples import handle4

    >>> _ = t1.begin()
    >>> r1[1] = PersistentComponents('1')
    >>> t1.commit()

    >>> _ = t2.begin()
    >>> r2[2] = PersistentComponents('2', (r2[1], ))
    >>> t2.commit()

    >>> _ = t1.begin()
    >>> r1[3] = PersistentComponents('3', (r1[1], ))
    >>> t1.commit()

    >>> _ = t2.begin()
    >>> r2[4] = PersistentComponents('4', (r2[2], r2[3]))
    >>> t2.commit()

    >>> _ = t1.begin()
    >>> r1[1].__bases__
    ()
    >>> r1[2].__bases__ == (r1[1], )
    True

    >>> r1[1].registerUtility(U1(1))
    >>> r1[1].queryUtility(I1)
    U1(1)
    >>> r1[2].queryUtility(I1)
    U1(1)
    >>> t1.commit()

    >>> _ = t2.begin()
    >>> r2[1].registerUtility(U1(2))
    >>> r2[2].queryUtility(I1)
    U1(2)

    >>> r2[4].queryUtility(I1)
    U1(2)
    >>> t2.commit()


    >>> _ = t1.begin()
    >>> r1[1].registerUtility(U12(1), I2)
    >>> r1[4].queryUtility(I2)
    U12(1)
    >>> t1.commit()


    >>> _ = t2.begin()
    >>> r2[3].registerUtility(U12(3), I2)
    >>> r2[4].queryUtility(I2)
    U12(3)
    >>> t2.commit()

    >>> _ = t1.begin()

    >>> r1[1].registerHandler(handle1, info="First handler")
    >>> r1[2].registerHandler(handle2, required=[U])

    >>> r1[3].registerHandler(handle3)

    >>> r1[4].registerHandler(handle4)

    >>> r1[4].handle(U1(1))
    handle1 U1(1)
    handle3 U1(1)
    handle2 (U1(1),)
    handle4 U1(1)

    >>> t1.commit()

    >>> _ = t2.begin()
    >>> r2[4].handle(U1(1))
    handle1 U1(1)
    handle3 U1(1)
    handle2 (U1(1),)
    handle4 U1(1)
    >>> t2.abort()

    >>> db.close()
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/api/persistent.rst:131: WARNING: Unknown directive type "doctest".

.. doctest::

    >>> import ZODB.MappingStorage
    >>> db = ZODB.MappingStorage.DB()
    >>> import transaction
    >>> t1 = transaction.TransactionManager()
    >>> c1 = db.open(transaction_manager=t1)
    >>> r1 = c1.root()
    >>> t2 = transaction.TransactionManager()
    >>> c2 = db.open(transaction_manager=t2)
    >>> r2 = c2.root()

    >>> from zope.component.persistentregistry import PersistentComponents

    >>> _ = t1.begin()
    >>> r1[1] = PersistentComponents('1')
    >>> r1[1].registerHandler(handle1)
    >>> r1[1].registerSubscriptionAdapter(handle1, provided=I2)
    >>> _ = r1[1].unregisterHandler(handle1)
    >>> _ = r1[1].unregisterSubscriptionAdapter(handle1, provided=I2)
    >>> t1.commit()
    >>> _ = t1.begin()
    >>> r1[1].registerHandler(handle1)
    >>> r1[1].registerSubscriptionAdapter(handle1, provided=I2)
    >>> t1.commit()

    >>> _ = t2.begin()
    >>> len(list(r2[1].registeredHandlers()))
    1
    >>> len(list(r2[1].registeredSubscriptionAdapters()))
    1
    >>> t2.abort()
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/api/persistent.rst:169: WARNING: Unknown directive type "doctest".

.. doctest::

    >>> import persistent
    >>> import transaction
    >>> from zope.interface import Interface
    >>> from zope.interface import implementer
    >>> class IFoo(Interface):
    ...     pass
    >>> @implementer(IFoo)
    ... class Foo(persistent.Persistent):
    ...     name = ''
    ...     def __init__(self, name=''):
    ...         self.name = name
    ...     def __repr__(self):
    ...         return 'Foo(%r)' % self.name

    >>> from zope.component.tests.examples import base
    >>> from zope.component.tests.examples import clear_base
    >>> len(base._v_subregistries)
    0

    >>> import ZODB.MappingStorage
    >>> db = ZODB.MappingStorage.DB()
    >>> tm1 = transaction.TransactionManager()
    >>> c1 = db.open(transaction_manager=tm1)
    >>> from zope.component.persistentregistry import PersistentAdapterRegistry
    >>> r1 = PersistentAdapterRegistry((base,))
    >>> r2 = PersistentAdapterRegistry((r1,))
    >>> c1.root()[1] = r1
    >>> c1.root()[2] = r2
    >>> tm1.commit()
    >>> r1._p_deactivate()

    >>> len(base._v_subregistries)
    0

    >>> tm2 = transaction.TransactionManager()
    >>> c2 = db.open(transaction_manager=tm2)
    >>> r1 = c2.root()[1]
    >>> r2 = c2.root()[2]

    >>> r1.lookup((), IFoo, '')

    >>> base.register((), IFoo, '', Foo(''))
    >>> r1.lookup((), IFoo, '')
    Foo('')

    >>> r2.lookup((), IFoo, '1')

    >>> r1.register((), IFoo, '1', Foo('1'))

    >>> r2.lookup((), IFoo, '1')
    Foo('1')

    >>> r1.lookup((), IFoo, '2')
    >>> r2.lookup((), IFoo, '2')

    >>> base.register((), IFoo, '2', Foo('2'))

    >>> r1.lookup((), IFoo, '2')
    Foo('2')

    >>> r2.lookup((), IFoo, '2')
    Foo('2')

    >>> db.close()
    >>> clear_base()
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/api/persistent.rst:237: WARNING: Unknown directive type "testcleanup".

.. testcleanup::

   from zope.component.testing import tearDown
   tearDown()
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/api/security.rst:4: WARNING: Unknown directive type "automodule".

.. automodule:: zope.component.security

   .. autofunction:: securityAdapterFactory
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/api/security.rst:11: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> class Factory(object):
   ...     pass
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/api/security.rst:20: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> from zope.component.security import securityAdapterFactory
   >>> from zope.security.adapter import LocatingUntrustedAdapterFactory
   >>> factory = securityAdapterFactory(Factory, 'zope.AnotherPermission',
   ...    locate=False, trusted=False)
   >>> isinstance(factory, LocatingUntrustedAdapterFactory)
   True
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/api/security.rst:31: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> from zope.component.security import PublicPermission
   >>> factory = securityAdapterFactory(Factory, PublicPermission,
   ...    locate=False, trusted=False)
   >>> factory is Factory
   True
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/api/security.rst:41: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> from zope.security.checker import CheckerPublic
   >>> factory = securityAdapterFactory(Factory, CheckerPublic,
   ...    locate=False, trusted=False)
   >>> factory is Factory
   True
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/api/security.rst:51: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> factory = securityAdapterFactory(Factory, None,
   ...    locate=False, trusted=False)
   >>> factory is Factory
   True
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/api/security.rst:61: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> from zope.security.adapter import TrustedAdapterFactory
   >>> factory = securityAdapterFactory(Factory, None,
   ...    locate=False, trusted=True)
   >>> isinstance(factory, TrustedAdapterFactory)
   True
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/api/security.rst:71: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> factory = securityAdapterFactory(Factory, PublicPermission,
   ...    locate=False, trusted=True)
   >>> isinstance(factory, TrustedAdapterFactory)
   True
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/api/security.rst:80: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> factory = securityAdapterFactory(Factory, CheckerPublic,
   ...    locate=False, trusted=True)
   >>> isinstance(factory, TrustedAdapterFactory)
   True
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/api/security.rst:90: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> from zope.security.adapter import LocatingTrustedAdapterFactory
   >>> factory = securityAdapterFactory(Factory, 'zope.AnotherPermission',
   ...    locate=True, trusted=True)
   >>> isinstance(factory, LocatingTrustedAdapterFactory)
   True
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/api/sitemanager.rst:4: WARNING: Unknown directive type "autofunction".

.. autofunction:: zope.component.getGlobalSiteManager

   The API returns the module-scope global registry:

   .. doctest::

      >>> from zope.interface.interfaces import IComponentLookup
      >>> from zope.component.globalregistry import base
      >>> from zope.component import getGlobalSiteManager
      >>> gsm = getGlobalSiteManager()
      >>> gsm is base
      True

   The registry implements the
   :class:`~zope.component.interfaces.IComponentLookup` interface:

   .. doctest::

      >>> IComponentLookup.providedBy(gsm)
      True

   The same registry is returned each time we call the function:

   .. doctest::

      >>> getGlobalSiteManager() is gsm
      True
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/api/sitemanager.rst:32: WARNING: Unknown directive type "autofunction".

.. autofunction:: zope.component.getSiteManager(context=None)

   We don't know anything about the default service manager, except that it
   is an `IComponentLookup`.

   .. doctest::

     >>> from zope.component import getSiteManager
     >>> from zope.interface.interfaces import IComponentLookup
     >>> IComponentLookup.providedBy(getSiteManager())
     True

   Calling `getSiteManager()` with no args is equivalent to calling it with a
   context of `None`.

   .. doctest::

     >>> getSiteManager() is getSiteManager(None)
     True

   If the context passed to `getSiteManager()` is not `None`, it is
   adapted to `IComponentLookup` and this adapter returned.  So, we
   create a context that can be adapted to `IComponentLookup` using
   the `__conform__` API.

   Let's create the simplest stub-implementation of a site manager possible:

   .. doctest::

     >>> sitemanager = object()

   Now create a context that knows how to adapt to our newly created site
   manager.

   .. doctest::

     >>> from zope.component.tests.examples import ConformsToIComponentLookup
     >>> context = ConformsToIComponentLookup(sitemanager)

   Now make sure that the `getSiteManager()` API call returns the correct
   site manager.

   .. doctest::

     >>> getSiteManager(context) is sitemanager
     True

   Using a context that is not adaptable to `IComponentLookup` should fail.

   .. doctest::

     >>> getSiteManager(sitemanager)
     Traceback (most recent call last):
     ...
     ComponentLookupError: ('Could not adapt', <instance Ob>,
     <InterfaceClass zope...interfaces.IComponentLookup>)
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/api/utility.rst:5: WARNING: Unknown directive type "autofunction".

.. autofunction:: zope.component.provideUtility
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/api/utility.rst:7: WARNING: Unknown directive type "autofunction".

.. autofunction:: zope.component.getUtility
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/api/utility.rst:9: WARNING: Unknown directive type "autofunction".

.. autofunction:: zope.component.queryUtility
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/api/utility.rst:19: WARNING: Unknown directive type "testsetup".

.. testsetup::

   from zope.component.testing import setUp
   setUp()
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/api/utility.rst:24: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> from zope.component import getUtility
   >>> from zope.component import queryUtility
   >>> from zope.component.tests.examples import I1
   >>> getUtility(I1) #doctest: +NORMALIZE_WHITESPACE
   Traceback (most recent call last):
   ...
   ComponentLookupError: \
   (<InterfaceClass zope.component.tests.examples.I1>, '')
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/api/utility.rst:37: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> queryUtility(I1, default='<default>')
   '<default>'
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/api/utility.rst:44: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> ob = object()
   >>> from zope.component import getGlobalSiteManager
   >>> getGlobalSiteManager().registerUtility(ob, I1)
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/api/utility.rst:52: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> getUtility(I1) is ob
   True
   >>> queryUtility(I1) is ob
   True
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/api/utility.rst:67: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> getUtility(I1, name='foo')
   Traceback (most recent call last):
   ...
   ComponentLookupError:
   (<InterfaceClass zope.component.tests.examples.I1>, 'foo')

   >>> queryUtility(I1, name='foo', default='<default>')
   '<default>'
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/api/utility.rst:80: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> ob2 = object()
   >>> getGlobalSiteManager().registerUtility(ob2, I1, name='foo')
   >>> getUtility(I1, 'foo') is ob2
   True
   >>> queryUtility(I1, 'foo') is ob2
   True
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/api/utility.rst:92: WARNING: Unknown directive type "autofunction".

.. autofunction:: zope.component.getUtilitiesFor
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/api/utility.rst:94: WARNING: Unknown directive type "autofunction".

.. autofunction:: zope.component.getAllUtilitiesRegisteredFor
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/api/utility.rst:101: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> from zope.component import getUtilitiesFor
   >>> tuples = list(getUtilitiesFor(I1))
   >>> len(tuples)
   2
   >>> ('', ob) in tuples
   True
   >>> ('foo', ob2) in tuples
   True
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/api/utility.rst:116: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> from zope.interface import implementer
   >>> from zope.component.tests.examples import Comp
   >>> from zope.component.tests.examples import I2
   >>> from zope.component.tests.examples import Ob
   >>> class I11(I1):
   ...     pass

   >>> @implementer(I11)
   ... class Ob11(Ob):
   ...     pass

   >>> ob11 = Ob11()
   >>> ob_bob = Ob()
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/api/utility.rst:134: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> from zope.component import getGlobalSiteManager
   >>> gsm = getGlobalSiteManager()
   >>> gsm.registerUtility(ob, I1)
   >>> gsm.registerUtility(ob11, I11)
   >>> gsm.registerUtility(ob_bob, I1, name='bob')
   >>> gsm.registerUtility(Comp(2), I2)
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/api/utility.rst:145: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> from zope.component import getAllUtilitiesRegisteredFor
   >>> uts = list(getAllUtilitiesRegisteredFor(I1))
   >>> len(uts)
   4
   >>> ob in uts
   True
   >>> ob2 in uts
   True
   >>> ob_bob in uts
   True
   >>> ob11 in uts
   True
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/api/utility.rst:167: WARNING: Unknown directive type "autofunction".

.. autofunction:: zope.component.getNextUtility
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/api/utility.rst:169: WARNING: Unknown directive type "autofunction".

.. autofunction:: zope.component.queryNextUtility
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/api/utility.rst:175: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> from zope.interface import Interface
   >>> from zope.interface import implementer
   >>> class IMyUtility(Interface):
   ...     pass

   >>> from zope.component.tests.examples import ConformsToIComponentLookup
   >>> @implementer(IMyUtility)
   ... class MyUtility(ConformsToIComponentLookup):
   ...     def __init__(self, id, sm):
   ...         self.id = id
   ...         self.sitemanager = sm
   ...     def __repr__(self):
   ...         return "%s('%s')" % (self.__class__.__name__, self.id)

   >>> gutil = MyUtility('global', gsm)
   >>> gsm.registerUtility(gutil, IMyUtility, 'myutil')
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/api/utility.rst:196: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> from zope.interface.registry import Components
   >>> sm1 = Components('sm1', bases=(gsm, ))
   >>> sm1_1 = Components('sm1_1', bases=(sm1, ))
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/api/utility.rst:204: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> from zope.interface.interfaces import IComponentLookup
   >>> util1 = MyUtility('one', sm1)
   >>> sm1.registerUtility(util1, IMyUtility, 'myutil')
   >>> IComponentLookup(util1) is sm1
   True

   >>> util1_1 = MyUtility('one-one', sm1_1)
   >>> sm1_1.registerUtility(util1_1, IMyUtility, 'myutil')
   >>> IComponentLookup(util1_1) is sm1_1
   True
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/api/utility.rst:220: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> from zope.component import getNextUtility
   >>> getNextUtility(util1_1, IMyUtility, 'myutil')
   MyUtility('one')
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/api/utility.rst:228: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> getNextUtility(util1, IMyUtility, 'myutil')
   MyUtility('global')
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/api/utility.rst:235: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> getNextUtility(gutil, IMyUtility,
   ...                     'myutil') #doctest: +NORMALIZE_WHITESPACE
   Traceback (most recent call last):
   ...
   ComponentLookupError:
   No more utilities for <InterfaceClass zope.component.tests.examples.IMyUtility>,
   'myutil' have been found.
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/api/utility.rst:247: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> from zope.component import queryNextUtility
   >>> queryNextUtility(gutil, IMyUtility, 'myutil', 'default')
   'default'
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/api/utility.rst:256: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> myregistry = Components()
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/api/utility.rst:262: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> custom_util = MyUtility('my_custom_util', myregistry)
   >>> myregistry.registerUtility(custom_util, IMyUtility, 'my_custom_util')
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/api/utility.rst:269: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> sm1.__bases__ = (myregistry,) + sm1.__bases__
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/api/utility.rst:275: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> queryNextUtility(sm1, IMyUtility, 'my_custom_util')
   MyUtility('my_custom_util')
   >>> queryNextUtility(sm1, IMyUtility, 'myutil')
   MyUtility('global')
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/api/utility.rst:285: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> queryNextUtility(object(), IMyUtility, 'myutil', 'default')
   'default'
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/api/utility.rst:290: WARNING: Unknown directive type "testcleanup".

.. testcleanup::

   from zope.component.testing import tearDown
   tearDown()
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/configure.rst:5: WARNING: Unknown directive type "testsetup".

.. testsetup::

   from zope.component.testing import setUp
   setUp()
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/configure.rst:13: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> from zope.configuration.xmlconfig import XMLConfig
   >>> import zope.component
   >>> from zope.component import event
   >>> from zope.component import registry

   >>> XMLConfig('configure.zcml', zope.component)()

   >>> gsm = zope.component.getGlobalSiteManager()
   >>> registered = list(gsm.registeredHandlers())
   >>> len(registered)
   5
   >>> handlers = [x.handler for x in registered]
   >>> event.objectEventNotify in handlers
   True
   >>> registry.dispatchUtilityRegistrationEvent in handlers
   True
   >>> registry.dispatchAdapterRegistrationEvent in handlers
   True
   >>> registry.dispatchSubscriptionAdapterRegistrationEvent in handlers
   True
   >>> registry.dispatchHandlerRegistrationEvent in handlers
   True
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/configure.rst:39: WARNING: Unknown directive type "testcleanup".

.. testcleanup::

   from zope.component.testing import tearDown
   tearDown()
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/event.rst:14: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> import zope.component.event
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/event.rst:20: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> class Event1(object):
   ...     pass

   >>> class Event2(Event1):
   ...     pass
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/event.rst:30: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> called = []

   >>> import zope.component
   >>> @zope.component.adapter(Event1)
   ... def handler1(event):
   ...     called.append(1)

   >>> @zope.component.adapter(Event2)
   ... def handler2(event):
   ...     called.append(2)
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/event.rst:45: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> zope.component.provideHandler(handler1)
   >>> zope.component.provideHandler(handler2)
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/event.rst:53: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> from zope.event import notify
   >>> notify(Event1())
   >>> called
   [1]

   >>> del called[:]
   >>> notify(Event2())
   >>> called.sort()
   >>> called
   [1, 2]
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/event.rst:75: WARNING: Unknown directive type "autofunction".

.. autofunction:: objectEventNotify

   .. note:: This function is automatically registered as a
             subscriber for
             :class:`zope.interface.interfaces.IObjectEvent`
             when the ZCML configuration for this package is loaded.
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/event.rst:84: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> class IUseless(zope.interface.Interface):
   ...     """Useless object"""

   >>> @zope.interface.implementer(IUseless)
   ... class UselessObject(object):
   ...     """Useless object"""
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/event.rst:96: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> class IObjectThrownEvent(zope.interface.interfaces.IObjectEvent):
   ...     """An object has been thrown away"""

   >>> @zope.interface.implementer(IObjectThrownEvent)
   ... class ObjectThrownEvent(zope.interface.interfaces.ObjectEvent):
   ...     """An object has been thrown away"""
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/event.rst:107: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> hammer = UselessObject()
   >>> event = ObjectThrownEvent(hammer)
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/event.rst:115: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> zope.component.event.objectEventNotify(event)
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/event.rst:121: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> events = []
   >>> def record(*args): #*
   ...     events.append(args)

   >>> zope.component.provideHandler(record, [IUseless, IObjectThrownEvent])
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/event.rst:131: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> zope.component.event.objectEventNotify(event)
   >>> events == [(hammer, event)]
   True
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/event.rst:140: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> zope.component.provideHandler(zope.component.event.objectEventNotify)
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/event.rst:146: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> class ToolBox(dict):
   ...     def __delitem__(self, key):
   ...         notify(ObjectThrownEvent(self[key]))
   ...         return super(ToolBox,self).__delitem__(key)

   >>> container = ToolBox()
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/event.rst:157: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> container['Red Hammer'] = hammer
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/event.rst:163: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> class Veto(Exception):
   ...     pass

   >>> def callback(item, event):
   ...     assert(item == event.object)
   ...     raise Veto
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/event.rst:174: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> zope.component.provideHandler(callback, [IUseless, IObjectThrownEvent])
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/event.rst:180: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> del container['Red Hammer']
   ... # doctest: +NORMALIZE_WHITESPACE
   Traceback (most recent call last):
   ...
       raise Veto
   Veto
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/factory.rst:10: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> from zope.interface import Interface
   >>> class IFunction(Interface):
   ...     pass

   >>> class IKlass(Interface):
   ...     pass

   >>> from zope.interface import implementer
   >>> @implementer(IKlass)
   ... class Klass(object):
   ...
   ...     def __init__(self, *args, **kw): #*
   ...         self.args = args
   ...         self.kw = kw

   >>> from zope.component.factory import Factory
   >>> factory = Factory(Klass, 'Klass', 'Klassier')
   >>> factory2 = Factory(lambda x: x, 'Func', 'Function')
   >>> factory3 = Factory(lambda x: x, 'Func', 'Function', (IFunction,))
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/factory.rst:40: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> factory = Factory(Klass, 'Klass', 'Klassier')
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/factory.rst:46: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> kl = factory(1, 2, foo=3)
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/factory.rst:52: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> kl.__class__
   <class 'Klass'>
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/factory.rst:59: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> kl.args
   (1, 2)
   >>> kl.kw
   {'foo': 3}

   >>> factory2(3)
   3
   >>> factory3(3)
   3
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/factory.rst:75: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> factory.title
   'Klass'
   >>> factory.description
   'Klassier'
   >>> factory2.title
   'Func'
   >>> factory2.description
   'Function'
   >>> factory3.title
   'Func'
   >>> factory3.description
   'Function'
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/factory.rst:94: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> implemented = factory.getInterfaces()
   >>> implemented.isOrExtends(IKlass)
   True
   >>> list(implemented) == [IKlass]
   True

   >>> implemented2 = factory2.getInterfaces()
   >>> list(implemented2)
   []

   >>> implemented3 = factory3.getInterfaces()
   >>> list(implemented3) == [IFunction]
   True
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/factory.rst:114: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> import zope.component
   >>> factory = Factory(Klass, 'Klass', 'Klassier')
   >>> gsm = zope.component.getGlobalSiteManager()

   >>> from zope.component.interfaces import IFactory
   >>> gsm.registerUtility(factory, IFactory, 'klass')
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/factory.rst:126: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> kl = zope.component.createObject('klass', 1, 2, foo=3)
   >>> isinstance(kl, Klass)
   True
   >>> kl.args
   (1, 2)
   >>> kl.kw
   {'foo': 3}
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/factory.rst:139: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> implemented = zope.component.getFactoryInterfaces('klass')
   >>> implemented.isOrExtends(IKlass)
   True
   >>> [iface for iface in implemented] == [IKlass]
   True
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/factory.rst:150: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> [(str(name), fac.__class__) for name, fac in
   ...  zope.component.getFactoriesFor(IKlass)]
   [('klass', <class 'zope.component.factory.Factory'>)]
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/hooks.rst:14: WARNING: Unknown directive type "autofunction".

.. autofunction:: getSite
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/hooks.rst:18: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> from zope.component.hooks import getSite
   >>> print(getSite())
   None
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/hooks.rst:27: WARNING: Unknown directive type "autofunction".

.. autofunction:: getSiteManager
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/hooks.rst:29: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> from zope.component.hooks import getSiteManager
   >>> getSiteManager()
   <BaseGlobalComponents base>
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/hooks.rst:39: WARNING: Unknown directive type "autofunction".

.. autofunction:: setSite
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/hooks.rst:41: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> from zope.interface.registry import Components
   >>> class Site(object):
   ...     def __init__(self):
   ...         self.registry = Components('components')
   ...     def getSiteManager(self):
   ...         return self.registry

   >>> from zope.component.hooks import setSite
   >>> site1 = Site()
   >>> setSite(site1)
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/hooks.rst:56: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> getSite() is site1
   True
   >>> getSiteManager() is site1.registry
   True
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/hooks.rst:65: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> site2 = Site()
   >>> site2.registry is not site1.registry
   True
   >>> setSite(site2)

   >>> getSite() is site2
   True
   >>> getSiteManager() is site2.registry
   True
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/hooks.rst:80: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> from zope.component import getSiteManager as global_getSiteManager
   >>> global_getSiteManager()
   <BaseGlobalComponents base>
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/hooks.rst:88: WARNING: Unknown directive type "autofunction".

.. autofunction:: setHooks
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/hooks.rst:90: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> from zope.component.hooks import setHooks
   >>> setHooks()
   >>> getSiteManager() is site2.registry
   True
   >>> global_getSiteManager() is site2.registry
   True
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/hooks.rst:101: WARNING: Unknown directive type "autofunction".

.. autofunction:: resetHooks
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/hooks.rst:103: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> from zope.component.hooks import resetHooks
   >>> resetHooks()
   >>> global_getSiteManager()
   <BaseGlobalComponents base>
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/hooks.rst:112: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> setSite()
   >>> print(getSite())
   None
   >>> getSiteManager()
   <BaseGlobalComponents base>
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/hooks.rst:127: WARNING: Unknown directive type "autofunction".

.. autofunction:: site
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/hooks.rst:129: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> import zope.component.hooks
   >>> print(getSite())
   None
   >>> with zope.component.hooks.site(site2):
   ...     getSite() is site2
   True
   >>> print(getSite())
   None
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/hooks.rst:143: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> print(getSite())
   None
   >>> with zope.component.hooks.site(site2):
   ...    getSite() is site2
   ...    raise ValueError('An error in the body')
   Traceback (most recent call last):
      ...
   ValueError: An error in the body
   >>> print(getSite())
   None
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/narr.rst:17: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> from __future__ import print_function
   >>> from zope import interface

   >>> class IGreeter(interface.Interface):
   ...     def greet():
   ...         "say hello"

   >>> @interface.implementer(IGreeter)
   ... class Greeter(object):
   ...
   ...     def __init__(self, other="world"):
   ...         self.other = other
   ...
   ...     def greet(self):
   ...         print(("Hello %s" % (self.other)))
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/narr.rst:37: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> from zope import component
   >>> greet = Greeter('bob')
   >>> component.provideUtility(greet, IGreeter, 'robert')
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/narr.rst:47: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> component.queryUtility(IGreeter, 'robert').greet()
   Hello bob

   >>> component.getUtility(IGreeter, 'robert').greet()
   Hello bob
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/narr.rst:57: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> component.queryUtility(IGreeter, 'ted')
   >>> component.queryUtility(IGreeter, 'ted', 42)
   42
   >>> component.getUtility(IGreeter, 'ted')
   ... # doctest: +ELLIPSIS
   Traceback (most recent call last):
   ...
   ComponentLookupError: (<InterfaceClass ...IGreeter>, 'ted')
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/narr.rst:71: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> ted = Greeter('ted')
   >>> component.provideUtility(ted, name='ted')
   >>> component.queryUtility(IGreeter, 'ted').greet()
   Hello ted
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/narr.rst:80: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> world = Greeter()
   >>> component.provideUtility(world)
   >>> component.queryUtility(IGreeter).greet()
   Hello world
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/narr.rst:96: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> class IPerson(interface.Interface):
   ...     name = interface.Attribute("Name")

   >>> @component.adapter(IPerson)
   ... @interface.implementer(IGreeter)
   ... class PersonGreeter(object):
   ...
   ...     def __init__(self, person):
   ...         self.person = person
   ...
   ...     def greet(self):
   ...         print("Hello", self.person.name)
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/narr.rst:117: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> list(component.adaptedBy(PersonGreeter)) == [IPerson]
   True
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/narr.rst:124: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> component.adaptedBy(Greeter()) is None
   True
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/narr.rst:134: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> component.provideAdapter(PersonGreeter)
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/narr.rst:142: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> @interface.implementer(IPerson)
   ... class Person(object):
   ...
   ...     def __init__(self, name):
   ...         self.name = name

   >>> IGreeter(Person("Sally")).greet()
   Hello Sally
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/narr.rst:156: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> class BobPersonGreeter(PersonGreeter):
   ...     name = 'Bob'
   ...     def greet(self):
   ...         print("Hello", self.person.name, "my name is", self.name)

   >>> component.provideAdapter(
   ...                        BobPersonGreeter, [IPerson], IGreeter, 'bob')
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/narr.rst:168: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> class TedPersonGreeter(BobPersonGreeter):
   ...     name = "Ted"

   >>> component.provideAdapter(
   ...     factory=TedPersonGreeter, adapts=[IPerson],
   ...     provides=IGreeter, name='ted')
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/narr.rst:179: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> component.queryAdapter(Person("Sally"), IGreeter, 'bob').greet()
   Hello Sally my name is Bob

   >>> component.getAdapter(Person("Sally"), IGreeter, 'ted').greet()
   Hello Sally my name is Ted
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/narr.rst:190: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> component.queryAdapter(Person("Sally"), IGreeter, 'frank')
   >>> component.queryAdapter(Person("Sally"), IGreeter, 'frank', 42)
   42
   >>> component.getAdapter(Person("Sally"), IGreeter, 'frank')
   ... # doctest: +ELLIPSIS
   Traceback (most recent call last):
   ...
   ComponentLookupError: (...Person...>, <...IGreeter>, 'frank')
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/narr.rst:203: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> @component.adapter(IPerson, IPerson)
   ... @interface.implementer(IGreeter)
   ... class TwoPersonGreeter(object):
   ...
   ...     def __init__(self, person, greeter):
   ...         self.person = person
   ...         self.greeter = greeter
   ...
   ...     def greet(self):
   ...         print("Hello", self.person.name)
   ...         print("my name is", self.greeter.name)

   >>> component.provideAdapter(TwoPersonGreeter)
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/narr.rst:228: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> component.queryMultiAdapter((Person("Sally"), Person("Bob")),
   ...                                  IGreeter).greet()
   Hello Sally
   my name is Bob
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/narr.rst:239: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> class IJob(interface.Interface):
   ...     "A job"

   >>> @interface.implementer(IJob)
   ... class Job:
   ...     pass
   >>> @interface.implementer(IJob)
   ... @component.adapter(IPerson)
   ... def personJob(person):
   ...     return getattr(person, 'job', None)
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/narr.rst:258: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> component.provideAdapter(personJob)
   >>> sally = Person("Sally")
   >>> IJob(sally) # doctest: +ELLIPSIS
   Traceback (most recent call last):
   ...
   TypeError: ('Could not adapt', ...
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/narr.rst:270: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> job = Job()
   >>> sally.job = job
   >>> IJob(sally) is job
   True
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/narr.rst:287: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> class IValidate(interface.Interface):
   ...     def validate(ob):
   ...         """Determine whether the object is valid
   ...
   ...         Return a string describing a validation problem.
   ...         An empty string is returned to indicate that the
   ...         object is valid.
   ...         """
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/narr.rst:300: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> class IDocument(interface.Interface):
   ...     summary = interface.Attribute("Document summary")
   ...     body = interface.Attribute("Document text")

   >>> @interface.implementer(IDocument)
   ... class Document(object):
   ...     def __init__(self, summary, body):
   ...         self.summary, self.body = summary, body
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/narr.rst:315: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> @component.adapter(IDocument)
   ... @interface.implementer(IValidate)
   ... class SingleLineSummary(object):
   ...
   ...     def __init__(self, doc):
   ...         self.doc = doc
   ...
   ...     def validate(self):
   ...         if '\n' in self.doc.summary:
   ...             return 'Summary should only have one line'
   ...         else:
   ...             return ''
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/narr.rst:332: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> @component.adapter(IDocument)
   ... @interface.implementer(IValidate)
   ... class AdequateLength(object):
   ...     def __init__(self, doc):
   ...         self.doc = doc
   ...
   ...     def validate(self):
   ...         if len(self.doc.body) < 1000:
   ...             return 'too short'
   ...         else:
   ...             return ''
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/narr.rst:348: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> component.provideSubscriptionAdapter(SingleLineSummary)
   >>> component.provideSubscriptionAdapter(AdequateLength)
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/narr.rst:355: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> doc = Document("A\nDocument", "blah")
   >>> [adapter.validate()
   ...  for adapter in component.subscribers([doc], IValidate)
   ...  if adapter.validate()]
   ['Summary should only have one line', 'too short']

   >>> doc = Document("A\nDocument", "blah" * 1000)
   >>> [adapter.validate()
   ...  for adapter in component.subscribers([doc], IValidate)
   ...  if adapter.validate()]
   ['Summary should only have one line']

   >>> doc = Document("A Document", "blah")
   >>> [adapter.validate()
   ...  for adapter in component.subscribers([doc], IValidate)
   ...  if adapter.validate()]
   ['too short']
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/narr.rst:391: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> import datetime

   >>> def documentCreated(event):
   ...     event.doc.created = datetime.datetime.utcnow()
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/narr.rst:408: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> class IDocumentCreated(interface.Interface):
   ...     doc = interface.Attribute("The document that was created")

   >>> @interface.implementer(IDocumentCreated)
   ... class DocumentCreated(object):
   ...
   ...     def __init__(self, doc):
   ...         self.doc = doc
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/narr.rst:421: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> @component.adapter(IDocumentCreated)
   ... def documentCreated(event):
   ...     event.doc.created = datetime.datetime.utcnow()
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/narr.rst:431: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> component.provideHandler(documentCreated)
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/narr.rst:438: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> component.handle(DocumentCreated(doc))
   >>> doc.created.__class__.__name__
   'datetime'
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/socketexample.rst:44: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> from zope.interface import Interface, implementer

   >>> class IGermanSocket(Interface):
   ...     pass

   >>> class Socket(object):
   ...     def __repr__(self):
   ...         return '<instance of %s>' %self.__class__.__name__

   >>> @implementer(IGermanSocket)
   ... class GermanSocket(Socket):
   ...     """German wall socket."""
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/socketexample.rst:61: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> class IUSSocket(Interface):
   ...     pass
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/socketexample.rst:69: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> @implementer(IUSSocket)
   ... class GermanToUSSocketAdapter(Socket):
   ...     __used_for__ = IGermanSocket
   ...
   ...     def __init__(self, socket):
   ...         self.context = socket
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/socketexample.rst:89: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> import zope.component
   >>> gsm = zope.component.getGlobalSiteManager()
   >>> gsm.registerAdapter(GermanToUSSocketAdapter, (IGermanSocket,), IUSSocket)
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/socketexample.rst:102: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> bathroomDE = GermanSocket()
   >>> IGermanSocket.providedBy(bathroomDE)
   True
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/socketexample.rst:110: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> bathroomUS = zope.component.getAdapter(bathroomDE, IUSSocket, '')
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/socketexample.rst:116: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> IUSSocket.providedBy(bathroomUS)
   True
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/socketexample.rst:126: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> class ICzechSocket(Interface):
   ...     pass

   >>> @implementer(ICzechSocket)
   ... class CzechSocket(Socket):
   ...     pass

   >>> czech = CzechSocket()
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/socketexample.rst:140: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> zope.component.getAdapter(czech, IUSSocket, '') \
   ... #doctest: +NORMALIZE_WHITESPACE
   Traceback (most recent call last):
   ...
   ComponentLookupError: (<instance of CzechSocket>,
                           <InterfaceClass __builtin__.IUSSocket>,
                           '')
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/socketexample.rst:152: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> marker = object()
   >>> socket = zope.component.queryAdapter(czech, IUSSocket, '', marker)
   >>> socket is marker
   True
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/socketexample.rst:173: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> @implementer(IUSSocket)
   ... class GermanToUSSocketAdapterAndTransformer(object):
   ...     __used_for__ = IGermanSocket
   ...
   ...     def __init__(self, socket):
   ...         self.context = socket
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/socketexample.rst:185: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> gsm.registerAdapter(GermanToUSSocketAdapter,
   ...                     (IGermanSocket,), IUSSocket, 'shaver',)
   >>> gsm.registerAdapter(GermanToUSSocketAdapterAndTransformer,
   ...                     (IGermanSocket,), IUSSocket, 'dvd')
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/socketexample.rst:194: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> socket = zope.component.getAdapter(bathroomDE, IUSSocket, 'shaver')
   >>> socket.__class__ is GermanToUSSocketAdapter
   True

   >>> socket = zope.component.getAdapter(bathroomDE, IUSSocket, 'dvd')
   >>> socket.__class__ is GermanToUSSocketAdapterAndTransformer
   True
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/socketexample.rst:206: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> zope.component.getAdapter(bathroomDE, IUSSocket, 'mp3') \
   ... #doctest: +NORMALIZE_WHITESPACE
   Traceback (most recent call last):
   ...
   ComponentLookupError: (<instance of GermanSocket>,
                           <InterfaceClass __builtin__.IUSSocket>,
                           'mp3')
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/socketexample.rst:221: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> sockets = list(zope.component.getAdapters((bathroomDE,), IUSSocket))
   >>> len(sockets)
   3
   >>> names = sorted([str(name) for name, socket in sockets])
   >>> names
   ['', 'dvd', 'shaver']
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/socketexample.rst:237: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> try:
   ...    text = unicode
   ... except NameError:
   ...    text = str
   >>> [isinstance(name, text) for name, _ in sockets]
   [True, True, True]
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/socketexample.rst:256: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> class IUSGroundedSocket(IUSSocket):
   ...     pass
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/socketexample.rst:264: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> class IGrounder(Interface):
   ...     pass

   >>> @implementer(IGrounder)
   ... class Grounder(object):
   ...     def __repr__(self):
   ...         return '<instance of Grounder>'
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/socketexample.rst:277: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> @implementer(IUSGroundedSocket)
   ... class GroundedGermanToUSSocketAdapter(object):
   ...     __used_for__ = (IGermanSocket, IGrounder)
   ...     def __init__(self, socket, grounder):
   ...         self.socket, self.grounder = socket, grounder
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/socketexample.rst:288: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> gsm.registerAdapter(GroundedGermanToUSSocketAdapter,
   ...                 (IGermanSocket, IGrounder), IUSGroundedSocket, 'mp3')
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/socketexample.rst:295: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> grounder = Grounder()
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/socketexample.rst:301: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> livingroom = GermanSocket()
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/socketexample.rst:307: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> socket = zope.component.getMultiAdapter((livingroom, grounder),
   ...                                         IUSGroundedSocket, 'mp3')
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/socketexample.rst:312: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> socket.__class__ is GroundedGermanToUSSocketAdapter
   True
   >>> socket.socket is livingroom
   True
   >>> socket.grounder is grounder
   True
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/socketexample.rst:323: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> zope.component.getMultiAdapter((livingroom, grounder),
   ...                                IUSGroundedSocket, 'dvd') \
   ... #doctest: +NORMALIZE_WHITESPACE
   Traceback (most recent call last):
   ...
   ComponentLookupError: ((<instance of GermanSocket>,
                           <instance of Grounder>),
                           <InterfaceClass __builtin__.IUSGroundedSocket>,
                           'dvd')
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/socketexample.rst:336: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> socket = zope.component.queryMultiAdapter(
   ...     (livingroom, grounder), IUSGroundedSocket, 'dvd', marker)
   >>> socket is marker
   True
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/socketexample.rst:356: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> class IFire(Interface):
   ...     pass

   >>> @implementer(IFire)
   ... class Fire(object):
   ...     pass

   >>> fire = Fire()
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/socketexample.rst:369: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> class IFireExtinguisher(Interface):
   ...     def extinguish():
   ...         pass

   >>> from functools import total_ordering
   >>> @total_ordering
   ... class FireExtinguisher(object):
   ...     def __init__(self, fire):
   ...         pass
   ...     def extinguish(self):
   ...         "Place extinguish code here."
   ...         print('Used ' + self.__class__.__name__ + '.')
   ...     def __lt__(self, other):
   ...         return type(self).__name__ < type(other).__name__
   ...     def __eq__(self, other):
   ...         return self is other
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/socketexample.rst:390: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> class PowderExtinguisher(FireExtinguisher):
   ...     pass
   >>> gsm.registerSubscriptionAdapter(PowderExtinguisher,
   ...                                 (IFire,), IFireExtinguisher)

   >>> class Blanket(FireExtinguisher):
   ...     pass
   >>> gsm.registerSubscriptionAdapter(Blanket, (IFire,), IFireExtinguisher)

   >>> class SprinklerSystem(FireExtinguisher):
   ...     pass
   >>> gsm.registerSubscriptionAdapter(SprinklerSystem,
   ...                                 (IFire,), IFireExtinguisher)
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/socketexample.rst:408: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> extinguishers = zope.component.subscribers((fire,), IFireExtinguisher)
   >>> extinguishers.sort()
   >>> for extinguisher in extinguishers:
   ...     extinguisher.extinguish()
   Used Blanket.
   Used PowderExtinguisher.
   Used SprinklerSystem.
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/socketexample.rst:421: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> zope.component.subscribers((object(),), IFireExtinguisher)
   []
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/socketexample.rst:450: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> @implementer(IUSSocket)
   ... class Generator(object):
   ...     def __repr__(self):
   ...         return '<instance of Generator>'

   >>> generator = Generator()
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/socketexample.rst:462: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> gsm.registerUtility(generator, IUSSocket)
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/socketexample.rst:468: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> utility = zope.component.getUtility(IUSSocket)
   >>> utility is generator
   True
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/socketexample.rst:478: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> zope.component.getUtility(IGermanSocket)
   Traceback (most recent call last):
   ...
   ComponentLookupError: (<InterfaceClass __builtin__.IGermanSocket>, '')
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/socketexample.rst:487: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> default = object()
   >>> utility = zope.component.queryUtility(IGermanSocket, default=default)
   >>> utility is default
   True
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/socketexample.rst:513: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> @implementer(IUSSocket)
   ... class SolarPanel(object):
   ...     def __repr__(self):
   ...         return '<instance of Solar Panel>'

   >>> panel = SolarPanel()
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/socketexample.rst:524: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> gsm.registerUtility(panel, IUSSocket, 'Solar Panel')
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/socketexample.rst:530: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> utility = zope.component.getUtility(IUSSocket, 'Solar Panel')
   >>> utility is panel
   True
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/socketexample.rst:538: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> zope.component.getUtility(IUSSocket, 'Wind Mill')
   Traceback (most recent call last):
   ...
   ComponentLookupError: (<InterfaceClass __builtin__.IUSSocket>, 'Wind Mill')
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/socketexample.rst:547: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> default = object()
   >>> utility = zope.component.queryUtility(IUSSocket, 'Wind Mill',
   ...                                       default=default)
   >>> utility is default
   True
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/socketexample.rst:558: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> utils = sorted(list(zope.component.getUtilitiesFor(IUSSocket)))
   >>> [(str(name), socket) for name, socket in utils]
   [('', <instance of Generator>), ('Solar Panel', <instance of Solar Panel>)]
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/socketexample.rst:570: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> utils = sorted(list(zope.component.getAllUtilitiesRegisteredFor(IUSSocket)),
   ...                key=lambda x: type(x).__name__)
   >>> utils
   [<instance of Generator>, <instance of Solar Panel>]
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/socketexample.rst:595: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> from zope.component.factory import Factory
   >>> factory = Factory(SolarPanel,
   ...                   'Solar Panel',
   ...                   'This factory creates a solar panel.')
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/socketexample.rst:606: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> from zope.component.interfaces import IFactory
   >>> gsm.registerUtility(factory, IFactory, 'SolarPanel')
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/socketexample.rst:613: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> ifaces = zope.component.getFactoryInterfaces('SolarPanel')
   >>> IUSSocket in ifaces
   True
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/socketexample.rst:621: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> ifaces2 = factory.getInterfaces()
   >>> ifaces is ifaces2
   True
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/socketexample.rst:629: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> panel = zope.component.createObject('SolarPanel')
   >>> panel.__class__ is SolarPanel
   True
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/socketexample.rst:642: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> gsm.registerUtility(Factory(Generator), IFactory, 'Generator')
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/socketexample.rst:649: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> factories = zope.component.getFactoriesFor(IUSSocket)
   >>> factories = sorted([(name, factory.__class__) for name, factory in factories])
   >>> [(str(name), kind) for name, kind in factories]
   [('Generator', <class 'zope.component.factory.Factory'>), ('SolarPanel', <class 'zope.component.factory.Factory'>)]
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/socketexample.rst:669: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> gsm = zope.component.getGlobalSiteManager()

   >>> from zope.component import globalSiteManager
   >>> gsm is globalSiteManager
   True
   >>> from zope.interface.interfaces import IComponentLookup
   >>> IComponentLookup.providedBy(gsm)
   True
   >>> from zope.interface.interfaces import IComponents
   >>> IComponents.providedBy(gsm)
   True
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/socketexample.rst:687: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> from zope.component.globalregistry import BaseGlobalComponents
   >>> sm = BaseGlobalComponents()
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/socketexample.rst:695: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> class Context(object):
   ...     def __init__(self, sm):
   ...         self.sm = sm
   ...     def __conform__(self, interface):
   ...         if interface.isOrExtends(IComponentLookup):
   ...             return self.sm
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/socketexample.rst:706: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> context = Context(sm)
   >>> context.sm is sm
   True
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/socketexample.rst:714: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> lsm = zope.component.getSiteManager(context)
   >>> lsm is sm
   True
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/testlayer.rst:20: WARNING: Unknown directive type "autoclass".

.. autoclass:: LayerBase
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/testlayer.rst:25: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> from zope.component.testlayer import LayerBase
   >>> class OurLayer(LayerBase):
   ...     def setUp(self):
   ...         super(OurLayer, self).setUp()
   ...         print("setUp called")
   ...     def tearDown(self):
   ...         super(OurLayer, self).tearDown()
   ...         print("tearDown called")
   ...     def testSetUp(self):
   ...         super(OurLayer, self).testSetUp()
   ...         print("testSetUp called")
   ...     def testTearDown(self):
   ...         super(OurLayer, self).testTearDown()
   ...         print("testTearDown called")
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/testlayer.rst:50: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> import zope.component
   >>> layer = OurLayer(zope.component)
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/testlayer.rst:57: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> import unittest
   >>> class TestCase(unittest.TestCase):
   ...    layer = layer
   ...
   ...    def testFoo(self):
   ...        print("testFoo")
   >>> suite = unittest.TestSuite()
   >>> suite.addTest(unittest.makeSuite(TestCase))
   >>> from zope.testrunner.runner import Runner
   >>> runner = Runner(args=[], found_suites=[suite])
   >>> succeeded = runner.run()
   Running zope.component.OurLayer tests:
     Set up zope.component.OurLayer setUp called
   in ... seconds.
   testSetUp called
   testFoo
   testTearDown called
     Ran 1 tests with 0 failures, 0 errors and 0 skipped in ... seconds.
   Tearing down left over layers:
     Tear down zope.component.OurLayer tearDown called
   in ... seconds.
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/testlayer.rst:84: WARNING: Unknown directive type "autoclass".

.. autoclass:: ZCMLFileLayer
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/testlayer.rst:94: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> from zope.component.testlayer import ZCMLFileLayer
   >>> import zope.component.testfiles
   >>> zcml_file_layer = ZCMLFileLayer(
   ...     zope.component.testfiles,
   ...     'testlayer.zcml',
   ...     features=["devmode"])

   >>> class TestCase(unittest.TestCase):
   ...    layer = zcml_file_layer
   ...
   ...    def testFoo(self):
   ...        # The feature was registered
   ...        self.assertTrue(self.layer.context.hasFeature('devmode'))
   ...        # we should now have the adapter registered
   ...        from zope import component
   ...        from zope.component.testfiles import components
   ...        self.assertIsInstance(
   ...            components.IApp2(components.content), components.Comp2)
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/testlayer.rst:118: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> suite = unittest.TestSuite()
   >>> suite.addTest(unittest.makeSuite(TestCase))
   >>> runner = Runner(args=[], found_suites=[suite])
   >>> succeeded = runner.run()
   Running zope.component.testfiles.ZCMLFileLayer tests:
     Set up zope.component.testfiles.ZCMLFileLayer in ... seconds.
     Ran 1 tests with 0 failures, 0 errors and 0 skipped in ... seconds.
   Tearing down left over layers:
     Tear down zope.component.testfiles.ZCMLFileLayer in ... seconds.
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/zcml.rst:16: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> from io import BytesIO
   >>> from zope.configuration.xmlconfig import xmlconfig
   >>> def runSnippet(snippet):
   ...     template = """\
   ...     <configure xmlns='http://namespaces.zope.org/zope'
   ...                i18n_domain="zope">
   ...     %s
   ...     </configure>"""
   ...     xmlconfig(BytesIO((template % snippet).encode("ascii")))
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/zcml.rst:34: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> from zope.component.testfiles.adapter import A1, A2, A3, Handler
   >>> from zope.component.testfiles.adapter import I1, I2, I3, IS
   >>> from zope.component.testfiles.components import IContent, Content, Comp, comp
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/zcml.rst:43: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> from zope.component.tests.examples import clearZCML
   >>> clearZCML()
   >>> from zope.component.testfiles.components import IApp
   >>> IApp(Content(), None) is None
   True
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/zcml.rst:53: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> runSnippet('''
   ...   <adapter
   ...       factory="zope.component.testfiles.components.Comp"
   ...       provides="zope.component.testfiles.components.IApp"
   ...       for="zope.component.testfiles.components.IContent"
   ...       />''')

   >>> IApp(Content()).__class__
   <class 'zope.component.testfiles.components.Comp'>
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/zcml.rst:70: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> import zope.component
   >>> from zope.component.tests.examples import clearZCML
   >>> clearZCML()
   >>> zope.component.queryAdapter(Content(), IApp, 'test') is None
   True

   >>> runSnippet('''
   ...   <adapter
   ...       factory="zope.component.testfiles.components.Comp"
   ...       provides="zope.component.testfiles.components.IApp"
   ...       for="zope.component.testfiles.components.IContent"
   ...       name="test"
   ...       />''')

   >>> zope.component.getAdapter(Content(), IApp, 'test').__class__
   <class 'zope.component.testfiles.components.Comp'>
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/zcml.rst:97: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> clearZCML()
   >>> runSnippet('''
   ...   <adapter
   ...       factory="zope.component.testfiles.adapter.A1
   ...                zope.component.testfiles.adapter.A2
   ...                zope.component.testfiles.adapter.A3"
   ...       provides="zope.component.testfiles.components.IApp"
   ...       for="zope.component.testfiles.components.IContent"
   ...       />''')
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/zcml.rst:112: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> content = Content()
   >>> a3 = IApp(content)
   >>> a3.__class__ is A3
   True

   >>> a2 = a3.context[0]
   >>> a2.__class__ is A2
   True

   >>> a1 = a2.context[0]
   >>> a1.__class__ is A1
   True

   >>> a1.context[0] is content
   True
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/zcml.rst:132: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> runSnippet('''
   ...   <adapter
   ...       factory=""
   ...       provides="zope.component.testfiles.components.IApp"
   ...       for="zope.component.testfiles.components.IContent"
   ...       />''')
   Traceback (most recent call last):
      ...
   ComponentConfigurationError: No factory specified
       File "<string>", line 4.2-8.8
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/zcml.rst:153: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> clearZCML()
   >>> IApp(Content(), None) is None
   True

   >>> runSnippet('''
   ...   <adapter factory="zope.component.testfiles.components.Comp" />''')

   >>> IApp(Content()).__class__
   <class 'zope.component.testfiles.components.Comp'>
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/zcml.rst:168: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> runSnippet('''
   ...   <adapter
   ...       factory="zope.component.testfiles.adapter.A4"
   ...       for="zope.component.testfiles.components.IContent"
   ...       />''')
   Traceback (most recent call last):
      ...
   ZopeXMLConfigurationError: File "<string>", line 4.2-7.8
         TypeError: Missing 'provides' attribute
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/zcml.rst:183: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> runSnippet('''
   ...   <adapter
   ...       factory="zope.component.testfiles.adapter.A5"
   ...       for="zope.component.testfiles.components.IContent"
   ...       />''')
   Traceback (most recent call last):
      ...
   ZopeXMLConfigurationError: File "<string>", line 4.2-7.8
         TypeError: Missing 'provides' attribute
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/zcml.rst:206: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> clearZCML()
   >>> runSnippet('''
   ...   <adapter
   ...       for="zope.component.testfiles.components.Content"
   ...       provides="zope.component.testfiles.adapter.I1"
   ...       factory="zope.component.testfiles.adapter.A1"
   ...       />''')

   >>> content = Content()
   >>> a1 = zope.component.getAdapter(content, I1, '')
   >>> isinstance(a1, A1)
   True
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/zcml.rst:224: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> import zope.interface
   >>> @zope.interface.implementer(IContent)
   ... class MyContent(object):
   ...     pass

   >>> zope.component.getAdapter(MyContent(), I1, '')  # doctest: +ELLIPSIS
   Traceback (most recent call last):
      ...
   ComponentLookupError: ...
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/zcml.rst:242: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> clearZCML()
   >>> runSnippet('''
   ...   <adapter
   ...       for="zope.component.testfiles.components.IContent
   ...            zope.component.testfiles.adapter.I1
   ...            zope.component.testfiles.adapter.I2"
   ...       provides="zope.component.testfiles.adapter.I3"
   ...       factory="zope.component.testfiles.adapter.A3"
   ...       />''')

   >>> content = Content()
   >>> a1 = A1()
   >>> a2 = A2()
   >>> a3 = zope.component.queryMultiAdapter((content, a1, a2), I3)
   >>> a3.__class__ is A3
   True
   >>> a3.context == (content, a1, a2)
   True
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/zcml.rst:266: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> clearZCML()
   >>> runSnippet('''
   ...   <adapter
   ...       for=""
   ...       provides="zope.component.testfiles.adapter.I3"
   ...       factory="zope.component.testfiles.adapter.A3"
   ...       />''')

   >>> a3 = zope.component.queryMultiAdapter((), I3)
   >>> a3.__class__ is A3
   True
   >>> a3.context == ()
   True
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/zcml.rst:285: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> clearZCML()
   >>> runSnippet('''
   ...   <adapter factory="zope.component.testfiles.adapter.A3" />''')

   >>> a3 = zope.component.queryMultiAdapter((content, a1, a2), I3)
   >>> a3.__class__ is A3
   True
   >>> a3.context == (content, a1, a2)
   True
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/zcml.rst:299: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> clearZCML()
   >>> runSnippet('''
   ...   <adapter
   ...       for="zope.component.testfiles.components.IContent
   ...            zope.component.testfiles.adapter.I1
   ...            zope.component.testfiles.adapter.I2"
   ...       provides="zope.component.testfiles.components.IApp"
   ...       factory="zope.component.testfiles.adapter.A1
   ...                zope.component.testfiles.adapter.A2"
   ...       />''')
   Traceback (most recent call last):
      ...
   ComponentConfigurationError: Can't use multiple factories and multiple for
       File "<string>", line 4.2-11.8
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/zcml.rst:318: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> clearZCML()
   >>> runSnippet('''
   ...   <adapter
   ...       for=""
   ...       provides="zope.component.testfiles.components.IApp"
   ...       factory="zope.component.testfiles.adapter.A1
   ...                zope.component.testfiles.adapter.A2"
   ...       />''')
   Traceback (most recent call last):
      ...
   ComponentConfigurationError: Can't use multiple factories and multiple for
       File "<string>", line 4.2-9.8
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/zcml.rst:340: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> clearZCML()
   >>> IApp(Content(), None) is None
   True

   >>> import zope.security
   >>> from zope.configuration.xmlconfig import XMLConfig
   >>> XMLConfig('meta.zcml', zope.security)()
   >>> runSnippet('''
   ...   <permission
   ...       id="y.x"
   ...       title="XY"
   ...       description="Allow XY."
   ...       />
   ...   <adapter
   ...       factory="zope.component.testfiles.components.Comp"
   ...       provides="zope.component.testfiles.components.IApp"
   ...       for="zope.component.testfiles.components.IContent"
   ...       permission="y.x"
   ...       />''')
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/zcml.rst:365: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> IApp(Content()).__class__
   <class 'zope.component.testfiles.components.Comp'>
   >>> type(IApp(Content()))
   <class 'zope.location.location.LocationProxy'>
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/zcml.rst:376: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> clearZCML()
   >>> IApp(Content(), None) is None
   True

   >>> runSnippet('''
   ...   <adapter
   ...       factory="zope.component.testfiles.components.Comp"
   ...       provides="zope.component.testfiles.components.IApp"
   ...       for="zope.component.testfiles.components.IContent"
   ...       permission="zope.Public"
   ...       />''')

   >>> from zope.security.checker import ProxyFactory
   >>> adapter = ProxyFactory(IApp(Content()))
   >>> from zope.security.proxy import getTestProxyItems
   >>> items = [item[0] for item in getTestProxyItems(adapter)]
   >>> items
   ['a', 'f']

   >>> from zope.security.proxy import removeSecurityProxy
   >>> removeSecurityProxy(adapter).__class__ is Comp
   True
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/zcml.rst:404: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> clearZCML()
   >>> runSnippet('''
   ...   <adapter
   ...       factory="zope.component.testfiles.components.Comp"
   ...       permission="zope.Public"
   ...       />''')

   >>> adapter = ProxyFactory(IApp(Content()))
   >>> [item[0] for item in getTestProxyItems(adapter)]
   ['a', 'f']
   >>> removeSecurityProxy(adapter).__class__ is Comp
   True
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/zcml.rst:421: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> clearZCML()
   >>> runSnippet('''
   ...   <adapter
   ...       factory="zope.component.testfiles.adapter.A3"
   ...       provides="zope.component.testfiles.adapter.I3"
   ...       for="zope.component.testfiles.components.IContent
   ...            zope.component.testfiles.adapter.I1
   ...            zope.component.testfiles.adapter.I2"
   ...       permission="zope.Public"
   ...       />''')

   >>> content = Content()
   >>> a1 = A1()
   >>> a2 = A2()
   >>> a3 = ProxyFactory(zope.component.queryMultiAdapter((content, a1, a2), I3))
   >>> a3.__class__ == A3
   True
   >>> [item[0] for item in getTestProxyItems(a3)]
   ['f1', 'f2', 'f3']
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/zcml.rst:447: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> clearZCML()
   >>> runSnippet('''
   ...   <adapter
   ...       factory="zope.component.testfiles.components.Comp"
   ...       provides="zope.component.testfiles.components.IApp"
   ...       for="zope.component.testfiles.components.IContent"
   ...       permission="zope.UndefinedPermission"
   ...       />''')
   Traceback (most recent call last):
      ...
   ConfigurationExecutionError: exceptions.ValueError: ('Undefined permission id', 'zope.UndefinedPermission')
      in:
      File "<string>", line 4.2-9.8
      Could not read source.
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/zcml.rst:472: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> clearZCML()
   >>> runSnippet('''
   ...   <adapter
   ...       for="zope.component.testfiles.components.IContent"
   ...       provides="zope.component.testfiles.adapter.I1"
   ...       factory="zope.component.testfiles.adapter.A1"
   ...       trusted="yes"
   ...       />''')
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/zcml.rst:485: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> ob = Content()
   >>> type(I1(ob)) is A1
   True
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/zcml.rst:494: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> p = ProxyFactory(ob)
   >>> a = I1(p)
   >>> type(a)
   <... 'zope.security...proxy...Proxy...'>
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/zcml.rst:504: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> a = removeSecurityProxy(a)
   >>> type(a) is A1
   True
   >>> a.context[0] is ob
   True
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/zcml.rst:514: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> clearZCML()
   >>> XMLConfig('meta.zcml', zope.security)()
   >>> runSnippet('''
   ...   <permission
   ...       id="y.x"
   ...       title="XY"
   ...       description="Allow XY."
   ...       />
   ...   <adapter
   ...       for="zope.component.testfiles.components.IContent"
   ...       provides="zope.component.testfiles.adapter.I1"
   ...       factory="zope.component.testfiles.adapter.A1"
   ...       permission="y.x"
   ...       trusted="yes"
   ...       />''')
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/zcml.rst:534: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> ob = Content()
   >>> type(I1(ob)) is A1
   True
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/zcml.rst:543: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> p = ProxyFactory(ob)
   >>> a = I1(p)
   >>> type(a)
   <... 'zope.security...proxy...Proxy...'>
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/zcml.rst:553: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> a = removeSecurityProxy(a)
   >>> type(a)
   <class 'zope.location.location.LocationProxy'>
   >>> a.context[0] is ob
   True
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/zcml.rst:564: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> clearZCML()
   >>> runSnippet('''
   ...   <adapter
   ...       for="zope.component.testfiles.components.IContent"
   ...       provides="zope.component.testfiles.adapter.I1"
   ...       factory="zope.component.testfiles.adapter.A1"
   ...       permission="zope.Public"
   ...       trusted="yes"
   ...       />''')

   >>> ob = Content()
   >>> p = ProxyFactory(ob)
   >>> a = I1(p)
   >>> type(a)
   <... 'zope.security...proxy...Proxy...'>

   >>> a = removeSecurityProxy(a)
   >>> type(a) is A1
   True
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/zcml.rst:589: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> clearZCML()
   >>> runSnippet('''
   ...   <adapter
   ...       for="zope.component.testfiles.components.IContent"
   ...       provides="zope.component.testfiles.adapter.I1"
   ...       factory="zope.component.testfiles.adapter.A1"
   ...       trusted="yes"
   ...       locate="yes"
   ...       />''')

   >>> ob = Content()
   >>> p = ProxyFactory(ob)
   >>> a = I1(p)
   >>> type(a)
   <... 'zope.security...proxy...Proxy...'>

   >>> a = removeSecurityProxy(a)
   >>> type(a)
   <class 'zope.location.location.LocationProxy'>
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/zcml.rst:619: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> clearZCML()
   >>> runSnippet('''
   ...   <subscriber
   ...       provides="zope.component.testfiles.adapter.IS"
   ...       factory="zope.component.testfiles.adapter.A3"
   ...       for="zope.component.testfiles.components.IContent
   ...            zope.component.testfiles.adapter.I1"
   ...       />''')

   >>> content = Content()
   >>> a1 = A1()

   >>> subscribers = zope.component.subscribers((content, a1), IS)
   >>> a3 = subscribers[0]
   >>> a3.__class__ is A3
   True
   >>> a3.context == (content, a1)
   True
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/zcml.rst:643: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> sm = zope.component.getSiteManager()
   >>> doc = [reg.info for reg in sm.registeredSubscriptionAdapters()
   ...        if reg.provided is IS][0]
   >>> print(doc)
   File "<string>", line 4.2-9.8
     Could not read source.
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/zcml.rst:657: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> clearZCML()
   >>> runSnippet('''
   ...   <subscriber
   ...       provides="zope.component.testfiles.adapter.IS"
   ...       factory="zope.component.testfiles.adapter.A3"
   ...       for="zope.component.testfiles.components.IContent
   ...            zope.component.testfiles.adapter.I1"
   ...       />
   ...   <subscriber
   ...       provides="zope.component.testfiles.adapter.IS"
   ...       factory="zope.component.testfiles.adapter.A2"
   ...       for="zope.component.testfiles.components.IContent
   ...            zope.component.testfiles.adapter.I1"
   ...       />''')

   >>> subscribers = zope.component.subscribers((content, a1), IS)
   >>> len(subscribers)
   2
   >>> sorted([a.__class__.__name__ for a in subscribers])
   ['A2', 'A3']
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/zcml.rst:688: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> clearZCML()
   >>> runSnippet('''
   ...   <subscriber
   ...       factory="zope.component.testfiles.adapter.A3"
   ...       />''')

   >>> content = Content()
   >>> a2 = A2()
   >>> subscribers = zope.component.subscribers((content, a1, a2), I3)

   >>> a3 = subscribers[0]
   >>> a3.__class__ is A3
   True
   >>> a3.context == (content, a1, a2)
   True
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/zcml.rst:709: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> clearZCML()
   >>> runSnippet('''
   ...   <subscriber handler="zope.component.testfiles.adapter.A3" />''')

   >>> sm = zope.component.getSiteManager()
   >>> a3 = sm.adapters.subscriptions((IContent, I1, I2), None)[0]
   >>> a3 is A3
   True
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/zcml.rst:723: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> clearZCML()
   >>> runSnippet('''
   ...   <subscriber
   ...       for="zope.component.testfiles.components.Content"
   ...       provides="zope.component.testfiles.adapter.I1"
   ...       factory="zope.component.testfiles.adapter.A1"
   ...       />''')

   >>> subs = list(zope.component.subscribers((Content(),), I1))
   >>> isinstance(subs[0], A1)
   True
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/zcml.rst:740: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> list(zope.component.subscribers((MyContent(),), I1))
   []
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/zcml.rst:752: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> clearZCML()
   >>> XMLConfig('meta.zcml', zope.security)()
   >>> runSnippet('''
   ...   <permission
   ...       id="y.x"
   ...       title="XY"
   ...       description="Allow XY."
   ...       />
   ...   <subscriber
   ...       provides="zope.component.testfiles.adapter.IS"
   ...       factory="zope.component.testfiles.adapter.A3"
   ...       for="zope.component.testfiles.components.IContent
   ...            zope.component.testfiles.adapter.I1"
   ...       permission="y.x"
   ...       />''')

   >>> subscribers = zope.component.subscribers((content, a1), IS)
   >>> a3 = subscribers[0]
   >>> a3.__class__ is A3
   True
   >>> type(a3)
   <class 'zope.location.location.LocationProxy'>
   >>> a3.context == (content, a1)
   True
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/zcml.rst:788: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> clearZCML()
   >>> runSnippet('''
   ...   <subscriber
   ...       provides="zope.component.testfiles.adapter.IS"
   ...       factory="zope.component.testfiles.adapter.A3"
   ...       for="zope.component.testfiles.components.IContent
   ...            zope.component.testfiles.adapter.I1"
   ...       trusted="yes"
   ...       />''')
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/zcml.rst:802: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> subscribers = zope.component.subscribers((content, a1), IS)
   >>> a3 = subscribers[0]
   >>> a3.__class__ is A3
   True
   >>> a3.context == (content, a1)
   True
   >>> type(a3) is A3
   True
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/zcml.rst:816: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> p = ProxyFactory(content)
   >>> a3 = zope.component.subscribers((p, a1), IS)[0]
   >>> type(a3)
   <... 'zope.security...proxy...Proxy...'>
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/zcml.rst:825: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> removeSecurityProxy(a3).context[0] is content
   True
   >>> type(removeSecurityProxy(a3)) is A3
   True
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/zcml.rst:835: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> clearZCML()
   >>> runSnippet('''
   ...   <subscriber
   ...       provides="zope.component.testfiles.adapter.IS"
   ...       factory="zope.component.testfiles.adapter.A3"
   ...       for="zope.component.testfiles.components.IContent
   ...            zope.component.testfiles.adapter.I1"
   ...       trusted="yes"
   ...       locate="yes"
   ...       />''')
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/zcml.rst:850: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> subscribers = zope.component.subscribers((content, a1), IS)
   >>> a3 = subscribers[0]
   >>> a3.__class__ is A3
   True
   >>> a3.context == (content, a1)
   True
   >>> type(a3) is A3
   True
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/zcml.rst:863: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> p = ProxyFactory(content)
   >>> a3 = zope.component.subscribers((p, a1), IS)[0]

   >>> type(a3)
   <... 'zope.security...proxy...Proxy...'>

   >>> removeSecurityProxy(a3).context[0] is content
   True
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/zcml.rst:877: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> type(removeSecurityProxy(a3))
   <class 'zope.location.location.LocationProxy'>
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/zcml.rst:888: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> clearZCML()
   >>> runSnippet('''
   ...   <subscriber
   ...       for="zope.component.testfiles.components.IContent
   ...            zope.component.testfiles.adapter.I1"
   ...       handler="zope.component.testfiles.adapter.Handler"
   ...       />''')
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/zcml.rst:900: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> list(zope.component.subscribers((content, a1), None))
   []
   >>> content.args == ((a1,),)
   True
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/zcml.rst:918: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> clearZCML()
   >>> zope.component.queryUtility(IApp) is None
   True
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/zcml.rst:926: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> runSnippet('''
   ...   <utility
   ...       component="zope.component.testfiles.components.comp"
   ...       provides="zope.component.testfiles.components.IApp"
   ...       />''')
   >>> zope.component.getUtility(IApp) is comp
   True
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/zcml.rst:942: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> clearZCML()
   >>> zope.component.queryUtility(IApp, 'test') is None
   True
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/zcml.rst:950: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> runSnippet('''
   ...   <utility
   ...       component="zope.component.testfiles.components.comp"
   ...       provides="zope.component.testfiles.components.IApp"
   ...       name="test"
   ...       />''')
   >>> zope.component.getUtility(IApp, 'test') is comp
   True
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/zcml.rst:966: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> clearZCML()
   >>> zope.component.queryUtility(IApp) is None
   True

   >>> runSnippet('''
   ...   <utility
   ...       factory="zope.component.testfiles.components.Comp"
   ...       provides="zope.component.testfiles.components.IApp"
   ...       />''')
   >>> zope.component.getUtility(IApp).__class__ is Comp
   True
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/zcml.rst:986: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> clearZCML()
   >>> zope.component.queryUtility(IApp) is None
   True

   >>> runSnippet('''
   ...   <utility component="zope.component.testfiles.components.comp" />''')
   >>> zope.component.getUtility(IApp) is comp
   True
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/zcml.rst:1000: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> clearZCML()
   >>> runSnippet('''
   ...   <utility component="zope.component.testfiles.adapter.a4" />''')
   Traceback (most recent call last):
      ...
   ZopeXMLConfigurationError: File "<string>", line 4.2-4.61
         TypeError: Missing 'provides' attribute
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/zcml.rst:1013: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> clearZCML()
   >>> runSnippet('''
   ...   <utility component="zope.component.testfiles.adapter.a5" />''')
   Traceback (most recent call last):
      ...
   ZopeXMLConfigurationError: File "<string>", line 4.2-4.61
         TypeError: Missing 'provides' attribute
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/zcml.rst:1025: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> clearZCML()
   >>> runSnippet('''
   ...   <utility factory="zope.component.testfiles.components.Comp" />''')
   >>> zope.component.getUtility(IApp).__class__ is Comp
   True

   >>> runSnippet('''
   ...   <utility factory="zope.component.testfiles.adapter.A4" />''')
   Traceback (most recent call last):
      ...
   ZopeXMLConfigurationError: File "<string>", line 4.2-4.59
         TypeError: Missing 'provides' attribute

   >>> clearZCML()
   >>> runSnippet('''
   ...   <utility factory="zope.component.testfiles.adapter.A5" />''')
   Traceback (most recent call last):
      ...
   ZopeXMLConfigurationError: File "<string>", line 4.2-4.59
         TypeError: Missing 'provides' attribute
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/zcml.rst:1129: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> import re, pprint
   >>> try:
   ...     from cStringIO import StringIO
   ... except ImportError:
   ...     from io import StringIO
   >>> atre = re.compile(' at [0-9a-fA-Fx]+')
   >>> class Context(object):
   ...    actions = ()
   ...    def action(self, discriminator, callable, args):
   ...        self.actions += ((discriminator, callable, args), )
   ...    def __repr__(self):
   ...        stream = StringIO()
   ...        pprinter = pprint.PrettyPrinter(stream=stream, width=60)
   ...        pprinter.pprint(self.actions)
   ...        r = stream.getvalue()
   ...        return (u''.join(atre.split(r))).strip()
   >>> context = Context()
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/zcml.rst:1151: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> from zope.interface import Interface
   >>> class I(Interface):
   ...     pass
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/zcml.rst:1159: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> from zope.component.tests.examples import ITestType
   >>> ITestType.providedBy(I)
   False
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/zcml.rst:1167: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> from zope.component.zcml import interface
   >>> interface(context, I, ITestType)
   >>> context
   ((None,
     <function provideInterface>,
     ('',
      <InterfaceClass ....I>,
      <InterfaceClass zope.component.tests.examples.ITestType>)),)
/home/iurt/rpmbuild/BUILD/zope.component-5.0.0/docs/zcml.rst:1180: WARNING: Unknown directive type "doctest".

.. doctest::

   >>> from zope.interface.interfaces import IInterface
   >>> ITestType.extends(IInterface)
   True
   >>> IInterface.providedBy(I)
   True
looking for now-outdated files... none found
pickling environment... done
checking consistency... done
preparing documents... done
writing output... [  4%] api
writing output... [  8%] api/adapter
writing output... [ 13%] api/factory
writing output... [ 17%] api/hooks
writing output... [ 21%] api/interface
writing output... [ 26%] api/interfaces
writing output... [ 30%] api/module
writing output... [ 34%] api/persistent
writing output... [ 39%] api/security
writing output... [ 43%] api/sitemanager
writing output... [ 47%] api/utility
writing output... [ 52%] changelog
writing output... [ 56%] configure
writing output... [ 60%] event
writing output... [ 65%] factory
writing output... [ 69%] hacking
writing output... [ 73%] hooks
writing output... [ 78%] index
writing output... [ 82%] narr
writing output... [ 86%] persistentregistry
writing output... [ 91%] socketexample
writing output... [ 95%] testlayer
writing output... [100%] zcml

generating indices... genindex py-modindex done
writing additional pages... search done
copying static files... done
copying extra files... done
dumping search index in English (code: en)... done
dumping object inventory... done
build succeeded, 329 warnings.

The HTML pages are in html.
+ rm -fr html/.buildinfo html/.doctrees
+ RPM_EC=0
++ jobs -p
+ exit 0
Executing(%install): /bin/sh -e /home/iurt/rpmbuild/tmp/rpm-tmp.NMRt5j
+ umask 022
+ cd /home/iurt/rpmbuild/BUILD
+ '[' 1 -eq 1 ']'
+ '[' /home/iurt/rpmbuild/BUILDROOT/python-zope-component-5.0.0-1.mga9.aarch64 '!=' / ']'
+ rm -rf /home/iurt/rpmbuild/BUILDROOT/python-zope-component-5.0.0-1.mga9.aarch64
++ dirname /home/iurt/rpmbuild/BUILDROOT/python-zope-component-5.0.0-1.mga9.aarch64
+ mkdir -p /home/iurt/rpmbuild/BUILDROOT
+ mkdir /home/iurt/rpmbuild/BUILDROOT/python-zope-component-5.0.0-1.mga9.aarch64
+ cd zope.component-5.0.0
+ '[' 1 -eq 1 ']'
+ CFLAGS='-O2 -g -pipe -Wformat -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector --param=ssp-buffer-size=4 -fasynchronous-unwind-tables'
+ LDFLAGS=' -Wl,--as-needed -Wl,--no-undefined -Wl,-z,relro -Wl,-O1 -Wl,--build-id -Wl,--enable-new-dtags'
+ /usr/bin/python3 setup.py install -O1 --skip-build --root /home/iurt/rpmbuild/BUILDROOT/python-zope-component-5.0.0-1.mga9.aarch64
running install
running install_lib
Skipping installation of /home/iurt/rpmbuild/BUILDROOT/python-zope-component-5.0.0-1.mga9.aarch64/usr/lib/python3.9/site-packages/zope/__init__.py (namespace package)
copying zope/component/meta.zcml -> /home/iurt/rpmbuild/BUILDROOT/python-zope-component-5.0.0-1.mga9.aarch64/usr/lib/python3.9/site-packages/zope/component
copying zope/component/configure.zcml -> /home/iurt/rpmbuild/BUILDROOT/python-zope-component-5.0.0-1.mga9.aarch64/usr/lib/python3.9/site-packages/zope/component
copying zope/component/__init__.py -> /home/iurt/rpmbuild/BUILDROOT/python-zope-component-5.0.0-1.mga9.aarch64/usr/lib/python3.9/site-packages/zope/component
copying zope/component/_api.py -> /home/iurt/rpmbuild/BUILDROOT/python-zope-component-5.0.0-1.mga9.aarch64/usr/lib/python3.9/site-packages/zope/component
copying zope/component/_compat.py -> /home/iurt/rpmbuild/BUILDROOT/python-zope-component-5.0.0-1.mga9.aarch64/usr/lib/python3.9/site-packages/zope/component
copying zope/component/_declaration.py -> /home/iurt/rpmbuild/BUILDROOT/python-zope-component-5.0.0-1.mga9.aarch64/usr/lib/python3.9/site-packages/zope/component
copying zope/component/event.py -> /home/iurt/rpmbuild/BUILDROOT/python-zope-component-5.0.0-1.mga9.aarch64/usr/lib/python3.9/site-packages/zope/component
copying zope/component/eventtesting.py -> /home/iurt/rpmbuild/BUILDROOT/python-zope-component-5.0.0-1.mga9.aarch64/usr/lib/python3.9/site-packages/zope/component
copying zope/component/factory.py -> /home/iurt/rpmbuild/BUILDROOT/python-zope-component-5.0.0-1.mga9.aarch64/usr/lib/python3.9/site-packages/zope/component
copying zope/component/globalregistry.py -> /home/iurt/rpmbuild/BUILDROOT/python-zope-component-5.0.0-1.mga9.aarch64/usr/lib/python3.9/site-packages/zope/component
copying zope/component/hooks.py -> /home/iurt/rpmbuild/BUILDROOT/python-zope-component-5.0.0-1.mga9.aarch64/usr/lib/python3.9/site-packages/zope/component
copying zope/component/interface.py -> /home/iurt/rpmbuild/BUILDROOT/python-zope-component-5.0.0-1.mga9.aarch64/usr/lib/python3.9/site-packages/zope/component
copying zope/component/interfaces.py -> /home/iurt/rpmbuild/BUILDROOT/python-zope-component-5.0.0-1.mga9.aarch64/usr/lib/python3.9/site-packages/zope/component
copying zope/component/persistentregistry.py -> /home/iurt/rpmbuild/BUILDROOT/python-zope-component-5.0.0-1.mga9.aarch64/usr/lib/python3.9/site-packages/zope/component
copying zope/component/registry.py -> /home/iurt/rpmbuild/BUILDROOT/python-zope-component-5.0.0-1.mga9.aarch64/usr/lib/python3.9/site-packages/zope/component
copying zope/component/security.py -> /home/iurt/rpmbuild/BUILDROOT/python-zope-component-5.0.0-1.mga9.aarch64/usr/lib/python3.9/site-packages/zope/component
copying zope/component/standalonetests.py -> /home/iurt/rpmbuild/BUILDROOT/python-zope-component-5.0.0-1.mga9.aarch64/usr/lib/python3.9/site-packages/zope/component
copying zope/component/testing.py -> /home/iurt/rpmbuild/BUILDROOT/python-zope-component-5.0.0-1.mga9.aarch64/usr/lib/python3.9/site-packages/zope/component
copying zope/component/testlayer.py -> /home/iurt/rpmbuild/BUILDROOT/python-zope-component-5.0.0-1.mga9.aarch64/usr/lib/python3.9/site-packages/zope/component
copying zope/component/zcml.py -> /home/iurt/rpmbuild/BUILDROOT/python-zope-component-5.0.0-1.mga9.aarch64/usr/lib/python3.9/site-packages/zope/component
copying zope/component/testfiles/testlayer.zcml -> /home/iurt/rpmbuild/BUILDROOT/python-zope-component-5.0.0-1.mga9.aarch64/usr/lib/python3.9/site-packages/zope/component/testfiles
copying zope/component/testfiles/__init__.py -> /home/iurt/rpmbuild/BUILDROOT/python-zope-component-5.0.0-1.mga9.aarch64/usr/lib/python3.9/site-packages/zope/component/testfiles
copying zope/component/testfiles/adapter.py -> /home/iurt/rpmbuild/BUILDROOT/python-zope-component-5.0.0-1.mga9.aarch64/usr/lib/python3.9/site-packages/zope/component/testfiles
copying zope/component/testfiles/components.py -> /home/iurt/rpmbuild/BUILDROOT/python-zope-component-5.0.0-1.mga9.aarch64/usr/lib/python3.9/site-packages/zope/component/testfiles
copying zope/component/testfiles/views.py -> /home/iurt/rpmbuild/BUILDROOT/python-zope-component-5.0.0-1.mga9.aarch64/usr/lib/python3.9/site-packages/zope/component/testfiles
copying zope/component/tests/__init__.py -> /home/iurt/rpmbuild/BUILDROOT/python-zope-component-5.0.0-1.mga9.aarch64/usr/lib/python3.9/site-packages/zope/component/tests
copying zope/component/tests/examples.py -> /home/iurt/rpmbuild/BUILDROOT/python-zope-component-5.0.0-1.mga9.aarch64/usr/lib/python3.9/site-packages/zope/component/tests
copying zope/component/tests/test___init__.py -> /home/iurt/rpmbuild/BUILDROOT/python-zope-component-5.0.0-1.mga9.aarch64/usr/lib/python3.9/site-packages/zope/component/tests
copying zope/component/tests/test__api.py -> /home/iurt/rpmbuild/BUILDROOT/python-zope-component-5.0.0-1.mga9.aarch64/usr/lib/python3.9/site-packages/zope/component/tests
copying zope/component/tests/test__declaration.py -> /home/iurt/rpmbuild/BUILDROOT/python-zope-component-5.0.0-1.mga9.aarch64/usr/lib/python3.9/site-packages/zope/component/tests
copying zope/component/tests/test_event.py -> /home/iurt/rpmbuild/BUILDROOT/python-zope-component-5.0.0-1.mga9.aarch64/usr/lib/python3.9/site-packages/zope/component/tests
copying zope/component/tests/test_factory.py -> /home/iurt/rpmbuild/BUILDROOT/python-zope-component-5.0.0-1.mga9.aarch64/usr/lib/python3.9/site-packages/zope/component/tests
copying zope/component/tests/test_globalregistry.py -> /home/iurt/rpmbuild/BUILDROOT/python-zope-component-5.0.0-1.mga9.aarch64/usr/lib/python3.9/site-packages/zope/component/tests
copying zope/component/tests/test_hooks.py -> /home/iurt/rpmbuild/BUILDROOT/python-zope-component-5.0.0-1.mga9.aarch64/usr/lib/python3.9/site-packages/zope/component/tests
copying zope/component/tests/test_interface.py -> /home/iurt/rpmbuild/BUILDROOT/python-zope-component-5.0.0-1.mga9.aarch64/usr/lib/python3.9/site-packages/zope/component/tests
copying zope/component/tests/test_interfaces.py -> /home/iurt/rpmbuild/BUILDROOT/python-zope-component-5.0.0-1.mga9.aarch64/usr/lib/python3.9/site-packages/zope/component/tests
copying zope/component/tests/test_persistentregistry.py -> /home/iurt/rpmbuild/BUILDROOT/python-zope-component-5.0.0-1.mga9.aarch64/usr/lib/python3.9/site-packages/zope/component/tests
copying zope/component/tests/test_registry.py -> /home/iurt/rpmbuild/BUILDROOT/python-zope-component-5.0.0-1.mga9.aarch64/usr/lib/python3.9/site-packages/zope/component/tests
copying zope/component/tests/test_security.py -> /home/iurt/rpmbuild/BUILDROOT/python-zope-component-5.0.0-1.mga9.aarch64/usr/lib/python3.9/site-packages/zope/component/tests
copying zope/component/tests/test_standalone.py -> /home/iurt/rpmbuild/BUILDROOT/python-zope-component-5.0.0-1.mga9.aarch64/usr/lib/python3.9/site-packages/zope/component/tests
copying zope/component/tests/test_zcml.py -> /home/iurt/rpmbuild/BUILDROOT/python-zope-component-5.0.0-1.mga9.aarch64/usr/lib/python3.9/site-packages/zope/component/tests
byte-compiling /home/iurt/rpmbuild/BUILDROOT/python-zope-component-5.0.0-1.mga9.aarch64/usr/lib/python3.9/site-packages/zope/component/__init__.py to __init__.cpython-39.pyc
byte-compiling /home/iurt/rpmbuild/BUILDROOT/python-zope-component-5.0.0-1.mga9.aarch64/usr/lib/python3.9/site-packages/zope/component/_api.py to _api.cpython-39.pyc
byte-compiling /home/iurt/rpmbuild/BUILDROOT/python-zope-component-5.0.0-1.mga9.aarch64/usr/lib/python3.9/site-packages/zope/component/_compat.py to _compat.cpython-39.pyc
byte-compiling /home/iurt/rpmbuild/BUILDROOT/python-zope-component-5.0.0-1.mga9.aarch64/usr/lib/python3.9/site-packages/zope/component/_declaration.py to _declaration.cpython-39.pyc
byte-compiling /home/iurt/rpmbuild/BUILDROOT/python-zope-component-5.0.0-1.mga9.aarch64/usr/lib/python3.9/site-packages/zope/component/event.py to event.cpython-39.pyc
byte-compiling /home/iurt/rpmbuild/BUILDROOT/python-zope-component-5.0.0-1.mga9.aarch64/usr/lib/python3.9/site-packages/zope/component/eventtesting.py to eventtesting.cpython-39.pyc
byte-compiling /home/iurt/rpmbuild/BUILDROOT/python-zope-component-5.0.0-1.mga9.aarch64/usr/lib/python3.9/site-packages/zope/component/factory.py to factory.cpython-39.pyc
byte-compiling /home/iurt/rpmbuild/BUILDROOT/python-zope-component-5.0.0-1.mga9.aarch64/usr/lib/python3.9/site-packages/zope/component/globalregistry.py to globalregistry.cpython-39.pyc
byte-compiling /home/iurt/rpmbuild/BUILDROOT/python-zope-component-5.0.0-1.mga9.aarch64/usr/lib/python3.9/site-packages/zope/component/hooks.py to hooks.cpython-39.pyc
byte-compiling /home/iurt/rpmbuild/BUILDROOT/python-zope-component-5.0.0-1.mga9.aarch64/usr/lib/python3.9/site-packages/zope/component/interface.py to interface.cpython-39.pyc
byte-compiling /home/iurt/rpmbuild/BUILDROOT/python-zope-component-5.0.0-1.mga9.aarch64/usr/lib/python3.9/site-packages/zope/component/interfaces.py to interfaces.cpython-39.pyc
byte-compiling /home/iurt/rpmbuild/BUILDROOT/python-zope-component-5.0.0-1.mga9.aarch64/usr/lib/python3.9/site-packages/zope/component/persistentregistry.py to persistentregistry.cpython-39.pyc
byte-compiling /home/iurt/rpmbuild/BUILDROOT/python-zope-component-5.0.0-1.mga9.aarch64/usr/lib/python3.9/site-packages/zope/component/registry.py to registry.cpython-39.pyc
byte-compiling /home/iurt/rpmbuild/BUILDROOT/python-zope-component-5.0.0-1.mga9.aarch64/usr/lib/python3.9/site-packages/zope/component/security.py to security.cpython-39.pyc
byte-compiling /home/iurt/rpmbuild/BUILDROOT/python-zope-component-5.0.0-1.mga9.aarch64/usr/lib/python3.9/site-packages/zope/component/standalonetests.py to standalonetests.cpython-39.pyc
byte-compiling /home/iurt/rpmbuild/BUILDROOT/python-zope-component-5.0.0-1.mga9.aarch64/usr/lib/python3.9/site-packages/zope/component/testing.py to testing.cpython-39.pyc
byte-compiling /home/iurt/rpmbuild/BUILDROOT/python-zope-component-5.0.0-1.mga9.aarch64/usr/lib/python3.9/site-packages/zope/component/testlayer.py to testlayer.cpython-39.pyc
byte-compiling /home/iurt/rpmbuild/BUILDROOT/python-zope-component-5.0.0-1.mga9.aarch64/usr/lib/python3.9/site-packages/zope/component/zcml.py to zcml.cpython-39.pyc
byte-compiling /home/iurt/rpmbuild/BUILDROOT/python-zope-component-5.0.0-1.mga9.aarch64/usr/lib/python3.9/site-packages/zope/component/testfiles/__init__.py to __init__.cpython-39.pyc
byte-compiling /home/iurt/rpmbuild/BUILDROOT/python-zope-component-5.0.0-1.mga9.aarch64/usr/lib/python3.9/site-packages/zope/component/testfiles/adapter.py to adapter.cpython-39.pyc
byte-compiling /home/iurt/rpmbuild/BUILDROOT/python-zope-component-5.0.0-1.mga9.aarch64/usr/lib/python3.9/site-packages/zope/component/testfiles/components.py to components.cpython-39.pyc
byte-compiling /home/iurt/rpmbuild/BUILDROOT/python-zope-component-5.0.0-1.mga9.aarch64/usr/lib/python3.9/site-packages/zope/component/testfiles/views.py to views.cpython-39.pyc
byte-compiling /home/iurt/rpmbuild/BUILDROOT/python-zope-component-5.0.0-1.mga9.aarch64/usr/lib/python3.9/site-packages/zope/component/tests/__init__.py to __init__.cpython-39.pyc
byte-compiling /home/iurt/rpmbuild/BUILDROOT/python-zope-component-5.0.0-1.mga9.aarch64/usr/lib/python3.9/site-packages/zope/component/tests/examples.py to examples.cpython-39.pyc
byte-compiling /home/iurt/rpmbuild/BUILDROOT/python-zope-component-5.0.0-1.mga9.aarch64/usr/lib/python3.9/site-packages/zope/component/tests/test___init__.py to test___init__.cpython-39.pyc
byte-compiling /home/iurt/rpmbuild/BUILDROOT/python-zope-component-5.0.0-1.mga9.aarch64/usr/lib/python3.9/site-packages/zope/component/tests/test__api.py to test__api.cpython-39.pyc
byte-compiling /home/iurt/rpmbuild/BUILDROOT/python-zope-component-5.0.0-1.mga9.aarch64/usr/lib/python3.9/site-packages/zope/component/tests/test__declaration.py to test__declaration.cpython-39.pyc
byte-compiling /home/iurt/rpmbuild/BUILDROOT/python-zope-component-5.0.0-1.mga9.aarch64/usr/lib/python3.9/site-packages/zope/component/tests/test_event.py to test_event.cpython-39.pyc
byte-compiling /home/iurt/rpmbuild/BUILDROOT/python-zope-component-5.0.0-1.mga9.aarch64/usr/lib/python3.9/site-packages/zope/component/tests/test_factory.py to test_factory.cpython-39.pyc
byte-compiling /home/iurt/rpmbuild/BUILDROOT/python-zope-component-5.0.0-1.mga9.aarch64/usr/lib/python3.9/site-packages/zope/component/tests/test_globalregistry.py to test_globalregistry.cpython-39.pyc
byte-compiling /home/iurt/rpmbuild/BUILDROOT/python-zope-component-5.0.0-1.mga9.aarch64/usr/lib/python3.9/site-packages/zope/component/tests/test_hooks.py to test_hooks.cpython-39.pyc
byte-compiling /home/iurt/rpmbuild/BUILDROOT/python-zope-component-5.0.0-1.mga9.aarch64/usr/lib/python3.9/site-packages/zope/component/tests/test_interface.py to test_interface.cpython-39.pyc
byte-compiling /home/iurt/rpmbuild/BUILDROOT/python-zope-component-5.0.0-1.mga9.aarch64/usr/lib/python3.9/site-packages/zope/component/tests/test_interfaces.py to test_interfaces.cpython-39.pyc
byte-compiling /home/iurt/rpmbuild/BUILDROOT/python-zope-component-5.0.0-1.mga9.aarch64/usr/lib/python3.9/site-packages/zope/component/tests/test_persistentregistry.py to test_persistentregistry.cpython-39.pyc
byte-compiling /home/iurt/rpmbuild/BUILDROOT/python-zope-component-5.0.0-1.mga9.aarch64/usr/lib/python3.9/site-packages/zope/component/tests/test_registry.py to test_registry.cpython-39.pyc
byte-compiling /home/iurt/rpmbuild/BUILDROOT/python-zope-component-5.0.0-1.mga9.aarch64/usr/lib/python3.9/site-packages/zope/component/tests/test_security.py to test_security.cpython-39.pyc
byte-compiling /home/iurt/rpmbuild/BUILDROOT/python-zope-component-5.0.0-1.mga9.aarch64/usr/lib/python3.9/site-packages/zope/component/tests/test_standalone.py to test_standalone.cpython-39.pyc
byte-compiling /home/iurt/rpmbuild/BUILDROOT/python-zope-component-5.0.0-1.mga9.aarch64/usr/lib/python3.9/site-packages/zope/component/tests/test_zcml.py to test_zcml.cpython-39.pyc
writing byte-compilation script '/tmp/tmp8mqoezgr.py'
/usr/bin/python3 /tmp/tmp8mqoezgr.py
removing /tmp/tmp8mqoezgr.py
running install_egg_info
running egg_info
writing src/zope.component.egg-info/PKG-INFO
writing dependency_links to src/zope.component.egg-info/dependency_links.txt
writing namespace_packages to src/zope.component.egg-info/namespace_packages.txt
writing requirements to src/zope.component.egg-info/requires.txt
writing top-level names to src/zope.component.egg-info/top_level.txt
reading manifest file 'src/zope.component.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
adding license file 'LICENSE.txt'
writing manifest file 'src/zope.component.egg-info/SOURCES.txt'
Copying src/zope.component.egg-info to /home/iurt/rpmbuild/BUILDROOT/python-zope-component-5.0.0-1.mga9.aarch64/usr/lib/python3.9/site-packages/zope.component-5.0.0-py3.9.egg-info
Installing /home/iurt/rpmbuild/BUILDROOT/python-zope-component-5.0.0-1.mga9.aarch64/usr/lib/python3.9/site-packages/zope.component-5.0.0-py3.9-nspkg.pth
running install_scripts
+ rm -rfv /home/iurt/rpmbuild/BUILDROOT/python-zope-component-5.0.0-1.mga9.aarch64/usr/bin/__pycache__
+ /usr/bin/find-debuginfo -j8 --strict-build-id -m -i --build-id-seed 5.0.0-1.mga9 --unique-debug-suffix -5.0.0-1.mga9.aarch64 --unique-debug-src-base python-zope-component-5.0.0-1.mga9.aarch64 --run-dwz --dwz-low-mem-die-limit 10000000 --dwz-max-die-limit 50000000 -S debugsourcefiles.list /home/iurt/rpmbuild/BUILD/zope.component-5.0.0

+ /usr/lib/rpm/check-buildroot
+ '[' -n '' ']'
+ /usr/share/spec-helper/clean_files
+ '[' -n '' ']'
+ /usr/share/spec-helper/compress_files .xz
+ '[' -n '' ']'
+ /usr/share/spec-helper/relink_symlinks
+ '[' -n '' ']'
+ /usr/share/spec-helper/clean_perl
+ '[' -n '' ']'
+ /usr/share/spec-helper/lib_symlinks
+ '[' -n '' ']'
+ /usr/share/spec-helper/gprintify
+ '[' -n '' ']'
+ /usr/share/spec-helper/fix_mo
+ '[' -n '' ']'
+ /usr/share/spec-helper/fix_pamd
+ '[' -n '' ']'
+ /usr/share/spec-helper/remove_info_dir
+ '[' -n '' ']'
+ /usr/share/spec-helper/fix_eol
+ '[' -n '' ']'
+ /usr/share/spec-helper/check_desktop_files
+ '[' -n '' ']'
+ /usr/share/spec-helper/check_elf_files
+ /usr/lib/rpm/brp-python-bytecompile /usr/bin/python3 1 0
Bytecompiling .py files below /home/iurt/rpmbuild/BUILDROOT/python-zope-component-5.0.0-1.mga9.aarch64/usr/lib/python3.9 using python3.9
+ /usr/lib/rpm/check-rpaths
+ /usr/lib/rpm/brp-remove-la-files
+ /usr/lib/rpm/redhat/brp-mangle-shebangs
Processing files: python3-zope-component-5.0.0-1.mga9.noarch
warning: File not found: /home/iurt/rpmbuild/BUILDROOT/python-zope-component-5.0.0-1.mga9.aarch64/usr/lib/python3.9/site-packages/zope/component/*.txt
Executing(%doc): /bin/sh -e /home/iurt/rpmbuild/tmp/rpm-tmp.qonI1c
+ umask 022
+ cd /home/iurt/rpmbuild/BUILD
+ cd zope.component-5.0.0
+ DOCDIR=/home/iurt/rpmbuild/BUILDROOT/python-zope-component-5.0.0-1.mga9.aarch64/usr/share/doc/python3-zope-component
+ export LC_ALL=C
+ LC_ALL=C
+ export DOCDIR
+ /usr/bin/mkdir -p /home/iurt/rpmbuild/BUILDROOT/python-zope-component-5.0.0-1.mga9.aarch64/usr/share/doc/python3-zope-component
+ cp -pr CHANGES.rst /home/iurt/rpmbuild/BUILDROOT/python-zope-component-5.0.0-1.mga9.aarch64/usr/share/doc/python3-zope-component
+ cp -pr COPYRIGHT.txt /home/iurt/rpmbuild/BUILDROOT/python-zope-component-5.0.0-1.mga9.aarch64/usr/share/doc/python3-zope-component
+ cp -pr README.rst /home/iurt/rpmbuild/BUILDROOT/python-zope-component-5.0.0-1.mga9.aarch64/usr/share/doc/python3-zope-component
+ cp -pr html/ /home/iurt/rpmbuild/BUILDROOT/python-zope-component-5.0.0-1.mga9.aarch64/usr/share/doc/python3-zope-component
+ RPM_EC=0
++ jobs -p
+ exit 0
Executing(%license): /bin/sh -e /home/iurt/rpmbuild/tmp/rpm-tmp.yFecGk
+ umask 022
+ cd /home/iurt/rpmbuild/BUILD
+ cd zope.component-5.0.0
+ LICENSEDIR=/home/iurt/rpmbuild/BUILDROOT/python-zope-component-5.0.0-1.mga9.aarch64/usr/share/licenses/python3-zope-component
+ export LC_ALL=C
+ LC_ALL=C
+ export LICENSEDIR
+ /usr/bin/mkdir -p /home/iurt/rpmbuild/BUILDROOT/python-zope-component-5.0.0-1.mga9.aarch64/usr/share/licenses/python3-zope-component
+ cp -pr LICENSE.txt /home/iurt/rpmbuild/BUILDROOT/python-zope-component-5.0.0-1.mga9.aarch64/usr/share/licenses/python3-zope-component
+ RPM_EC=0
++ jobs -p
+ exit 0
Provides: python-zope-component = 5.0.0-1.mga9 python-zope.component = 5.0.0-1.mga9 python3-zope-component = 5.0.0-1.mga9 python3.9-zope-component = 5.0.0-1.mga9 python3.9-zope.component = 5.0.0-1.mga9 python3.9dist(zope-component) = 5 python3.9dist(zope.component) = 5 python3dist(zope-component) = 5 python3dist(zope.component) = 5
Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1
Requires: python(abi) = 3.9 python3.9dist(setuptools) python3.9dist(zope-event) python3.9dist(zope-hookable) >= 4.2 python3.9dist(zope-interface) >= 5.3~a1
Obsoletes: python-zope-component < 5.0.0-1.mga9 python-zope.component < 5.0.0-1.mga9
Checking for unpackaged file(s): /usr/lib/rpm/check-files /home/iurt/rpmbuild/BUILDROOT/python-zope-component-5.0.0-1.mga9.aarch64
Wrote: /home/iurt/rpmbuild/RPMS/noarch/python3-zope-component-5.0.0-1.mga9.noarch.rpm
Executing(%clean): /bin/sh -e /home/iurt/rpmbuild/tmp/rpm-tmp.zfcmue
+ umask 022
+ cd /home/iurt/rpmbuild/BUILD
+ cd zope.component-5.0.0
+ /usr/bin/rm -rf /home/iurt/rpmbuild/BUILDROOT/python-zope-component-5.0.0-1.mga9.aarch64
+ RPM_EC=0
++ jobs -p
+ exit 0
Executing(--clean): /bin/sh -e /home/iurt/rpmbuild/tmp/rpm-tmp.VQ9YW6
+ umask 022
+ cd /home/iurt/rpmbuild/BUILD
+ rm -rf zope.component-5.0.0
+ RPM_EC=0
++ jobs -p
+ exit 0
D: [iurt_root_command] Success!