test_cppMessageRedirection

Exercise the documented Python assignment used for C++ output gateways.

test_cppMessageRedirection.test_cpp_feedback_using_standalone_gateway_is_supported()[source]

A standalone gateway permits feedback without retaining the source module.

test_cppMessageRedirection.test_cpp_mutated_pointer_vector_slice_has_no_owner(iterate)[source]

Replacing a raw slice element cannot attribute its storage to the original module.

test_cppMessageRedirection.test_cpp_output_consumers_retain_original_gateway(consumer_kind, replace_gateway, embedded_gateway)[source]

Consumers retain their original storage after producer deletion or redirection.

test_cppMessageRedirection.test_cpp_output_iterator_rejects_deleted_module()[source]

An iterator checks its weak module owner before accessing native storage.

test_cppMessageRedirection.test_cpp_output_redirection(subscribe_to_output)[source]

Two native producers publish through one gateway to C/C++ readers and recorders.

test_cppMessageRedirection.test_cpp_output_redirection_chain_retains_gateway()[source]

Assigning a redirected output retains the terminal gateway independently.

test_cppMessageRedirection.test_cpp_output_redirection_does_not_retain_its_own_module(through_another_module)[source]

Redirecting co-owned outputs must not make their module retain itself.

test_cppMessageRedirection.test_cpp_output_redirection_keeps_original_embedded_storage()[source]

Rerouting the source output does not change the destination’s storage owner.

test_cppMessageRedirection.test_cpp_output_redirection_rejects_deleted_source_module()[source]

A saved non-owning output proxy cannot redirect into a deleted module.

test_cppMessageRedirection.test_cpp_output_redirection_retains_source_module(replace_gateway)[source]

An embedded gateway keeps its module alive until the destination releases it.

test_cppMessageRedirection.test_cpp_output_reredirection()[source]

Replacing a gateway redirects future writes and updates borrowed pointer views.

test_cppMessageRedirection.test_cpp_output_retains_gateway()[source]

A producer retains a temporary gateway and releases it on reassignment.

test_cppMessageRedirection.test_cpp_output_vector_redirection(accessor)[source]

Temporary vector views resolve to the module that owns their messages.

test_cppMessageRedirection.test_cpp_output_vector_rejects_deleted_module(iterate)[source]

Keeping a vector view does not hide deletion of the owning module.

test_cppMessageRedirection.test_cpp_pointer_iterator_preserves_other_vector_semantics()[source]

The shared iterator still returns numeric values and owning reader copies.

test_cppMessageRedirection.test_cpp_unowned_pointer_vector_redirection_is_rejected(iterate, delete_source, copy_kind)[source]

A raw pointer-vector copy cannot establish ownership of its pointees.