py$(PYV): remove tox env folder $(@D)/.tox/py$(PYV)
py$(PYV): commands[0]> python -m zope.testrunner --test-path=src -vv
Running tests at level 1
Running zope.testrunner.layer.UnitTests tests:
  Set up zope.testrunner.layer.UnitTests.
  Running:
 test___enter__ (transaction.tests.test__manager.AttemptTests)
 test___exit__no_exc_abort_exception_after_nonretryable_commit_exc (transaction.tests.test__manager.AttemptTests)
 test___exit__no_exc_no_commit_exception (transaction.tests.test__manager.AttemptTests)
 test___exit__no_exc_nonretryable_commit_exception (transaction.tests.test__manager.AttemptTests)
 test___exit__no_exc_retryable_commit_exception (transaction.tests.test__manager.AttemptTests)
 test___exit__with_exception_value_nonretryable (transaction.tests.test__manager.AttemptTests)
 test___exit__with_exception_value_retryable (transaction.tests.test__manager.AttemptTests)
 test_explicit_mode (transaction.tests.test__manager.AttemptTests)
 test_explicit_thread_local_manager (transaction.tests.test__manager.TestThreadTransactionManager)
 test_interface (transaction.tests.test__manager.TestThreadTransactionManager)
 test_sync_registration_thread_local_manager (transaction.tests.test__manager.TestThreadTransactionManager)
 test__retryable_w_multiple (transaction.tests.test__manager.TransactionManagerTests)
 test__retryable_w_normal_exception_no_resources (transaction.tests.test__manager.TransactionManagerTests)
 test__retryable_w_normal_exception_w_resource_voting_yes (transaction.tests.test__manager.TransactionManagerTests)
 test__retryable_w_transient_error (transaction.tests.test__manager.TransactionManagerTests)
 test__retryable_w_transient_subclass (transaction.tests.test__manager.TransactionManagerTests)
 test_abort_normal (transaction.tests.test__manager.TransactionManagerTests)
 test_abort_w_broken_jar (transaction.tests.test__manager.TransactionManagerTests)
 test_abort_w_existing_txn (transaction.tests.test__manager.TransactionManagerTests)
 test_abort_w_nonsub_jar (transaction.tests.test__manager.TransactionManagerTests)
 test_as_context_manager_w_error (transaction.tests.test__manager.TransactionManagerTests)
 test_as_context_manager_wo_error (transaction.tests.test__manager.TransactionManagerTests)
 test_attempts_defer_to_dm (transaction.tests.test__manager.TransactionManagerTests)
 test_attempts_propigates_errors (transaction.tests.test__manager.TransactionManagerTests)
 test_attempts_retries (transaction.tests.test__manager.TransactionManagerTests)
 test_attempts_retries_but_gives_up (transaction.tests.test__manager.TransactionManagerTests)
 test_attempts_stop_on_success (transaction.tests.test__manager.TransactionManagerTests)
 test_attempts_w_default_count (transaction.tests.test__manager.TransactionManagerTests)
 test_attempts_w_invalid_count (transaction.tests.test__manager.TransactionManagerTests)
 test_attempts_w_valid_count (transaction.tests.test__manager.TransactionManagerTests)
 test_begin_w_existing_txn (transaction.tests.test__manager.TransactionManagerTests)
 test_begin_wo_existing_txn_w_synchs (transaction.tests.test__manager.TransactionManagerTests)
 test_begin_wo_existing_txn_wo_synchs (transaction.tests.test__manager.TransactionManagerTests)
 test_clearSynchs (transaction.tests.test__manager.TransactionManagerTests)
 test_commit_normal (transaction.tests.test__manager.TransactionManagerTests)
 test_commit_w_broken_jar_commit (transaction.tests.test__manager.TransactionManagerTests)
 test_commit_w_broken_jar_tpc_abort_tpc_vote (transaction.tests.test__manager.TransactionManagerTests)
 test_commit_w_broken_jar_tpc_begin (transaction.tests.test__manager.TransactionManagerTests)
 test_commit_w_broken_jar_tpc_vote (transaction.tests.test__manager.TransactionManagerTests)
 test_commit_w_existing_txn (transaction.tests.test__manager.TransactionManagerTests)
 test_commit_w_nonsub_jar (transaction.tests.test__manager.TransactionManagerTests)
 test_ctor (transaction.tests.test__manager.TransactionManagerTests)
 test_doom (transaction.tests.test__manager.TransactionManagerTests)
 test_free_w_existing_txn (transaction.tests.test__manager.TransactionManagerTests)
 test_free_w_other_txn (transaction.tests.test__manager.TransactionManagerTests)
 test_get_w_existing_txn (transaction.tests.test__manager.TransactionManagerTests)
 test_get_wo_existing_txn (transaction.tests.test__manager.TransactionManagerTests)
 test_interface (transaction.tests.test__manager.TransactionManagerTests)
 test_isDoomed_w_existing_txn (transaction.tests.test__manager.TransactionManagerTests)
 test_isDoomed_wo_existing_txn (transaction.tests.test__manager.TransactionManagerTests)
 test_notify_transaction_late_comers (transaction.tests.test__manager.TransactionManagerTests)
 test_registerSynch (transaction.tests.test__manager.TransactionManagerTests)
 test_run (transaction.tests.test__manager.TransactionManagerTests)
 test_run_callable_with_bytes_doc (transaction.tests.test__manager.TransactionManagerTests)
 test_run_defer_to_dm (transaction.tests.test__manager.TransactionManagerTests)
 test_run_no_name_explicit_tries (transaction.tests.test__manager.TransactionManagerTests)
 test_run_pos_tries (transaction.tests.test__manager.TransactionManagerTests)
 test_run_propigates_errors (transaction.tests.test__manager.TransactionManagerTests)
 test_run_retries_but_gives_up (transaction.tests.test__manager.TransactionManagerTests)
 test_run_stop_on_success (transaction.tests.test__manager.TransactionManagerTests)
 test_savepoint_default (transaction.tests.test__manager.TransactionManagerTests)
 test_savepoint_explicit (transaction.tests.test__manager.TransactionManagerTests)
 test_unregisterSynch (transaction.tests.test__manager.TransactionManagerTests)
 test_unregisterSynch_on_transaction_manager_from_serparate_thread (transaction.tests.test__manager.TransactionManagerTests)
 test_ctor (transaction.tests.test__transaction.AbortSavepointTests)
 test_rollback (transaction.tests.test__transaction.AbortSavepointTests)
 test_bug239086 (transaction.tests.test__transaction.MiscellaneousTests)
 test_gh5 (transaction.tests.test__transaction.MiscellaneousTests)
 test_ctor (transaction.tests.test__transaction.NoRollbackSavepointTests)
 test_rollback (transaction.tests.test__transaction.NoRollbackSavepointTests)
 test_ctor_w_savepoint_aware_resources (transaction.tests.test__transaction.SavepointTests)
 test_ctor_w_savepoint_oblivious_resource_non_optimistic (transaction.tests.test__transaction.SavepointTests)
 test_ctor_w_savepoint_oblivious_resource_optimistic (transaction.tests.test__transaction.SavepointTests)
 test_rollback_w_sp_error (transaction.tests.test__transaction.SavepointTests)
 test_rollback_w_txn_None (transaction.tests.test__transaction.SavepointTests)
 test_valid_w_transacction (transaction.tests.test__transaction.SavepointTests)
 test_valid_wo_transacction (transaction.tests.test__transaction.SavepointTests)
 test_hit (transaction.tests.test__transaction.Test_rm_key)
 test_miss (transaction.tests.test__transaction.Test_rm_key)
 test__commitResources_error_in_afterCompletion (transaction.tests.test__transaction.TransactionTests)
 test__commitResources_error_in_commit (transaction.tests.test__transaction.TransactionTests)
 test__commitResources_error_in_tpc_begin (transaction.tests.test__transaction.TransactionTests)
 test__commitResources_error_in_tpc_finish (transaction.tests.test__transaction.TransactionTests)
 test__commitResources_error_in_tpc_vote (transaction.tests.test__transaction.TransactionTests)
 test__commitResources_normal (transaction.tests.test__transaction.TransactionTests)
 test__extension_settable (transaction.tests.test__transaction.TransactionTests)
 test__invalidate_all_savepoints (transaction.tests.test__transaction.TransactionTests)
 test__prior_operation_failed (transaction.tests.test__transaction.TransactionTests)
 test__remove_and_invalidate_after_hit (transaction.tests.test__transaction.TransactionTests)
 test__remove_and_invalidate_after_miss (transaction.tests.test__transaction.TransactionTests)
 test__unjoin_hit (transaction.tests.test__transaction.TransactionTests)
 test__unjoin_miss (transaction.tests.test__transaction.TransactionTests)
 test_abort_clears_resources (transaction.tests.test__transaction.TransactionTests)
 test_abort_error_w_afterCommitHooks (transaction.tests.test__transaction.TransactionTests)
 test_abort_error_w_synchronizers (transaction.tests.test__transaction.TransactionTests)
 test_abort_synchronizer_error_w_resources (transaction.tests.test__transaction.TransactionTests)
 test_abort_w_abortHooks (transaction.tests.test__transaction.TransactionTests)
 test_abort_w_afterCommitHooks (transaction.tests.test__transaction.TransactionTests)
 test_abort_w_beforeCommitHooks (transaction.tests.test__transaction.TransactionTests)
 test_abort_w_savepoints (transaction.tests.test__transaction.TransactionTests)
 test_abort_w_synchronizers (transaction.tests.test__transaction.TransactionTests)
 test_abort_wo_savepoints_wo_hooks_wo_synchronizers (transaction.tests.test__transaction.TransactionTests)
 test_addAfterAbortHook (transaction.tests.test__transaction.TransactionTests)
 test_addAfterAbortHook_wo_kws (transaction.tests.test__transaction.TransactionTests)
 test_addAfterCommitHook (transaction.tests.test__transaction.TransactionTests)
 test_addAfterCommitHook_wo_kws (transaction.tests.test__transaction.TransactionTests)
 test_addBeforeAbortHook (transaction.tests.test__transaction.TransactionTests)
 test_addBeforeAbortHook_w_kws (transaction.tests.test__transaction.TransactionTests)
 test_addBeforeCommitHook (transaction.tests.test__transaction.TransactionTests)
 test_addBeforeCommitHook_w_kws (transaction.tests.test__transaction.TransactionTests)
 test_callAfterAbortHook_w_abort_error (transaction.tests.test__transaction.TransactionTests)
 test_callAfterAbortHook_w_error_w_abort_error (transaction.tests.test__transaction.TransactionTests)
 test_callAfterCommitHook_w_abort (transaction.tests.test__transaction.TransactionTests)
 test_callAfterCommitHook_w_error (transaction.tests.test__transaction.TransactionTests)
 test_callBeforeAbortHook_w_abort (transaction.tests.test__transaction.TransactionTests)
 test_callBeforeAbortHook_w_error (transaction.tests.test__transaction.TransactionTests)
 test_callBeforeCommitHook_w_error (transaction.tests.test__transaction.TransactionTests)
 test_commit_COMMITFAILED (transaction.tests.test__transaction.TransactionTests)
 test_commit_DOOMED (transaction.tests.test__transaction.TransactionTests)
 test_commit_clears_resources (transaction.tests.test__transaction.TransactionTests)
 test_commit_error_w_afterCompleteHooks (transaction.tests.test__transaction.TransactionTests)
 test_commit_error_w_synchronizers (transaction.tests.test__transaction.TransactionTests)
 test_commit_w_abortHooks (transaction.tests.test__transaction.TransactionTests)
 test_commit_w_afterCommitHooks (transaction.tests.test__transaction.TransactionTests)
 test_commit_w_beforeCommitHooks (transaction.tests.test__transaction.TransactionTests)
 test_commit_w_error_w_abortHooks (transaction.tests.test__transaction.TransactionTests)
 test_commit_w_savepoints (transaction.tests.test__transaction.TransactionTests)
 test_commit_w_synchronizers (transaction.tests.test__transaction.TransactionTests)
 test_commit_wo_savepoints_wo_hooks_wo_synchronizers (transaction.tests.test__transaction.TransactionTests)
 test_ctor_defaults (transaction.tests.test__transaction.TransactionTests)
 test_ctor_w_syncs (transaction.tests.test__transaction.TransactionTests)
 test_data (transaction.tests.test__transaction.TransactionTests)
 test_description_42 (transaction.tests.test__transaction.TransactionTests)
 test_description_None (transaction.tests.test__transaction.TransactionTests)
 test_description_bytes (transaction.tests.test__transaction.TransactionTests)
 test_doom_active (transaction.tests.test__transaction.TransactionTests)
 test_doom_already_doomed (transaction.tests.test__transaction.TransactionTests)
 test_doom_invalid (transaction.tests.test__transaction.TransactionTests)
 test_getAfterAbortHooks_empty (transaction.tests.test__transaction.TransactionTests)
 test_getAfterCommitHooks_empty (transaction.tests.test__transaction.TransactionTests)
 test_getBeforeAbortHooks_empty (transaction.tests.test__transaction.TransactionTests)
 test_getBeforeCommitHooks_empty (transaction.tests.test__transaction.TransactionTests)
 test_isDoomed (transaction.tests.test__transaction.TransactionTests)
 test_isRetryableError_w_multiple (transaction.tests.test__transaction.TransactionTests)
 test_isRetryableError_w_normal_exception_no_resources (transaction.tests.test__transaction.TransactionTests)
 test_isRetryableError_w_normal_exception_w_resource_voting_yes (transaction.tests.test__transaction.TransactionTests)
 test_isRetryableError_w_transient_error (transaction.tests.test__transaction.TransactionTests)
 test_isRetryableError_w_transient_subclass (transaction.tests.test__transaction.TransactionTests)
 test_join_COMMITFAILED (transaction.tests.test__transaction.TransactionTests)
 test_join_COMMITTED (transaction.tests.test__transaction.TransactionTests)
 test_join_COMMITTING (transaction.tests.test__transaction.TransactionTests)
 test_join_DOOMED_non_preparing_wo_sp2index (transaction.tests.test__transaction.TransactionTests)
 test_note (transaction.tests.test__transaction.TransactionTests)
 test_note_42 (transaction.tests.test__transaction.TransactionTests)
 test_note_None (transaction.tests.test__transaction.TransactionTests)
 test_note_bytes (transaction.tests.test__transaction.TransactionTests)
 test_savepoint_COMMITFAILED (transaction.tests.test__transaction.TransactionTests)
 test_savepoint_empty (transaction.tests.test__transaction.TransactionTests)
 test_savepoint_non_optimistc_resource_wo_support (transaction.tests.test__transaction.TransactionTests)
 test_setExtendedInfo_multiple (transaction.tests.test__transaction.TransactionTests)
 test_setExtendedInfo_single (transaction.tests.test__transaction.TransactionTests)
 test_setUser_default_path (transaction.tests.test__transaction.TransactionTests)
 test_setUser_explicit_path (transaction.tests.test__transaction.TransactionTests)
 test_user_non_text (transaction.tests.test__transaction.TransactionTests)
 test_user_w_none (transaction.tests.test__transaction.TransactionTests)
 test_verifyImplements_ITransaction (transaction.tests.test__transaction.TransactionTests)
 test_verifyProvides_ITransaction (transaction.tests.test__transaction.TransactionTests)
 testRollbackRollsbackDataManagersThatJoinedLater (transaction.tests.test_savepoint.SavepointTests)
 test_commit_after_rollback_for_dm_that_joins_after_savepoint (transaction.tests.test_savepoint.SavepointTests)
 test_as_weakref_list (transaction.tests.test_weakset.WeakSetTests)
 test_clear (transaction.tests.test_weakset.WeakSetTests)
 test_contains (transaction.tests.test_weakset.WeakSetTests)
 test_len (transaction.tests.test_weakset.WeakSetTests)
 test_map (transaction.tests.test_weakset.WeakSetTests)
 test_map_w_gced_element (transaction.tests.test_weakset.WeakSetTests)
 test_remove (transaction.tests.test_weakset.WeakSetTests)
  Ran 176 tests with 0 failures, 0 errors and 0 skipped.
Tearing down left over layers:
  Tear down zope.testrunner.layer.UnitTests.
py$(PYV): commands[1]> python -m sphinx.cmd.build -b doctest -d $(@D)/.tox/py$(PYV)/.cache/doctrees docs $(@D)/.tox/py$(PYV)/.cache/doctest
Running Sphinx v7.4.7
loading translations [en]... done
making output directory... done
Converting `source_suffix = '.rst'` to `source_suffix = {'.rst': 'restructuredtext'}`.
loading intersphinx inventory 'python' from https://docs.python.org/objects.inv...
loading intersphinx inventory 'zodb' from http://www.zodb.org/en/latest/objects.inv...
intersphinx inventory has moved: https://docs.python.org/objects.inv -> https://docs.python.org/3/objects.inv
intersphinx inventory has moved: http://www.zodb.org/en/latest/objects.inv -> https://zodb.org/en/latest/objects.inv
building [mo]: targets for 0 po files that are out of date
writing output... 
building [doctest]: targets for 11 source files that are out of date
updating environment: [new config] 11 added, 0 changed, 0 removed
reading sources... [  9%] api
reading sources... [ 18%] changes
reading sources... [ 27%] convenience
reading sources... [ 36%] datamanager
reading sources... [ 45%] developer
reading sources... [ 55%] doom
reading sources... [ 64%] hooks
reading sources... [ 73%] index
reading sources... [ 82%] integrations
reading sources... [ 91%] savepoint
reading sources... [100%] sqlalchemy

looking for now-outdated files... none found
pickling environment... done
checking consistency... done
running tests...

Document: convenience
---------------------
1 items passed all tests:
   8 tests in default
8 tests in 1 items.
8 passed and 0 failed.
Test passed.

Document: datamanager
---------------------
1 items passed all tests:
 161 tests in default
161 tests in 1 items.
161 passed and 0 failed.
Test passed.

Document: doom
--------------
1 items passed all tests:
  32 tests in default
32 tests in 1 items.
32 passed and 0 failed.
Test passed.

Document: hooks
---------------
Error in tpc_abort() on manager <FailingDataManager object at $(POINTER)>
Traceback (most recent call last):
  File "$(PROTO_DIR)$(PYTHON_DIR)/vendor-packages/transaction/_transaction.py", line 428, in _commitResources
    rm.tpc_begin(self)
  File "<doctest default[1]>", line 3, in tpc_begin
    raise CommitFailure('failed')
CommitFailure: failed

Document: savepoint
-------------------
1 items passed all tests:
  76 tests in default
76 tests in 1 items.
76 passed and 0 failed.
Test passed.

During handling of the above exception, another exception occurred:

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "$(PROTO_DIR)$(PYTHON_DIR)/vendor-packages/transaction/_transaction.py", line 471, in _cleanup
    rm.tpc_abort(self)
AttributeError: 'FailingDataManager' object has no attribute 'tpc_abort'
Error in hook exec in <function hookRaise at $(POINTER)> 
Traceback (most recent call last):
  File "$(PROTO_DIR)$(PYTHON_DIR)/vendor-packages/transaction/_transaction.py", line 372, in _call_hooks
    hook(*(prefix_args + args), **kws)
  File "<doctest default[4]>", line 2, in hookRaise
    raise TypeError("Fake raise")
TypeError: Fake raise
1 items passed all tests:
 134 tests in default
134 tests in 1 items.
134 passed and 0 failed.
Test passed.

Traceback (most recent call last):
  File "$(PROTO_DIR)$(PYTHON_DIR)/vendor-packages/transaction/_transaction.py", line 471, in _cleanup
    rm.tpc_abort(self)
AttributeError: 'FailingDataManager' object has no attribute 'tpc_abort'
Error in tpc_abort() on manager <FailingDataManager object at $(POINTER)>
Traceback (most recent call last):
  File "$(PROTO_DIR)$(PYTHON_DIR)/vendor-packages/transaction/_transaction.py", line 428, in _commitResources
    rm.tpc_begin(self)
  File "<doctest default[1]>", line 3, in tpc_begin
    raise CommitFailure('failed')
CommitFailure: failed

Doctest summary
===============
  411 tests
    0 failures in tests
    0 failures in setup code
    0 failures in cleanup code
build succeeded.

Testing of doctests in the sources finished, look at the results in .tox/py$(PYV)/.cache/doctest/output.txt.
  py$(PYV): OK
  congratulations :)