Coverage report: 95%

Files Functions Classes

coverage.py v7.16.0, created at 2026-08-30 23:43 +0000

      Statements   Branches   Total
File function   coverage statements missing excluded   coverage branches partial   coverage
async_durable_execution/__init__.py (no function)   100% 21 0 0   100% 0 0   100%
async_durable_execution/_core/__init__.py (no function)   100% 10 0 0   100% 0 0   100%
async_durable_execution/_core/aws_http.py _SyncHttpSession.send   100% 0 0 1   100% 0 0   100%
async_durable_execution/_core/aws_http.py _SyncHttpSession.close   100% 0 0 1   100% 0 0   100%
async_durable_execution/_core/aws_http.py _AsyncHttpClient.request   100% 0 0 1   100% 0 0   100%
async_durable_execution/_core/aws_http.py _AsyncHttpClient.aclose   100% 0 0 1   100% 0 0   100%
async_durable_execution/_core/aws_http.py _quote_path_value   100% 1 0 0   100% 0 0   100%
async_durable_execution/_core/aws_http.py _query_value   100% 3 0 0   100% 2 0   100%
async_durable_execution/_core/aws_http.py _json_default   25% 8 6 0   17% 6 1   21%
async_durable_execution/_core/aws_http.py _json_bytes   100% 1 0 0   100% 0 0   100%
async_durable_execution/_core/aws_http.py _body_params   100% 1 0 0   100% 0 0   100%
async_durable_execution/_core/aws_http.py _request_spec   86% 44 6 0   82% 28 5   85%
async_durable_execution/_core/aws_http.py _configured_endpoint_url   100% 7 0 0   100% 4 0   100%
async_durable_execution/_core/aws_http.py _resolve_region   100% 4 0 0   100% 2 0   100%
async_durable_execution/_core/aws_http.py _normalize_fips_region   100% 5 0 0   100% 4 0   100%
async_durable_execution/_core/aws_http.py _resolve_endpoint   100% 17 0 0   100% 8 0   100%
async_durable_execution/_core/aws_http.py _resolve_max_attempts   95% 19 1 0   92% 12 1   94%
async_durable_execution/_core/aws_http.py _retry_delay_seconds   100% 2 0 0   100% 0 0   100%
async_durable_execution/_core/aws_http.py _response_is_retryable   20% 10 8 0   25% 4 1   21%
async_durable_execution/_core/aws_http.py _checkpoint_params_with_client_token   100% 4 0 0   50% 2 1   83%
async_durable_execution/_core/aws_http.py LambdaHttpRequestFactory.__init__   93% 14 1 0   83% 6 1   90%
async_durable_execution/_core/aws_http.py LambdaHttpRequestFactory.prepare   100% 14 0 0   100% 4 0   100%
async_durable_execution/_core/aws_http.py _normalized_headers   100% 1 0 0   100% 0 0   100%
async_durable_execution/_core/aws_http.py _response_metadata   100% 2 0 0   100% 0 0   100%
async_durable_execution/_core/aws_http.py _decode_timestamps   100% 7 0 0   100% 6 0   100%
async_durable_execution/_core/aws_http.py _decode_json_body   57% 7 3 0   50% 4 2   55%
async_durable_execution/_core/aws_http.py _error_code   43% 7 4 0   25% 4 1   36%
async_durable_execution/_core/aws_http.py parse_lambda_response   90% 21 2 0   100% 8 0   93%
async_durable_execution/_core/aws_http.py BotocoreHttpLambdaClient.__init__   100% 3 0 0   100% 0 0   100%
async_durable_execution/_core/aws_http.py BotocoreHttpLambdaClient._call   53% 15 7 0   50% 6 1   52%
async_durable_execution/_core/aws_http.py BotocoreHttpLambdaClient.checkpoint_durable_execution   100% 1 0 0   100% 0 0   100%
async_durable_execution/_core/aws_http.py BotocoreHttpLambdaClient.get_durable_execution_state   100% 1 0 0   100% 0 0   100%
async_durable_execution/_core/aws_http.py BotocoreHttpLambdaClient.invoke   0% 1 1 0   100% 0 0   0%
async_durable_execution/_core/aws_http.py BotocoreHttpLambdaClient.get_durable_execution   0% 1 1 0   100% 0 0   0%
async_durable_execution/_core/aws_http.py BotocoreHttpLambdaClient.get_durable_execution_history   0% 1 1 0   100% 0 0   0%
async_durable_execution/_core/aws_http.py BotocoreHttpLambdaClient.send_durable_execution_callback_success   0% 1 1 0   100% 0 0   0%
async_durable_execution/_core/aws_http.py BotocoreHttpLambdaClient.send_durable_execution_callback_failure   0% 1 1 0   100% 0 0   0%
async_durable_execution/_core/aws_http.py BotocoreHttpLambdaClient.send_durable_execution_callback_heartbeat   0% 1 1 0   100% 0 0   0%
async_durable_execution/_core/aws_http.py BotocoreHttpLambdaClient.close   100% 1 0 0   100% 0 0   100%
async_durable_execution/_core/aws_http.py HttpxLambdaClient.__init__   100% 3 0 0   100% 0 0   100%
async_durable_execution/_core/aws_http.py HttpxLambdaClient._call   67% 15 5 0   50% 6 3   62%
async_durable_execution/_core/aws_http.py HttpxLambdaClient.checkpoint_durable_execution   100% 1 0 0   100% 0 0   100%
async_durable_execution/_core/aws_http.py HttpxLambdaClient.get_durable_execution_state   100% 1 0 0   100% 0 0   100%
async_durable_execution/_core/aws_http.py HttpxLambdaClient.invoke   0% 1 1 0   100% 0 0   0%
async_durable_execution/_core/aws_http.py HttpxLambdaClient.get_durable_execution   0% 1 1 0   100% 0 0   0%
async_durable_execution/_core/aws_http.py HttpxLambdaClient.get_durable_execution_history   0% 1 1 0   100% 0 0   0%
async_durable_execution/_core/aws_http.py HttpxLambdaClient.send_durable_execution_callback_success   0% 1 1 0   100% 0 0   0%
async_durable_execution/_core/aws_http.py HttpxLambdaClient.send_durable_execution_callback_failure   0% 1 1 0   100% 0 0   0%
async_durable_execution/_core/aws_http.py HttpxLambdaClient.send_durable_execution_callback_heartbeat   0% 1 1 0   100% 0 0   0%
async_durable_execution/_core/aws_http.py HttpxLambdaClient.aclose   100% 1 0 0   100% 0 0   100%
async_durable_execution/_core/aws_http.py create_botocore_http_client   100% 10 0 0   100% 0 0   100%
async_durable_execution/_core/aws_http.py create_httpx_client   89% 19 2 0   67% 6 2   84%
async_durable_execution/_core/aws_http.py (no function)   100% 96 0 11   100% 0 0   100%
async_durable_execution/_core/client.py LambdaApiClient.checkpoint_durable_execution   100% 0 0 1   100% 0 0   100%
async_durable_execution/_core/client.py LambdaApiClient.get_durable_execution_state   100% 0 0 1   100% 0 0   100%
async_durable_execution/_core/client.py AsyncLambdaApiClient.checkpoint_durable_execution   100% 0 0 1   100% 0 0   100%
async_durable_execution/_core/client.py AsyncLambdaApiClient.get_durable_execution_state   100% 0 0 1   100% 0 0   100%
async_durable_execution/_core/client.py DurableServiceClient.checkpoint   100% 0 0 1   100% 0 0   100%
async_durable_execution/_core/client.py DurableServiceClient.get_execution_state   100% 0 0 1   100% 0 0   100%
async_durable_execution/_core/client.py _create_client_config   100% 2 0 0   100% 0 0   100%
async_durable_execution/_core/client.py httpx_is_installed   100% 1 0 0   100% 0 0   100%
async_durable_execution/_core/client.py create_default_sync_client   100% 1 0 0   100% 0 0   100%
async_durable_execution/_core/client.py create_default_async_client   100% 1 0 0   100% 0 0   100%
async_durable_execution/_core/client.py create_default_client   100% 3 0 0   100% 2 0   100%
async_durable_execution/_core/client.py lambda_api_client_is_async   100% 1 0 0   100% 0 0   100%
async_durable_execution/_core/client.py create_default_service_client   100% 4 0 0   100% 2 0   100%
async_durable_execution/_core/client.py ThreadedSyncLambdaClient.__init__   100% 1 0 0   100% 0 0   100%
async_durable_execution/_core/client.py ThreadedSyncLambdaClient.checkpoint   100% 13 0 0   100% 4 0   100%
async_durable_execution/_core/client.py ThreadedSyncLambdaClient.get_execution_state   100% 10 0 0   100% 2 0   100%
async_durable_execution/_core/client.py AsyncLambdaClient.__init__   100% 1 0 0   100% 0 0   100%
async_durable_execution/_core/client.py AsyncLambdaClient.checkpoint   100% 13 0 0   100% 4 0   100%
async_durable_execution/_core/client.py AsyncLambdaClient.get_execution_state   100% 10 0 0   100% 2 0   100%
async_durable_execution/_core/client.py AsyncLambdaClient.aclose   100% 4 0 0   100% 2 0   100%
async_durable_execution/_core/client.py (no function)   100% 33 0 28   100% 0 0   100%
async_durable_execution/_core/config.py duration_to_seconds   100% 8 0 0   100% 4 0   100%
async_durable_execution/_core/config.py JitterStrategy.apply_jitter   100% 7 0 0   100% 4 0   100%
async_durable_execution/_core/config.py JitterStrategy.finalize_delay   100% 1 0 0   100% 0 0   100%
async_durable_execution/_core/config.py _DelayStrategy.__post_init__   100% 4 0 0   100% 2 0   100%
async_durable_execution/_core/config.py _DelayStrategy.initial_delay_seconds   100% 1 0 0   100% 0 0   100%
async_durable_execution/_core/config.py _DelayStrategy.max_delay_seconds   100% 1 0 0   100% 0 0   100%
async_durable_execution/_core/config.py _DelayStrategy.increment_seconds   100% 3 0 0   100% 2 0   100%
async_durable_execution/_core/config.py _DelayStrategy.calculate_delay   100% 5 0 0   100% 2 0   100%
async_durable_execution/_core/config.py RetryStrategy.__call__   100% 11 0 0   100% 4 0   100%
async_durable_execution/_core/config.py RetryStrategy.none   100% 1 0 0   100% 0 0   100%
async_durable_execution/_core/config.py RetryStrategy.default   100% 1 0 0   100% 0 0   100%
async_durable_execution/_core/config.py RetryStrategy.transient   100% 1 0 0   100% 0 0   100%
async_durable_execution/_core/config.py RetryStrategy.resource_availability   100% 1 0 0   100% 0 0   100%
async_durable_execution/_core/config.py RetryStrategy.critical   100% 1 0 0   100% 0 0   100%
async_durable_execution/_core/config.py RetryStrategy.linear   100% 1 0 0   100% 0 0   100%
async_durable_execution/_core/config.py (no function)   100% 50 0 0   100% 0 0   100%
async_durable_execution/_core/context.py OperationIdGenerator.__init__   100% 7 0 0   100% 0 0   100%
async_durable_execution/_core/context.py OperationIdGenerator.increment   100% 2 0 0   100% 0 0   100%
async_durable_execution/_core/context.py OperationIdGenerator.get_current   100% 1 0 0   100% 0 0   100%
async_durable_execution/_core/context.py OperationIdGenerator._create_id   100% 3 0 0   100% 0 0   100%
async_durable_execution/_core/context.py OperationIdGenerator._create_id_for_local_id   100% 1 0 0   100% 0 0   100%
async_durable_execution/_core/context.py OperationIdGenerator._create_step_id_for_logical_step   100% 1 0 0   100% 0 0   100%
async_durable_execution/_core/context.py OperationIdGenerator.create_step_id   100% 1 0 0   100% 0 0   100%
async_durable_execution/_core/context.py OperationIdGenerator.create_step_id_for_local_id   57% 14 6 0   62% 8 3   59%
async_durable_execution/_core/context.py OperationIdGenerator._register_reservation   78% 9 2 0   62% 8 1   71%
async_durable_execution/_core/context.py OperationIdGenerator._consume_reservation   100% 4 0 0   100% 2 0   100%
async_durable_execution/_core/context.py OperationIdGenerator._mark_reservation_selected   100% 1 0 0   100% 0 0   100%
async_durable_execution/_core/context.py OperationIdGenerator._has_unconsumed_checkpoint   100% 1 0 0   100% 0 0   100%
async_durable_execution/_core/context.py OperationIdGenerator._mark_replay_frontier   100% 1 0 0   100% 0 0   100%
async_durable_execution/_core/context.py OperationIdGenerator._clear_replay_frontier   100% 1 0 0   100% 0 0   100%
async_durable_execution/_core/context.py OperationIdGenerator._is_replay_frontier_pending   100% 1 0 0   100% 0 0   100%
async_durable_execution/_core/context.py OperationContext.lambda_context   100% 1 0 0   100% 0 0   100%
async_durable_execution/_core/context.py OperationContext.durable_execution_arn   100% 1 0 0   100% 0 0   100%
async_durable_execution/_core/context.py OperationContext.parent_id   100% 1 0 0   100% 0 0   100%
async_durable_execution/_core/context.py OperationContext.operation_id   100% 1 0 0   100% 0 0   100%
async_durable_execution/_core/context.py OperationContext.operation_name   100% 1 0 0   100% 0 0   100%
async_durable_execution/_core/context.py OperationContext.recursive_level   100% 1 0 0   100% 0 0   100%
async_durable_execution/_core/context.py OperationContext.is_replaying   100% 1 0 0   100% 0 0   100%
async_durable_execution/_core/context.py DurableContext.step_counter   100% 1 0 0   100% 0 0   100%
async_durable_execution/_core/context.py DurableContext.is_virtual   100% 1 0 0   100% 0 0   100%
async_durable_execution/_core/context.py DurableContext.operation_id_generator_prefix   100% 1 0 0   100% 0 0   100%
async_durable_execution/_core/context.py DurableContext.create_child_context   100% 3 0 0   100% 0 0   100%
async_durable_execution/_core/context.py DurableContext.is_replaying   100% 1 0 0   100% 0 0   100%
async_durable_execution/_core/context.py DurableContext._set_replay_status_new   100% 2 0 0   100% 0 0   100%
async_durable_execution/_core/context.py DurableContext._set_replay_status_frontier   100% 2 0 0   100% 0 0   100%
async_durable_execution/_core/context.py DurableContext._virtual_child_replay_snapshot   100% 1 0 0   100% 0 0   100%
async_durable_execution/_core/context.py DurableContext._peek_next_operation_id   100% 1 0 0   100% 0 0   100%
async_durable_execution/_core/context.py DurableContext._next_operation_result   100% 1 0 0   100% 0 0   100%
async_durable_execution/_core/context.py DurableContext._operation_result   100% 1 0 0   100% 0 0   100%
async_durable_execution/_core/context.py DurableContext._next_operation_exists   100% 1 0 0   100% 0 0   100%
async_durable_execution/_core/context.py DurableContext._next_reserved_or_sequential_operation_exists   100% 3 0 0   100% 2 0   100%
async_durable_execution/_core/context.py DurableContext._next_operation_is_terminal_checkpoint   100% 1 0 0   100% 0 0   100%
async_durable_execution/_core/context.py DurableContext._operation_is_terminal_checkpoint   100% 4 0 0   100% 2 0   100%
async_durable_execution/_core/context.py DurableContext._replay_aware   100% 18 0 0   100% 10 0   100%
async_durable_execution/_core/context.py ensure_durable_operations_allowed   100% 5 0 0   100% 2 0   100%
async_durable_execution/_core/context.py bind_durable_definition   100% 4 0 0   100% 0 0   100%
async_durable_execution/_core/context.py set_current_context   100% 1 0 0   100% 0 0   100%
async_durable_execution/_core/context.py reset_current_context   100% 1 0 0   100% 0 0   100%
async_durable_execution/_core/context.py get_current_context   100% 6 0 0   100% 2 0   100%
async_durable_execution/_core/context.py get_durable_context   100% 6 0 0   100% 2 0   100%
async_durable_execution/_core/context.py bind_current_context   100% 4 0 0   100% 0 0   100%
async_durable_execution/_core/context.py (no function)   100% 92 0 3   100% 0 0   100%
async_durable_execution/_core/exceptions.py _encode_sdk_error_data   100% 1 0 0   100% 0 0   100%
async_durable_execution/_core/exceptions.py _decode_sdk_error_data_envelope   94% 18 1 0   90% 10 1   93%
async_durable_execution/_core/exceptions.py _decode_sdk_error_data   100% 8 0 0   100% 4 0   100%
async_durable_execution/_core/exceptions.py _register_sdk_control_error_type   67% 12 4 0   67% 6 2   67%
async_durable_execution/_core/exceptions.py _encode_sdk_control_error_data   100% 11 0 0   100% 10 0   100%
async_durable_execution/_core/exceptions.py UnrecoverableError.__init__   100% 2 0 0   100% 0 0   100%
async_durable_execution/_core/exceptions.py ExecutionError.__init__   100% 1 0 0   100% 0 0   100%
async_durable_execution/_core/exceptions.py _RestoredExecutionError.__init__   100% 2 0 0   100% 0 0   100%
async_durable_execution/_core/exceptions.py InvocationError.__init__   100% 1 0 0   100% 0 0   100%
async_durable_execution/_core/exceptions.py InvocationError.is_retryable   100% 1 0 0   100% 0 0   100%
async_durable_execution/_core/exceptions.py InvocationError.build_logger_extras   100% 1 0 0   100% 0 0   100%
async_durable_execution/_core/exceptions.py RetryableSerDesError.__init__   100% 1 0 0   100% 0 0   100%
async_durable_execution/_core/exceptions.py BotoClientError.__init__   100% 4 0 0   100% 0 0   100%
async_durable_execution/_core/exceptions.py BotoClientError.from_exception   100% 5 0 0   100% 0 0   100%
async_durable_execution/_core/exceptions.py BotoClientError._classify_error_category   100% 7 0 0   100% 4 0   100%
async_durable_execution/_core/exceptions.py BotoClientError.is_retryable   100% 1 0 0   100% 0 0   100%
async_durable_execution/_core/exceptions.py BotoClientError.build_logger_extras   100% 6 0 0   100% 4 0   100%
async_durable_execution/_core/exceptions.py _RestoredInvocationError.__init__   100% 6 0 0   100% 0 0   100%
async_durable_execution/_core/exceptions.py _RestoredInvocationError.is_retryable   100% 1 0 0   100% 0 0   100%
async_durable_execution/_core/exceptions.py _RestoredInvocationError.build_logger_extras   100% 6 0 0   100% 4 0   100%
async_durable_execution/_core/exceptions.py _sdk_error_type_name   100% 3 0 0   100% 2 0   100%
async_durable_execution/_core/exceptions.py _encode_sdk_execution_error_payload   100% 1 0 0   100% 0 0   100%
async_durable_execution/_core/exceptions.py _restore_sdk_execution_error   100% 18 0 0   100% 4 0   100%
async_durable_execution/_core/exceptions.py _encode_sdk_invocation_error_payload   100% 12 0 0   100% 4 0   100%
async_durable_execution/_core/exceptions.py _restore_sdk_invocation_error   100% 32 0 0   100% 10 0   100%
async_durable_execution/_core/exceptions.py _restore_sdk_control_error   100% 16 0 0   100% 10 0   100%
async_durable_execution/_core/exceptions.py NonDeterministicExecutionError.__init__   100% 2 0 0   100% 0 0   100%
async_durable_execution/_core/exceptions.py CheckpointError.__init__   100% 1 0 0   100% 0 0   100%
async_durable_execution/_core/exceptions.py GetExecutionStateError.__init__   100% 1 0 0   100% 0 0   100%
async_durable_execution/_core/exceptions.py CallableRuntimeError.__init__   100% 5 0 0   100% 0 0   100%
async_durable_execution/_core/exceptions.py CallableRuntimeError.from_error_object   100% 1 0 0   100% 0 0   100%
async_durable_execution/_core/exceptions.py BackgroundThreadError.__init__   100% 2 0 0   100% 0 0   100%
async_durable_execution/_core/exceptions.py OrphanedChildException.__init__   100% 2 0 0   100% 0 0   100%
async_durable_execution/_core/exceptions.py SuspendExecution.__init__   100% 1 0 0   100% 0 0   100%
async_durable_execution/_core/exceptions.py TimedSuspendExecution.__init__   100% 2 0 0   100% 0 0   100%
async_durable_execution/_core/exceptions.py TimedSuspendExecution.from_delay   100% 2 0 0   100% 0 0   100%
async_durable_execution/_core/exceptions.py TimedSuspendExecution.from_datetime   100% 1 0 0   100% 0 0   100%
async_durable_execution/_core/exceptions.py suspend_with_optional_resume_timestamp   100% 7 0 0   100% 4 0   100%
async_durable_execution/_core/exceptions.py suspend_with_optional_resume_delay   100% 7 0 0   100% 4 0   100%
async_durable_execution/_core/exceptions.py CallableRuntimeErrorSerializableDetails.from_exception   100% 1 0 0   100% 0 0   100%
async_durable_execution/_core/exceptions.py CallableRuntimeErrorSerializableDetails.__str__   100% 1 0 0   100% 0 0   100%
async_durable_execution/_core/exceptions.py (no function)   100% 119 0 0   100% 0 0   100%
async_durable_execution/_core/execution.py durable_callable   100% 7 0 0   100% 4 0   100%
async_durable_execution/_core/execution.py durable_callable.wrapper   100% 3 0 0   100% 0 0   100%
async_durable_execution/_core/execution.py _bind_service_client_to_handler   100% 6 0 0   100% 2 0   100%
async_durable_execution/_core/execution.py durable_execution   100% 17 0 0   100% 2 0   100%
async_durable_execution/_core/execution.py durable_execution.get_or_create_handler_loop   100% 3 0 0   100% 2 0   100%
async_durable_execution/_core/execution.py durable_execution.get_active_service_client   83% 18 3 0   80% 10 2   82%
async_durable_execution/_core/execution.py durable_execution.async_wrapper   100% 2 0 0   100% 0 0   100%
async_durable_execution/_core/execution.py durable_execution.wrapper   100% 1 0 0   100% 0 0   100%
async_durable_execution/_core/execution.py _run_on_event_loop   88% 16 2 0   100% 0 0   88%
async_durable_execution/_core/execution.py deserialize_input   100% 6 0 0   100% 0 0   100%
async_durable_execution/_core/execution.py _wrapper_async   90% 20 2 0   50% 2 1   86%
async_durable_execution/_core/execution.py handle_user_function_result   100% 7 0 0   100% 2 0   100%
async_durable_execution/_core/execution.py handle_user_function_exception   100% 23 0 0   100% 10 0   100%
async_durable_execution/_core/execution.py handle_checkpoint_error   100% 4 0 0   100% 2 0   100%
async_durable_execution/_core/execution.py (no function)   100% 41 0 4   100% 0 0   100%
async_durable_execution/_core/logger.py DurableContextFilter.filter   100% 11 0 0   100% 10 0   100%
async_durable_execution/_core/logger.py build_context_log_extra   100% 20 0 0   92% 12 1   97%
async_durable_execution/_core/logger.py configure_durable_logger   100% 10 0 0   100% 8 0   100%
async_durable_execution/_core/logger.py _is_replaying   100% 3 0 0   100% 2 0   100%
async_durable_execution/_core/logger.py (no function)   100% 12 0 0   100% 0 0   100%
async_durable_execution/_core/models.py LambdaContext.get_remaining_time_in_millis   100% 0 0 1   100% 0 0   100%
async_durable_execution/_core/models.py LambdaContext.log   100% 0 0 1   100% 0 0   100%
async_durable_execution/_core/models.py _model_field_metadata   100% 1 0 0   100% 0 0   100%
async_durable_execution/_core/models.py MappingModel.from_dict   100% 1 0 0   100% 0 0   100%
async_durable_execution/_core/models.py MappingModel.to_dict   100% 1 0 0   100% 0 0   100%
async_durable_execution/_core/models.py AwsApiModel.from_dict   100% 1 0 0   100% 0 0   100%
async_durable_execution/_core/models.py AwsApiModel.to_dict   100% 1 0 0   100% 0 0   100%
async_durable_execution/_core/models.py JsonSerializableModel.from_dict   100% 1 0 0   100% 0 0   100%
async_durable_execution/_core/models.py JsonSerializableModel.to_dict   100% 1 0 0   100% 0 0   100%
async_durable_execution/_core/models.py _enum_type   100% 10 0 0   100% 8 0   100%
async_durable_execution/_core/models.py _accepts_plain_string   100% 6 0 0   100% 4 0   100%
async_durable_execution/_core/models.py _model_type   92% 12 1 0   90% 10 1   91%
async_durable_execution/_core/models.py _deserialize_value   92% 24 2 0   86% 14 2   89%
async_durable_execution/_core/models.py _serialize_value   93% 14 1 0   92% 12 1   92%
async_durable_execution/_core/models.py _model_from_mapping   100% 12 0 0   100% 6 0   100%
async_durable_execution/_core/models.py _model_to_mapping   90% 10 1 0   83% 6 1   88%
async_durable_execution/_core/models.py OperationIdentifier.require_operation_id   100% 4 0 0   100% 2 0   100%
async_durable_execution/_core/models.py OperationIdentifier.create_execution_op   100% 1 0 0   100% 0 0   100%
async_durable_execution/_core/models.py ErrorObject.from_exception   100% 1 0 0   100% 0 0   100%
async_durable_execution/_core/models.py ErrorObject.from_message   100% 1 0 0   100% 0 0   100%
async_durable_execution/_core/models.py DurableExecutionInvocationOutput.create_succeeded   100% 1 0 0   100% 0 0   100%
async_durable_execution/_core/models.py OperationUpdate.create_callback   100% 1 0 0   100% 0 0   100%
async_durable_execution/_core/models.py OperationUpdate.create_context_start   100% 1 0 0   100% 0 0   100%
async_durable_execution/_core/models.py OperationUpdate.create_context_succeed   100% 1 0 0   100% 0 0   100%
async_durable_execution/_core/models.py OperationUpdate.create_context_fail   100% 1 0 0   100% 0 0   100%
async_durable_execution/_core/models.py OperationUpdate.create_execution_succeed   100% 1 0 0   100% 0 0   100%
async_durable_execution/_core/models.py OperationUpdate.create_execution_fail   100% 1 0 0   100% 0 0   100%
async_durable_execution/_core/models.py OperationUpdate.create_step_succeed   100% 1 0 0   100% 0 0   100%
async_durable_execution/_core/models.py OperationUpdate.create_step_fail   100% 1 0 0   100% 0 0   100%
async_durable_execution/_core/models.py OperationUpdate.create_step_start   100% 1 0 0   100% 0 0   100%
async_durable_execution/_core/models.py OperationUpdate.create_step_retry   100% 1 0 0   100% 0 0   100%
async_durable_execution/_core/models.py OperationUpdate.create_invoke_start   100% 1 0 0   100% 0 0   100%
async_durable_execution/_core/models.py OperationUpdate.create_wait_start   100% 1 0 0   100% 0 0   100%
async_durable_execution/_core/models.py TimestampConverter.to_unix_millis   100% 1 0 0   100% 0 0   100%
async_durable_execution/_core/models.py TimestampConverter.from_unix_millis   100% 1 0 0   100% 0 0   100%
async_durable_execution/_core/models.py (no function)   100% 219 0 14   100% 0 0   100%
async_durable_execution/_core/serdes.py Codec.encode   100% 0 0 1   100% 0 0   100%
async_durable_execution/_core/serdes.py Codec.decode   100% 0 0 1   100% 0 0   100%
async_durable_execution/_core/serdes.py TypeCodecExtension.can_encode   100% 0 0 1   100% 0 0   100%
async_durable_execution/_core/serdes.py TypeCodecExtension.encode   100% 0 0 1   100% 0 0   100%
async_durable_execution/_core/serdes.py TypeCodecExtension.decode   100% 0 0 1   100% 0 0   100%
async_durable_execution/_core/serdes.py PrimitiveCodec.encode   100% 14 0 0   100% 10 0   100%
async_durable_execution/_core/serdes.py PrimitiveCodec.decode   100% 14 0 0   100% 10 0   100%
async_durable_execution/_core/serdes.py BytesCodec.encode   100% 2 0 0   100% 0 0   100%
async_durable_execution/_core/serdes.py BytesCodec.decode   100% 4 0 0   100% 2 0   100%
async_durable_execution/_core/serdes.py UuidCodec.encode   100% 1 0 0   100% 0 0   100%
async_durable_execution/_core/serdes.py UuidCodec.decode   100% 4 0 0   100% 2 0   100%
async_durable_execution/_core/serdes.py DecimalCodec.encode   100% 1 0 0   100% 0 0   100%
async_durable_execution/_core/serdes.py DecimalCodec.decode   100% 4 0 0   100% 2 0   100%
async_durable_execution/_core/serdes.py DateTimeCodec.encode   100% 8 0 0   100% 4 0   100%
async_durable_execution/_core/serdes.py DateTimeCodec.decode   100% 11 0 0   100% 6 0   100%
async_durable_execution/_core/serdes.py ContainerCodec.__init__   100% 1 0 0   100% 0 0   100%
async_durable_execution/_core/serdes.py ContainerCodec.set_dispatcher   100% 1 0 0   100% 0 0   100%
async_durable_execution/_core/serdes.py ContainerCodec.dispatcher   100% 4 0 0   100% 2 0   100%
async_durable_execution/_core/serdes.py ContainerCodec.encode   100% 14 0 0   100% 10 0   100%
async_durable_execution/_core/serdes.py ContainerCodec.decode   100% 19 0 0   100% 12 0   100%
async_durable_execution/_core/serdes.py ContainerCodec._wrap   100% 1 0 0   100% 0 0   100%
async_durable_execution/_core/serdes.py ContainerCodec._unwrap   100% 7 0 0   100% 4 0   100%
async_durable_execution/_core/serdes.py TypeCodec.__init__   76% 17 4 0   50% 4 2   71%
async_durable_execution/_core/serdes.py TypeCodec.encode   100% 19 0 0   100% 16 0   100%
async_durable_execution/_core/serdes.py TypeCodec.decode   88% 25 3 0   93% 14 1   90%
async_durable_execution/_core/serdes.py TypeCodec.has_tag   67% 3 1 0   50% 2 1   60%
async_durable_execution/_core/serdes.py get_serdes_context   100% 5 0 0   100% 2 0   100%
async_durable_execution/_core/serdes.py SerDes.serialize   100% 1 0 0   100% 0 0   100%
async_durable_execution/_core/serdes.py SerDes.deserialize   100% 1 0 0   100% 0 0   100%
async_durable_execution/_core/serdes.py SerDes.then   100% 1 0 0   100% 0 0   100%
async_durable_execution/_core/serdes.py SerDes.is_primitive   100% 5 0 0   100% 4 0   100%
async_durable_execution/_core/serdes.py SerDesStage.serialize   100% 0 0 2   100% 0 0   100%
async_durable_execution/_core/serdes.py SerDesStage.deserialize   100% 0 0 2   100% 0 0   100%
async_durable_execution/_core/serdes.py SerDesPipelineError.__init__   100% 5 0 0   100% 0 0   100%
async_durable_execution/_core/serdes.py ComposableSerDes.__init__   82% 11 2 0   83% 6 1   82%
async_durable_execution/_core/serdes.py ComposableSerDes.value_codec   100% 1 0 0   100% 0 0   100%
async_durable_execution/_core/serdes.py ComposableSerDes.stages   100% 1 0 0   100% 0 0   100%
async_durable_execution/_core/serdes.py ComposableSerDes.then   50% 4 2 0   50% 2 1   50%
async_durable_execution/_core/serdes.py ComposableSerDes.serialize   100% 14 0 0   100% 4 0   100%
async_durable_execution/_core/serdes.py ComposableSerDes.deserialize   87% 15 2 0   75% 4 1   84%
async_durable_execution/_core/serdes.py ComposableSerDes._invoke_value_codec_serialize   40% 10 6 0   50% 2 1   42%
async_durable_execution/_core/serdes.py ComposableSerDes._invoke_value_codec_deserialize   33% 6 4 0   100% 0 0   33%
async_durable_execution/_core/serdes.py create_serdes_pipeline   71% 7 2 0   75% 4 1   73%
async_durable_execution/_core/serdes.py is_composable_serdes   100% 1 0 0   100% 0 0   100%
async_durable_execution/_core/serdes.py _current_or_empty_serdes_context   100% 4 0 0   100% 0 0   100%
async_durable_execution/_core/serdes.py _pipeline_failure_message   100% 2 0 0   100% 0 0   100%
async_durable_execution/_core/serdes.py PassThroughSerDes.serialize   100% 1 0 0   100% 0 0   100%
async_durable_execution/_core/serdes.py PassThroughSerDes.deserialize   100% 1 0 0   100% 0 0   100%
async_durable_execution/_core/serdes.py JsonSerDes.serialize   100% 1 0 0   100% 0 0   100%
async_durable_execution/_core/serdes.py JsonSerDes.deserialize   100% 1 0 0   100% 0 0   100%
async_durable_execution/_core/serdes.py ExtendedTypeSerDes.__init__   100% 1 0 0   100% 0 0   100%
async_durable_execution/_core/serdes.py ExtendedTypeSerDes.serialize   100% 1 0 0   100% 0 0   100%
async_durable_execution/_core/serdes.py ExtendedTypeSerDes.deserialize   100% 1 0 0   100% 0 0   100%
async_durable_execution/_core/serdes.py ExtendedTypeSerDes.serialize_sync   100% 6 0 0   100% 2 0   100%
async_durable_execution/_core/serdes.py ExtendedTypeSerDes.deserialize_sync   100% 11 0 0   100% 6 0   100%
async_durable_execution/_core/serdes.py ExtendedTypeSerDes._to_json_serializable   100% 9 0 0   100% 6 0   100%
async_durable_execution/_core/serdes.py ExtendedTypeSerDes._check_circular_references   100% 14 0 0   100% 8 0   100%
async_durable_execution/_core/serdes.py serialize   100% 13 0 0   100% 0 0   100%
async_durable_execution/_core/serdes.py serialize.serialize_value   100% 1 0 0   100% 0 0   100%
async_durable_execution/_core/serdes.py deserialize   100% 13 0 0   100% 0 0   100%
async_durable_execution/_core/serdes.py deserialize.deserialize_value   100% 1 0 0   100% 0 0   100%
async_durable_execution/_core/serdes.py (no function)   100% 113 0 30   100% 0 0   100%
async_durable_execution/_core/state.py _completion_done   100% 1 0 0   100% 0 0   100%
async_durable_execution/_core/state.py _completion_set_result   67% 3 1 0   50% 2 1   60%
async_durable_execution/_core/state.py _completion_set_exception   67% 3 1 0   50% 2 1   60%
async_durable_execution/_core/state.py ExecutionState.__init__   100% 14 0 0   100% 0 0   100%
async_durable_execution/_core/state.py ExecutionState.initialize   100% 1 0 0   100% 0 0   100%
async_durable_execution/_core/state.py ExecutionState.fetch_paginated_operations   100% 12 0 0   100% 4 0   100%
async_durable_execution/_core/state.py ExecutionState.get_raw_input_payload   100% 5 0 0   100% 4 0   100%
async_durable_execution/_core/state.py ExecutionState.get_input_event   100% 9 0 0   100% 2 0   100%
async_durable_execution/_core/state.py ExecutionState.recursive_level   83% 12 2 0   100% 6 0   89%
async_durable_execution/_core/state.py ExecutionState.get_execution_operation   100% 10 0 0   100% 4 0   100%
async_durable_execution/_core/state.py ExecutionState.has_prior_operations   100% 1 0 0   100% 0 0   100%
async_durable_execution/_core/state.py ExecutionState.create_checkpoint   93% 28 2 0   95% 20 1   94%
async_durable_execution/_core/state.py ExecutionState._mark_orphans   100% 12 0 0   100% 4 0   100%
async_durable_execution/_core/state.py ExecutionState.start_checkpointing   100% 4 0 0   50% 2 1   83%
async_durable_execution/_core/state.py ExecutionState.checkpoint_batches_forever   100% 46 0 0   93% 30 2   97%
async_durable_execution/_core/state.py ExecutionState.stop_checkpointing   100% 4 0 0   100% 2 0   100%
async_durable_execution/_core/state.py ExecutionState._collect_checkpoint_batch   100% 65 0 0   100% 32 0   100%
async_durable_execution/_core/state.py ExecutionState._calculate_operation_size   100% 4 0 0   100% 2 0   100%
async_durable_execution/_core/state.py ExecutionState.aclose   100% 3 0 0   100% 2 0   100%
async_durable_execution/_core/state.py ExecutionState.close   100% 1 0 0   100% 0 0   100%
async_durable_execution/_core/state.py (no function)   100% 46 0 3   100% 0 0   100%
async_durable_execution/_core/task.py create_eager_task   100% 6 0 0   100% 2 0   100%
async_durable_execution/_core/task.py (no function)   100% 6 0 0   100% 0 0   100%
async_durable_execution/_extension/__init__.py (no function)   100% 8 0 0   100% 2 0   100%
async_durable_execution/_operation/__init__.py (no function)   100% 0 0 0   100% 0 0   100%
async_durable_execution/_operation/callback.py create_callback   100% 1 0 0   100% 0 0   100%
async_durable_execution/_operation/callback.py (no function)   100% 7 0 0   100% 0 0   100%
async_durable_execution/_operation/child.py run_in_child_context   100% 2 0 0   100% 0 0   100%
async_durable_execution/_operation/child.py (no function)   100% 10 0 0   100% 0 0   100%
async_durable_execution/_operation/flow.py run_in_child_context   100% 1 0 0   100% 0 0   100%
async_durable_execution/_operation/flow.py FlowExecutionError.__init__   100% 2 0 0   100% 0 0   100%
async_durable_execution/_operation/flow.py FlowNodeResult.succeeded   100% 1 0 0   100% 0 0   100%
async_durable_execution/_operation/flow.py FlowNodeResult.failed   100% 1 0 0   100% 0 0   100%
async_durable_execution/_operation/flow.py FlowNodeResult.skipped   100% 1 0 0   100% 0 0   100%
async_durable_execution/_operation/flow.py FlowResult.__post_init__   100% 5 0 0   100% 4 0   100%
async_durable_execution/_operation/flow.py FlowResult.output   100% 5 0 0   100% 4 0   100%
async_durable_execution/_operation/flow.py FlowResult.has_unhandled_failures   100% 1 0 0   100% 0 0   100%
async_durable_execution/_operation/flow.py FlowResult.has_unavailable_outputs   100% 1 0 0   100% 0 0   100%
async_durable_execution/_operation/flow.py FlowResult.get_result   100% 5 0 0   100% 0 0   100%
async_durable_execution/_operation/flow.py FlowResult.to_dict   100% 1 0 0   100% 0 0   100%
async_durable_execution/_operation/flow.py FlowResult.from_dict   100% 11 0 0   100% 2 0   100%
async_durable_execution/_operation/flow.py _DependencyCondition.matches   100% 5 0 0   100% 4 0   100%
async_durable_execution/_operation/flow.py _flow_output_to_dict   100% 5 0 0   100% 4 0   100%
async_durable_execution/_operation/flow.py _flow_output_from_dict   100% 5 0 0   100% 4 0   100%
async_durable_execution/_operation/flow.py _flow_node_result_to_checkpoint_dict   100% 1 0 0   100% 0 0   100%
async_durable_execution/_operation/flow.py _flow_result_to_checkpoint_dict   100% 2 0 0   100% 0 0   100%
async_durable_execution/_operation/flow.py _encode_flow_value   100% 32 0 0   100% 20 0   100%
async_durable_execution/_operation/flow.py _decode_flow_value   100% 31 0 0   100% 20 0   100%
async_durable_execution/_operation/flow.py _DependencyExpression.leaves   0% 1 1 0   100% 0 0   0%
async_durable_execution/_operation/flow.py _DependencyExpression.evaluate   0% 1 1 0   100% 0 0   0%
async_durable_execution/_operation/flow.py _DependencyExpression.__and__   100% 1 0 0   100% 0 0   100%
async_durable_execution/_operation/flow.py _DependencyExpression.__or__   100% 1 0 0   100% 0 0   100%
async_durable_execution/_operation/flow.py _DependencyExpression._combine   100% 11 0 0   100% 6 0   100%
async_durable_execution/_operation/flow.py _DependencyExpression.__rshift__   100% 14 0 0   100% 8 0   100%
async_durable_execution/_operation/flow.py _FlowNodeInput.condition   100% 5 0 0   100% 4 0   100%
async_durable_execution/_operation/flow.py _FlowNodeInput.resolve   100% 15 0 0   100% 10 0   100%
async_durable_execution/_operation/flow.py _FlowNodeInput.project   100% 5 0 0   100% 4 0   100%
async_durable_execution/_operation/flow.py _DependencyLeaf.leaves   100% 1 0 0   100% 0 0   100%
async_durable_execution/_operation/flow.py _DependencyLeaf.evaluate   100% 7 0 0   100% 4 0   100%
async_durable_execution/_operation/flow.py _CompositeDependencyExpression.leaves   100% 1 0 0   100% 0 0   100%
async_durable_execution/_operation/flow.py _CompositeDependencyExpression.evaluate   100% 19 0 0   100% 16 0   100%
async_durable_execution/_operation/flow.py FlowNode.__init__   100% 5 0 0   100% 0 0   100%
async_durable_execution/_operation/flow.py FlowNode.__repr__   100% 1 0 0   100% 0 0   100%
async_durable_execution/_operation/flow.py FlowNode.result   100% 12 0 0   100% 4 0   100%
async_durable_execution/_operation/flow.py FlowNode.status   100% 1 0 0   100% 0 0   100%
async_durable_execution/_operation/flow.py FlowNode.outcome   100% 8 0 0   100% 4 0   100%
async_durable_execution/_operation/flow.py FlowNode.error   100% 4 0 0   100% 2 0   100%
async_durable_execution/_operation/flow.py FlowNode.succeeded   100% 1 0 0   100% 0 0   100%
async_durable_execution/_operation/flow.py FlowNode.failed   100% 1 0 0   100% 0 0   100%
async_durable_execution/_operation/flow.py FlowNode.completed   100% 1 0 0   100% 0 0   100%
async_durable_execution/_operation/flow.py FlowNode.__and__   100% 1 0 0   100% 0 0   100%
async_durable_execution/_operation/flow.py FlowNode.__or__   100% 1 0 0   100% 0 0   100%
async_durable_execution/_operation/flow.py FlowNode.__rshift__   100% 1 0 0   100% 0 0   100%
async_durable_execution/_operation/flow.py FlowNodeContext.result   100% 7 0 0   100% 4 0   100%
async_durable_execution/_operation/flow.py FlowNodeContext.dependency_results   100% 1 0 0   100% 0 0   100%
async_durable_execution/_operation/flow.py FlowNodeContext.get_dependency_result   100% 2 0 0   100% 0 0   100%
async_durable_execution/_operation/flow.py FlowNodeContext.require_dependency_result   100% 5 0 0   100% 2 0   100%
async_durable_execution/_operation/flow.py FlowNodeContext._dependency_by_name   100% 5 0 0   100% 4 0   100%
async_durable_execution/_operation/flow.py get_node_context   100% 5 0 0   100% 2 0   100%
async_durable_execution/_operation/flow.py _FlowBuilder.__init__   100% 2 0 0   100% 0 0   100%
async_durable_execution/_operation/flow.py _FlowBuilder.add_node   100% 6 0 0   100% 2 0   100%
async_durable_execution/_operation/flow.py _FlowBuilder.add_dependency   100% 7 0 0   100% 4 0   100%
async_durable_execution/_operation/flow.py _FlowBuilder.freeze   100% 6 0 0   100% 0 0   100%
async_durable_execution/_operation/flow.py _FlowBuilder._validate_outputs   100% 14 0 0   100% 10 0   100%
async_durable_execution/_operation/flow.py _FlowBuilder._validate_nodes   100% 31 0 0   100% 20 0   100%
async_durable_execution/_operation/flow.py _FlowBuilder._topological_sort   100% 28 0 0   100% 16 0   100%
async_durable_execution/_operation/flow.py _FlowBuilder._execution_nodes   100% 12 0 0   100% 8 0   100%
async_durable_execution/_operation/flow.py _FlowBuilder._find_cycle   100% 11 0 0   100% 6 0   100%
async_durable_execution/_operation/flow.py _FlowBuilder._find_cycle.visit   100% 17 0 0   100% 10 0   100%
async_durable_execution/_operation/flow.py _require_active_builder   100% 3 0 0   100% 2 0   100%
async_durable_execution/_operation/flow.py _coerce_expression   100% 6 0 0   100% 4 0   100%
async_durable_execution/_operation/flow.py _flow_node_inputs   100% 20 0 0   100% 10 0   100%
async_durable_execution/_operation/flow.py _unsupported_flow_node_inputs   100% 42 0 0   100% 30 0   100%
async_durable_execution/_operation/flow.py _bound_flow_node_inputs   100% 3 0 0   100% 0 0   100%
async_durable_execution/_operation/flow.py _input_dependency_expression   100% 16 0 0   100% 10 0   100%
async_durable_execution/_operation/flow.py node   100% 23 0 0   100% 10 0   100%
async_durable_execution/_operation/flow.py durable_node   100% 11 0 0   100% 6 0   100%
async_durable_execution/_operation/flow.py durable_node.wrapper   100% 8 0 0   100% 0 0   100%
async_durable_execution/_operation/flow.py durable_dag   100% 11 0 0   100% 6 0   100%
async_durable_execution/_operation/flow.py durable_dag.wrapper   100% 4 0 0   100% 0 0   100%
async_durable_execution/_operation/flow.py _NodeExecution.to_dict   100% 1 0 0   100% 0 0   100%
async_durable_execution/_operation/flow.py _NodeExecution.from_dict   100% 1 0 0   100% 0 0   100%
async_durable_execution/_operation/flow.py _FlowValueSerDes.__init__   100% 1 0 0   100% 0 0   100%
async_durable_execution/_operation/flow.py _FlowValueSerDes.serialize   100% 1 0 0   100% 0 0   100%
async_durable_execution/_operation/flow.py _FlowValueSerDes.deserialize   100% 1 0 0   100% 0 0   100%
async_durable_execution/_operation/flow.py _NodeExecutionSerDes.__init__   100% 1 0 0   100% 0 0   100%
async_durable_execution/_operation/flow.py _NodeExecutionSerDes.serialize   100% 1 0 0   100% 0 0   100%
async_durable_execution/_operation/flow.py _NodeExecutionSerDes.deserialize   100% 5 0 0   100% 2 0   100%
async_durable_execution/_operation/flow.py _PersistedDependencyResolution.to_dict   100% 1 0 0   100% 0 0   100%
async_durable_execution/_operation/flow.py _PersistedDependencyResolution.from_dict   100% 1 0 0   100% 0 0   100%
async_durable_execution/_operation/flow.py _PersistedDependencyResolutionSerDes.__init__   100% 1 0 0   100% 0 0   100%
async_durable_execution/_operation/flow.py _PersistedDependencyResolutionSerDes.serialize   100% 1 0 0   100% 0 0   100%
async_durable_execution/_operation/flow.py _PersistedDependencyResolutionSerDes.deserialize   100% 5 0 0   100% 2 0   100%
async_durable_execution/_operation/flow.py _FlowResultSerDes.__init__   100% 1 0 0   100% 0 0   100%
async_durable_execution/_operation/flow.py _FlowResultSerDes.serialize   100% 1 0 0   100% 0 0   100%
async_durable_execution/_operation/flow.py _FlowResultSerDes.deserialize   100% 5 0 0   100% 2 0   100%
async_durable_execution/_operation/flow.py _clone_flow_value   100% 1 0 0   100% 0 0   100%
async_durable_execution/_operation/flow.py _clone_dependency_results   100% 8 0 0   100% 4 0   100%
async_durable_execution/_operation/flow.py _FlowControlSignal.__init__   100% 2 0 0   100% 0 0   100%
async_durable_execution/_operation/flow.py _callable_error_object   100% 3 0 0   100% 2 0   100%
async_durable_execution/_operation/flow.py _find_control_error   100% 23 0 0   100% 14 0   100%
async_durable_execution/_operation/flow.py _await_node_execution   100% 9 0 0   100% 2 0   100%
async_durable_execution/_operation/flow.py _await_resolver_resolution   100% 16 0 0   100% 4 0   100%
async_durable_execution/_operation/flow.py _persisted_resolution   100% 1 0 0   100% 0 0   100%
async_durable_execution/_operation/flow.py _raise_task_error   100% 8 0 0   100% 6 0   100%
async_durable_execution/_operation/flow.py _raise_collected_task_errors   100% 18 0 0   100% 16 0   100%
async_durable_execution/_operation/flow.py _resolve_dependency_expression   100% 24 0 0   100% 14 0   100%
async_durable_execution/_operation/flow.py _resolve_dependency_expression.resolve_child   100% 1 0 0   100% 0 0   100%
async_durable_execution/_operation/flow.py _resolve_any_expression   100% 33 0 0   100% 12 0   100%
async_durable_execution/_operation/flow.py _resolve_any_expression.resolve_child   100% 3 0 0   100% 0 0   100%
async_durable_execution/_operation/flow.py _any_expressions   100% 7 0 0   100% 4 0   100%
async_durable_execution/_operation/flow.py _flow_node_context   100% 4 0 0   100% 2 0   100%
async_durable_execution/_operation/flow.py _resolve_flow_node_inputs   100% 18 0 0   100% 14 0   100%
async_durable_execution/_operation/flow.py _clone_flow_node_arguments   100% 13 0 0   100% 4 0   100%
async_durable_execution/_operation/flow.py _restore_flow_node_input_references   100% 12 0 0   100% 10 0   100%
async_durable_execution/_operation/flow.py _invoke_flow_node   100% 5 0 0   100% 0 0   100%
async_durable_execution/_operation/flow.py _execute_node   100% 22 0 0   100% 6 0   100%
async_durable_execution/_operation/flow.py _execute_flow   100% 30 0 0   100% 10 0   100%
async_durable_execution/_operation/flow.py _execute_flow.run_node   100% 1 0 0   100% 0 0   100%
async_durable_execution/_operation/flow.py _execute_flow.run_resolver   100% 2 0 0   100% 0 0   100%
async_durable_execution/_operation/flow.py _evaluate_definition   100% 15 0 0   100% 6 0   100%
async_durable_execution/_operation/flow.py flow   100% 7 0 0   100% 0 0   100%
async_durable_execution/_operation/flow.py flow.finish_flow   100% 20 0 0   100% 8 0   100%
async_durable_execution/_operation/flow.py (no function)   100% 239 0 2   100% 0 0   100%
async_durable_execution/_operation/invoke.py invoke   100% 1 0 0   100% 0 0   100%
async_durable_execution/_operation/invoke.py (no function)   100% 9 0 0   100% 0 0   100%
async_durable_execution/_operation/map.py _run_in_child_context   100% 1 0 0   100% 0 0   100%
async_durable_execution/_operation/map.py get_map_item_context   100% 5 0 0   100% 2 0   100%
async_durable_execution/_operation/map.py _bind_map_item_to_branch   100% 2 0 0   100% 0 0   100%
async_durable_execution/_operation/map.py _bind_map_item_to_branch.run_branch   100% 8 0 0   100% 0 0   100%
async_durable_execution/_operation/map.py _create_map_branches   100% 1 0 0   100% 0 0   100%
async_durable_execution/_operation/map.py _create_map_branch_namer   100% 4 0 0   100% 2 0   100%
async_durable_execution/_operation/map.py _create_map_branch_namer.name_branch   100% 1 0 0   100% 0 0   100%
async_durable_execution/_operation/map.py MapSummaryGenerator.__call__   100% 2 0 0   100% 0 0   100%
async_durable_execution/_operation/map.py map_handler   100% 2 0 0   100% 0 0   100%
async_durable_execution/_operation/map.py map   100% 6 0 0   100% 0 0   100%
async_durable_execution/_operation/map.py map.run_map_handler   100% 8 0 0   100% 2 0   100%
async_durable_execution/_operation/map.py (no function)   100% 32 0 2   100% 0 0   100%
async_durable_execution/_operation/parallel.py _run_in_child_context   100% 1 0 0   100% 0 0   100%
async_durable_execution/_operation/parallel.py CompletionReason.is_succeeded   100% 1 0 0   100% 0 0   100%
async_durable_execution/_operation/parallel.py CompletionStatus.__post_init__   71% 7 2 0   75% 4 1   73%
async_durable_execution/_operation/parallel.py CompletionStatus.completed_count   100% 1 0 0   100% 0 0   100%
async_durable_execution/_operation/parallel.py CompletionStatus.all_completed   100% 1 0 0   100% 0 0   100%
async_durable_execution/_operation/parallel.py CompletionDecision.__post_init__   100% 6 0 0   100% 4 0   100%
async_durable_execution/_operation/parallel.py CompletionDecision.complete   100% 1 0 0   100% 0 0   100%
async_durable_execution/_operation/parallel.py CompletionDecision.continue_execution   100% 1 0 0   100% 0 0   100%
async_durable_execution/_operation/parallel.py CompletionDecision.is_succeeded   100% 1 0 0   100% 0 0   100%
async_durable_execution/_operation/parallel.py CompletionConfig.__post_init__   67% 6 2 0   75% 4 1   70%
async_durable_execution/_operation/parallel.py CompletionConfig.thresholds   100% 1 0 0   100% 0 0   100%
async_durable_execution/_operation/parallel.py CompletionConfig.first_successful   100% 1 0 0   100% 0 0   100%
async_durable_execution/_operation/parallel.py CompletionConfig.all_completed   100% 1 0 0   100% 0 0   100%
async_durable_execution/_operation/parallel.py CompletionConfig.all_successful   100% 1 0 0   100% 0 0   100%
async_durable_execution/_operation/parallel.py CompletionConfig.custom   100% 1 0 0   100% 0 0   100%
async_durable_execution/_operation/parallel.py CompletionConfig.has_custom_should_complete   100% 1 0 0   100% 0 0   100%
async_durable_execution/_operation/parallel.py CompletionConfig.completion_decision   40% 15 9 0   25% 12 1   33%
async_durable_execution/_operation/parallel.py _validate_max_concurrency   100% 3 0 0   100% 2 0   100%
async_durable_execution/_operation/parallel.py SuspendResult.do_not_suspend   100% 1 0 0   100% 0 0   100%
async_durable_execution/_operation/parallel.py SuspendResult.suspend   100% 1 0 0   100% 0 0   100%
async_durable_execution/_operation/parallel.py BatchResult.from_dict   100% 7 0 0   100% 2 0   100%
async_durable_execution/_operation/parallel.py BatchResult._get_completion_reason   95% 20 1 0   94% 18 1   95%
async_durable_execution/_operation/parallel.py BatchResult.from_items   100% 10 0 0   100% 0 0   100%
async_durable_execution/_operation/parallel.py BatchResult.succeeded   100% 1 0 0   100% 0 0   100%
async_durable_execution/_operation/parallel.py BatchResult.failed   100% 1 0 0   100% 0 0   100%
async_durable_execution/_operation/parallel.py BatchResult.started   100% 1 0 0   100% 0 0   100%
async_durable_execution/_operation/parallel.py BatchResult.cancelled   100% 1 0 0   100% 0 0   100%
async_durable_execution/_operation/parallel.py BatchResult.status   100% 1 0 0   100% 0 0   100%
async_durable_execution/_operation/parallel.py BatchResult.has_failure   100% 1 0 0   100% 0 0   100%
async_durable_execution/_operation/parallel.py BatchResult.throw_if_error   100% 3 0 0   100% 2 0   100%
async_durable_execution/_operation/parallel.py BatchResult.get_results   100% 1 0 0   100% 0 0   100%
async_durable_execution/_operation/parallel.py BatchResult.get_errors   100% 1 0 0   100% 0 0   100%
async_durable_execution/_operation/parallel.py BatchResult.success_count   100% 1 0 0   100% 0 0   100%
async_durable_execution/_operation/parallel.py BatchResult.failure_count   100% 1 0 0   100% 0 0   100%
async_durable_execution/_operation/parallel.py BatchResult.started_count   100% 1 0 0   100% 0 0   100%
async_durable_execution/_operation/parallel.py BatchResult.cancelled_count   100% 1 0 0   100% 0 0   100%
async_durable_execution/_operation/parallel.py BatchResult.total_count   100% 1 0 0   100% 0 0   100%
async_durable_execution/_operation/parallel.py _batch_result_payload   100% 1 0 0   100% 0 0   100%
async_durable_execution/_operation/parallel.py _BatchResultCodec.can_encode   100% 1 0 0   100% 0 0   100%
async_durable_execution/_operation/parallel.py _BatchResultCodec.encode   60% 5 2 0   50% 2 1   57%
async_durable_execution/_operation/parallel.py _BatchResultCodec.decode   60% 5 2 0   50% 2 1   57%
async_durable_execution/_operation/parallel.py _BatchResultSerDes.__init__   100% 1 0 0   100% 0 0   100%
async_durable_execution/_operation/parallel.py _BatchResultSerDes._check_circular_references   85% 13 2 0   83% 6 1   84%
async_durable_execution/_operation/parallel.py ExecutableWithState.__init__   100% 7 0 0   100% 0 0   100%
async_durable_execution/_operation/parallel.py ExecutableWithState.future   100% 4 0 0   100% 2 0   100%
async_durable_execution/_operation/parallel.py ExecutableWithState.status   100% 1 0 0   100% 0 0   100%
async_durable_execution/_operation/parallel.py ExecutableWithState.result   100% 4 0 0   100% 2 0   100%
async_durable_execution/_operation/parallel.py ExecutableWithState.error   100% 4 0 0   100% 2 0   100%
async_durable_execution/_operation/parallel.py ExecutableWithState.suspend_until   100% 1 0 0   100% 0 0   100%
async_durable_execution/_operation/parallel.py ExecutableWithState.is_running   100% 1 0 0   100% 0 0   100%
async_durable_execution/_operation/parallel.py ExecutableWithState.can_resume   100% 1 0 0   100% 0 0   100%
async_durable_execution/_operation/parallel.py ExecutableWithState.index   100% 1 0 0   100% 0 0   100%
async_durable_execution/_operation/parallel.py ExecutableWithState.callable   100% 1 0 0   100% 0 0   100%
async_durable_execution/_operation/parallel.py ExecutableWithState.run   100% 5 0 0   100% 2 0   100%
async_durable_execution/_operation/parallel.py ExecutableWithState.suspend   100% 2 0 0   100% 0 0   100%
async_durable_execution/_operation/parallel.py ExecutableWithState.suspend_with_timeout   100% 2 0 0   100% 0 0   100%
async_durable_execution/_operation/parallel.py ExecutableWithState.complete   100% 3 0 0   100% 0 0   100%
async_durable_execution/_operation/parallel.py ExecutableWithState.fail   100% 2 0 0   100% 0 0   100%
async_durable_execution/_operation/parallel.py ExecutableWithState.cancel   100% 1 0 0   100% 0 0   100%
async_durable_execution/_operation/parallel.py ExecutableWithState.reset_to_pending   100% 3 0 0   100% 0 0   100%
async_durable_execution/_operation/parallel.py ExecutionCounters.__init__   100% 4 0 0   100% 0 0   100%
async_durable_execution/_operation/parallel.py ExecutionCounters.complete_task   100% 1 0 0   100% 0 0   100%
async_durable_execution/_operation/parallel.py ExecutionCounters.fail_task   100% 1 0 0   100% 0 0   100%
async_durable_execution/_operation/parallel.py ExecutionCounters.should_continue   100% 6 0 0   100% 4 0   100%
async_durable_execution/_operation/parallel.py ExecutionCounters.is_complete   100% 5 0 0   100% 2 0   100%
async_durable_execution/_operation/parallel.py ExecutionCounters.should_complete   100% 1 0 0   100% 0 0   100%
async_durable_execution/_operation/parallel.py ExecutionCounters.completion_status   100% 1 0 0   100% 0 0   100%
async_durable_execution/_operation/parallel.py ExecutionCounters.completion_decision   100% 5 0 0   100% 4 0   100%
async_durable_execution/_operation/parallel.py ExecutionCounters.is_all_completed   100% 1 0 0   100% 0 0   100%
async_durable_execution/_operation/parallel.py ExecutionCounters.is_min_successful_reached   100% 2 0 0   100% 0 0   100%
async_durable_execution/_operation/parallel.py ExecutionCounters.is_failure_tolerance_exceeded   100% 1 0 0   100% 0 0   100%
async_durable_execution/_operation/parallel.py ExecutionCounters._is_failure_condition_reached   100% 3 0 0   100% 2 0   100%
async_durable_execution/_operation/parallel.py TimerScheduler.__init__   100% 2 0 0   100% 0 0   100%
async_durable_execution/_operation/parallel.py TimerScheduler.__aenter__   100% 1 0 0   100% 0 0   100%
async_durable_execution/_operation/parallel.py TimerScheduler.__aexit__   100% 1 0 0   100% 0 0   100%
async_durable_execution/_operation/parallel.py TimerScheduler.schedule_resume   100% 4 0 0   100% 0 0   100%
async_durable_execution/_operation/parallel.py TimerScheduler.schedule_resume.runner   100% 4 0 0   100% 2 0   100%
async_durable_execution/_operation/parallel.py TimerScheduler.shutdown   100% 6 0 0   100% 4 0   100%
async_durable_execution/_operation/parallel.py ParallelExecutor.__init__   100% 23 0 0   100% 0 0   100%
async_durable_execution/_operation/parallel.py ParallelExecutor.execute_item   100% 4 0 0   100% 0 0   100%
async_durable_execution/_operation/parallel.py ParallelExecutor.get_iteration_name   100% 3 0 0   100% 2 0   100%
async_durable_execution/_operation/parallel.py ParallelExecutor.start   100% 1 0 0   100% 0 0   100%
async_durable_execution/_operation/parallel.py ParallelExecutor.replay   100% 3 0 0   100% 2 0   100%
async_durable_execution/_operation/parallel.py ParallelExecutor.execute   97% 36 1 0   83% 18 3   93%
async_durable_execution/_operation/parallel.py ParallelExecutor.execute.submit_task   89% 9 1 0   50% 2 1   82%
async_durable_execution/_operation/parallel.py ParallelExecutor.execute.submit_task.run_task   100% 2 0 0   100% 0 0   100%
async_durable_execution/_operation/parallel.py ParallelExecutor.execute.submit_task.on_done   100% 4 0 0   100% 0 0   100%
async_durable_execution/_operation/parallel.py ParallelExecutor.execute.submit_task.handle_task_completion   100% 5 0 0   100% 4 0   100%
async_durable_execution/_operation/parallel.py ParallelExecutor.execute.submit_next_task   100% 5 0 0   100% 2 0   100%
async_durable_execution/_operation/parallel.py ParallelExecutor.execute.resubmitter   100% 2 0 0   100% 0 0   100%
async_durable_execution/_operation/parallel.py ParallelExecutor.should_execution_suspend   94% 17 1 0   94% 16 1   94%
async_durable_execution/_operation/parallel.py ParallelExecutor._on_task_complete   94% 31 2 0   88% 8 1   92%
async_durable_execution/_operation/parallel.py ParallelExecutor._complete_if_execution_cannot_progress   71% 7 2 0   75% 4 1   73%
async_durable_execution/_operation/parallel.py ParallelExecutor._all_executables_terminal   100% 1 0 0   100% 0 0   100%
async_durable_execution/_operation/parallel.py ParallelExecutor._cancel_unfinished_executables   100% 3 0 0   100% 4 0   100%
async_durable_execution/_operation/parallel.py ParallelExecutor._create_result   100% 16 0 0   93% 14 1   97%
async_durable_execution/_operation/parallel.py ParallelExecutor._execute_item_in_child_context   94% 16 1 0   75% 4 1   90%
async_durable_execution/_operation/parallel.py ParallelExecutor._execute_item_in_child_context.run_child_operation   100% 1 0 0   100% 0 0   100%
async_durable_execution/_operation/parallel.py ParallelExecutor._execute_item_in_child_context.run_legacy_child_operation   100% 1 0 0   100% 0 0   100%
async_durable_execution/_operation/parallel.py ParallelExecutor.replay_completed   100% 25 0 0   100% 16 0   100%
async_durable_execution/_operation/parallel.py ParallelSummaryGenerator.__call__   100% 2 0 0   100% 0 0   100%
async_durable_execution/_operation/parallel.py _BranchOperationReservations.__init__   100% 9 0 0   100% 0 0   100%
async_durable_execution/_operation/parallel.py _BranchOperationReservations.__getitem__   100% 6 0 0   100% 2 0   100%
async_durable_execution/_operation/parallel.py _BranchOperationReservations.__iter__   0% 1 1 0   100% 0 0   0%
async_durable_execution/_operation/parallel.py _BranchOperationReservations.__len__   0% 1 1 0   100% 0 0   0%
async_durable_execution/_operation/parallel.py _BranchOperationReservations.operation_id   67% 3 1 0   50% 2 1   60%
async_durable_execution/_operation/parallel.py _BranchOperationReservations._branch_name   100% 3 0 0   100% 2 0   100%
async_durable_execution/_operation/parallel.py _BranchOperationReservations._register_historical_checkpoints   100% 6 0 0   100% 6 0   100%
async_durable_execution/_operation/parallel.py parallel_handler   100% 8 0 0   100% 4 0   100%
async_durable_execution/_operation/parallel.py parallel   100% 7 0 0   100% 2 0   100%
async_durable_execution/_operation/parallel.py parallel.run_parallel_handler   100% 8 0 0   100% 2 0   100%
async_durable_execution/_operation/parallel.py (no function)   100% 225 0 2   100% 0 0   100%
async_durable_execution/_operation/recurse.py _is_qualified_function_arn   100% 2 0 0   100% 0 0   100%
async_durable_execution/_operation/recurse.py _is_qualified_function_name   100% 1 0 0   100% 0 0   100%
async_durable_execution/_operation/recurse.py _append_qualifier   100% 5 0 0   100% 4 0   100%
async_durable_execution/_operation/recurse.py _resolve_recursive_function_name   87% 15 2 0   88% 8 1   87%
async_durable_execution/_operation/recurse.py _validate_recursive_payload   100% 4 0 0   100% 2 0   100%
async_durable_execution/_operation/recurse.py _add_recursive_level   100% 6 0 0   100% 2 0   100%
async_durable_execution/_operation/recurse.py recurse   100% 8 0 0   100% 2 0   100%
async_durable_execution/_operation/recurse.py (no function)   100% 14 0 0   100% 0 0   100%
async_durable_execution/_operation/replay_safe.py _random_value   100% 1 0 0   100% 0 0   100%
async_durable_execution/_operation/replay_safe.py _now_value   100% 1 0 0   100% 0 0   100%
async_durable_execution/_operation/replay_safe.py _timestamp_value   0% 1 1 0   100% 0 0   0%
async_durable_execution/_operation/replay_safe.py _uuid_value   100% 1 0 0   100% 0 0   100%
async_durable_execution/_operation/replay_safe.py random   100% 1 0 0   100% 0 0   100%
async_durable_execution/_operation/replay_safe.py now   100% 1 0 0   100% 0 0   100%
async_durable_execution/_operation/replay_safe.py timestamp   100% 1 0 0   100% 0 0   100%
async_durable_execution/_operation/replay_safe.py uuid   100% 1 0 0   100% 0 0   100%
async_durable_execution/_operation/replay_safe.py (no function)   100% 15 0 0   100% 0 0   100%
async_durable_execution/_operation/step.py step   100% 2 0 0   100% 0 0   100%
async_durable_execution/_operation/step.py (no function)   100% 10 0 0   100% 0 0   100%
async_durable_execution/_operation/wait.py wait   100% 5 0 0   100% 2 0   100%
async_durable_execution/_operation/wait.py (no function)   100% 6 0 0   100% 0 0   100%
async_durable_execution/_operation/wait_for_callback.py create_callback   100% 1 0 0   100% 0 0   100%
async_durable_execution/_operation/wait_for_callback.py step   100% 1 0 0   100% 0 0   100%
async_durable_execution/_operation/wait_for_callback.py _create_child_context_task   100% 1 0 0   100% 0 0   100%
async_durable_execution/_operation/wait_for_callback.py wait_for_callback_handler   100% 6 0 0   100% 0 0   100%
async_durable_execution/_operation/wait_for_callback.py wait_for_callback_handler.submitter_step   100% 4 0 0   100% 0 0   100%
async_durable_execution/_operation/wait_for_callback.py wait_for_callback   100% 3 0 0   100% 0 0   100%
async_durable_execution/_operation/wait_for_callback.py get_wait_for_callback_context   100% 5 0 0   100% 2 0   100%
async_durable_execution/_operation/wait_for_callback.py (no function)   100% 20 0 3   100% 0 0   100%
async_durable_execution/_operation/wait_for_condition.py _restore_wait_for_condition_error   100% 1 0 0   100% 0 0   100%
async_durable_execution/_operation/wait_for_condition.py PollingStrategy.__call__   100% 6 0 0   100% 4 0   100%
async_durable_execution/_operation/wait_for_condition.py WaitForConditionOperationExecutor.__init__   100% 6 0 0   100% 0 0   100%
async_durable_execution/_operation/wait_for_condition.py WaitForConditionOperationExecutor.start   100% 3 0 0   100% 0 0   100%
async_durable_execution/_operation/wait_for_condition.py WaitForConditionOperationExecutor.replay   100% 22 0 0   100% 14 0   100%
async_durable_execution/_operation/wait_for_condition.py WaitForConditionOperationExecutor.execute   100% 37 0 0   100% 12 0   100%
async_durable_execution/_operation/wait_for_condition.py WaitForConditionOperationExecutor._resolve_delay_seconds   100% 8 0 0   100% 4 0   100%
async_durable_execution/_operation/wait_for_condition.py wait_for_condition   100% 3 0 0   100% 0 0   100%
async_durable_execution/_operation/wait_for_condition.py wait_for_condition.check_attempt   33% 15 10 0   0% 6 0   24%
async_durable_execution/_operation/wait_for_condition.py _wait_for_condition   0% 2 2 0   100% 0 0   0%
async_durable_execution/_operation/wait_for_condition.py get_wait_for_condition_check_context   100% 5 0 0   100% 2 0   100%
async_durable_execution/_operation/wait_for_condition.py (no function)   100% 34 0 2   100% 0 0   100%
async_durable_execution/_operation/with_retry.py wait   100% 1 0 0   100% 0 0   100%
async_durable_execution/_operation/with_retry.py run_in_child_context   100% 1 0 0   100% 0 0   100%
async_durable_execution/_operation/with_retry.py get_with_retry_context   100% 5 0 0   100% 2 0   100%
async_durable_execution/_operation/with_retry.py with_retry   100% 2 0 0   100% 0 0   100%
async_durable_execution/_operation/with_retry.py with_retry.run_loop   100% 17 0 0   100% 4 0   100%
async_durable_execution/_operation/with_retry.py (no function)   100% 14 0 2   100% 0 0   100%
async_durable_execution/_primitive/__init__.py (no function)   100% 0 0 0   100% 0 0   100%
async_durable_execution/_primitive/base.py OperationExecutor.__init__   100% 2 0 0   100% 0 0   100%
async_durable_execution/_primitive/base.py OperationExecutor.operation_id   100% 1 0 0   100% 0 0   100%
async_durable_execution/_primitive/base.py OperationExecutor.operation_name   100% 1 0 0   100% 0 0   100%
async_durable_execution/_primitive/base.py OperationExecutor.durable_execution_arn   100% 1 0 0   100% 0 0   100%
async_durable_execution/_primitive/base.py OperationExecutor.create_checkpoint   100% 3 0 0   100% 2 0   100%
async_durable_execution/_primitive/base.py OperationExecutor.serialize_value   100% 1 0 0   100% 0 0   100%
async_durable_execution/_primitive/base.py OperationExecutor.deserialize_value   100% 1 0 0   100% 0 0   100%
async_durable_execution/_primitive/base.py OperationExecutor.start   0% 1 1 0   100% 0 0   0%
async_durable_execution/_primitive/base.py OperationExecutor.replay   0% 1 1 0   100% 0 0   0%
async_durable_execution/_primitive/base.py OperationExecutor.process   100% 20 0 0   100% 14 0   100%
async_durable_execution/_primitive/base.py (no function)   100% 23 0 0   100% 0 0   100%
async_durable_execution/_primitive/callback.py CallbackError.__init__   100% 2 0 0   100% 0 0   100%
async_durable_execution/_primitive/callback.py _encode_callback_error_payload   50% 4 2 0   50% 2 1   50%
async_durable_execution/_primitive/callback.py _restore_callback_error   100% 1 0 0   100% 0 0   100%
async_durable_execution/_primitive/callback.py CallbackOperationExecutor.__init__   100% 3 0 0   100% 0 0   100%
async_durable_execution/_primitive/callback.py CallbackOperationExecutor.start   100% 7 0 0   100% 2 0   100%
async_durable_execution/_primitive/callback.py CallbackOperationExecutor.replay   100% 4 0 0   100% 2 0   100%
async_durable_execution/_primitive/callback.py CallbackOperationExecutor.execute   100% 4 0 0   100% 2 0   100%
async_durable_execution/_primitive/callback.py create_callback   0% 2 2 0   100% 0 0   0%
async_durable_execution/_primitive/callback.py _create_callback   100% 3 0 0   100% 0 0   100%
async_durable_execution/_primitive/callback.py Callback.__init__   100% 4 0 0   100% 0 0   100%
async_durable_execution/_primitive/callback.py Callback.result   100% 13 0 0   100% 8 0   100%
async_durable_execution/_primitive/callback.py _format_callback_error_message   100% 7 0 0   100% 4 0   100%
async_durable_execution/_primitive/callback.py (no function)   100% 27 0 0   100% 0 0   100%
async_durable_execution/_primitive/child.py ChildOperationExecutor.__init__   100% 5 0 0   100% 0 0   100%
async_durable_execution/_primitive/child.py ChildOperationExecutor.start   100% 4 0 0   100% 2 0   100%
async_durable_execution/_primitive/child.py ChildOperationExecutor.replay   100% 12 0 0   100% 8 0   100%
async_durable_execution/_primitive/child.py ChildOperationExecutor.execute   92% 39 3 0   85% 20 1   90%
async_durable_execution/_primitive/child.py ChildOperationExecutor._is_replay_children   100% 3 0 0   100% 2 0   100%
async_durable_execution/_primitive/child.py ChildOperationExecutor._get_result   100% 3 0 0   100% 2 0   100%
async_durable_execution/_primitive/child.py ChildOperationExecutor._raise_callable_error   100% 8 0 0   100% 4 0   100%
async_durable_execution/_primitive/child.py run_in_child_context   0% 2 2 0   100% 0 0   0%
async_durable_execution/_primitive/child.py _create_child_context_task   0% 6 6 0   100% 0 0   0%
async_durable_execution/_primitive/child.py _create_child_context_task.run_child_context   0% 2 2 0   100% 0 0   0%
async_durable_execution/_primitive/child.py _run_in_child_context   100% 6 0 0   100% 0 0   100%
async_durable_execution/_primitive/child.py _run_child_context   100% 3 0 0   100% 0 0   100%
async_durable_execution/_primitive/child.py _run_child_context.callable_with_child_context   100% 2 0 0   100% 0 0   100%
async_durable_execution/_primitive/child.py (no function)   100% 29 0 2   100% 0 0   100%
async_durable_execution/_primitive/invoke.py InvokeOperationExecutor.__init__   100% 6 0 0   100% 0 0   100%
async_durable_execution/_primitive/invoke.py InvokeOperationExecutor.start   100% 5 0 0   100% 0 0   100%
async_durable_execution/_primitive/invoke.py InvokeOperationExecutor.replay   100% 16 0 0   100% 10 0   100%
async_durable_execution/_primitive/invoke.py InvokeOperationExecutor.execute   100% 4 0 0   100% 0 0   100%
async_durable_execution/_primitive/invoke.py invoke   0% 2 2 0   100% 0 0   0%
async_durable_execution/_primitive/invoke.py _invoke   100% 2 0 0   100% 0 0   100%
async_durable_execution/_primitive/invoke.py (no function)   100% 17 0 0   100% 0 0   100%
async_durable_execution/_primitive/step.py _error_object_from_exception   100% 5 0 0   100% 2 0   100%
async_durable_execution/_primitive/step.py StepInterruptedError.__init__   100% 2 0 0   100% 0 0   100%
async_durable_execution/_primitive/step.py StepOperationExecutor.__init__   100% 5 0 0   100% 0 0   100%
async_durable_execution/_primitive/step.py StepOperationExecutor.start   100% 4 0 0   100% 0 0   100%
async_durable_execution/_primitive/step.py StepOperationExecutor.replay   100% 24 0 0   100% 14 0   100%
async_durable_execution/_primitive/step.py StepOperationExecutor.execute   100% 20 0 0   100% 4 0   100%
async_durable_execution/_primitive/step.py StepOperationExecutor.retry_handler   97% 30 1 0   90% 10 1   95%
async_durable_execution/_primitive/step.py StepOperationExecutor._raise_callable_error   100% 5 0 0   100% 2 0   100%
async_durable_execution/_primitive/step.py StatefulStepOperationExecutor.__init__   100% 7 0 0   100% 0 0   100%
async_durable_execution/_primitive/step.py StatefulStepOperationExecutor.start   100% 3 0 0   100% 0 0   100%
async_durable_execution/_primitive/step.py StatefulStepOperationExecutor.replay   74% 27 7 0   71% 14 2   73%
async_durable_execution/_primitive/step.py StatefulStepOperationExecutor._execute   88% 24 3 0   75% 8 2   84%
async_durable_execution/_primitive/step.py StatefulStepOperationExecutor._load_state   100% 3 0 0   100% 2 0   100%
async_durable_execution/_primitive/step.py StatefulStepOperationExecutor._attempt   100% 3 0 0   100% 2 0   100%
async_durable_execution/_primitive/step.py StatefulStepOperationExecutor._handle_failure   62% 21 8 0   62% 8 3   62%
async_durable_execution/_primitive/step.py StatefulStepOperationExecutor._prepare_retry   100% 4 0 0   100% 0 0   100%
async_durable_execution/_primitive/step.py StatefulStepOperationExecutor._schedule_retry   67% 3 1 0   100% 0 0   67%
async_durable_execution/_primitive/step.py StatefulStepOperationExecutor._fail   100% 8 0 0   100% 4 0   100%
async_durable_execution/_primitive/step.py StatefulStepOperationExecutor._raise_failed_operation   71% 7 2 0   50% 4 2   64%
async_durable_execution/_primitive/step.py step   0% 2 2 0   100% 0 0   0%
async_durable_execution/_primitive/step.py _step   100% 2 0 0   100% 0 0   100%
async_durable_execution/_primitive/step.py _stateful_step   100% 2 0 0   100% 0 0   100%
async_durable_execution/_primitive/step.py get_step_context   60% 5 2 0   50% 2 1   57%
async_durable_execution/_primitive/step.py (no function)   100% 47 0 3   100% 0 0   100%
async_durable_execution/_primitive/wait.py WaitOperationExecutor.__init__   100% 2 0 0   100% 0 0   100%
async_durable_execution/_primitive/wait.py WaitOperationExecutor.start   100% 4 0 0   100% 0 0   100%
async_durable_execution/_primitive/wait.py WaitOperationExecutor.replay   100% 4 0 0   100% 2 0   100%
async_durable_execution/_primitive/wait.py WaitOperationExecutor.execute   100% 2 0 0   100% 0 0   100%
async_durable_execution/_primitive/wait.py wait   0% 2 2 0   100% 0 0   0%
async_durable_execution/_primitive/wait.py _wait   100% 2 0 0   100% 0 0   100%
async_durable_execution/_primitive/wait.py (no function)   100% 14 0 0   100% 0 0   100%
async_durable_execution/_runner/__init__.py (no function)   100% 4 0 0   100% 0 0   100%
async_durable_execution/_runner/cloud/__init__.py ThreadedSyncCloudLambdaClient.__init__   100% 1 0 0   100% 0 0   100%
async_durable_execution/_runner/cloud/__init__.py ThreadedSyncCloudLambdaClient.exceptions   100% 1 0 0   100% 0 0   100%
async_durable_execution/_runner/cloud/__init__.py ThreadedSyncCloudLambdaClient.invoke   100% 1 0 0   100% 0 0   100%
async_durable_execution/_runner/cloud/__init__.py ThreadedSyncCloudLambdaClient.get_durable_execution   100% 1 0 0   100% 0 0   100%
async_durable_execution/_runner/cloud/__init__.py ThreadedSyncCloudLambdaClient.get_durable_execution_history   100% 1 0 0   100% 0 0   100%
async_durable_execution/_runner/cloud/__init__.py ThreadedSyncCloudLambdaClient.send_durable_execution_callback_success   100% 1 0 0   100% 0 0   100%
async_durable_execution/_runner/cloud/__init__.py ThreadedSyncCloudLambdaClient.send_durable_execution_callback_failure   100% 1 0 0   100% 0 0   100%
async_durable_execution/_runner/cloud/__init__.py ThreadedSyncCloudLambdaClient.send_durable_execution_callback_heartbeat   100% 1 0 0   100% 0 0   100%
async_durable_execution/_runner/cloud/__init__.py ThreadedSyncCloudLambdaClient.close   100% 3 0 0   50% 2 1   80%
async_durable_execution/_runner/cloud/__init__.py AsyncCloudLambdaClient.__init__   100% 3 0 0   100% 0 0   100%
async_durable_execution/_runner/cloud/__init__.py AsyncCloudLambdaClient.exceptions   100% 5 0 0   100% 2 0   100%
async_durable_execution/_runner/cloud/__init__.py AsyncCloudLambdaClient._get_client   100% 6 0 0   75% 4 1   90%
async_durable_execution/_runner/cloud/__init__.py AsyncCloudLambdaClient._call   100% 5 0 0   50% 2 1   86%
async_durable_execution/_runner/cloud/__init__.py AsyncCloudLambdaClient.invoke   100% 1 0 0   100% 0 0   100%
async_durable_execution/_runner/cloud/__init__.py AsyncCloudLambdaClient.get_durable_execution   100% 1 0 0   100% 0 0   100%
async_durable_execution/_runner/cloud/__init__.py AsyncCloudLambdaClient.get_durable_execution_history   100% 1 0 0   100% 0 0   100%
async_durable_execution/_runner/cloud/__init__.py AsyncCloudLambdaClient.send_durable_execution_callback_success   100% 1 0 0   100% 0 0   100%
async_durable_execution/_runner/cloud/__init__.py AsyncCloudLambdaClient.send_durable_execution_callback_failure   100% 1 0 0   100% 0 0   100%
async_durable_execution/_runner/cloud/__init__.py AsyncCloudLambdaClient.send_durable_execution_callback_heartbeat   100% 1 0 0   100% 0 0   100%
async_durable_execution/_runner/cloud/__init__.py AsyncCloudLambdaClient.aclose   100% 8 0 0   75% 4 1   92%
async_durable_execution/_runner/cloud/__init__.py _read_payload   73% 11 3 0   62% 8 3   68%
async_durable_execution/_runner/cloud/__init__.py _cloud_lambda_client_is_async   100% 1 0 0   100% 0 0   100%
async_durable_execution/_runner/cloud/__init__.py adapt_lambda_client   60% 5 2 0   50% 4 2   56%
async_durable_execution/_runner/cloud/__init__.py _aws_error_code   100% 12 0 0   80% 10 2   91%
async_durable_execution/_runner/cloud/__init__.py create_cloud_runner   100% 1 0 0   100% 0 0   100%
async_durable_execution/_runner/cloud/__init__.py DurableFunctionCloudTestRunner.__init__   100% 8 0 0   100% 0 0   100%
async_durable_execution/_runner/cloud/__init__.py DurableFunctionCloudTestRunner.__aenter__   100% 1 0 0   100% 0 0   100%
async_durable_execution/_runner/cloud/__init__.py DurableFunctionCloudTestRunner.__aexit__   100% 1 0 0   100% 0 0   100%
async_durable_execution/_runner/cloud/__init__.py DurableFunctionCloudTestRunner.close   100% 3 0 0   100% 2 0   100%
async_durable_execution/_runner/cloud/__init__.py DurableFunctionCloudTestRunner.aclose   0% 5 5 0   0% 2 0   0%
async_durable_execution/_runner/cloud/__init__.py DurableFunctionCloudTestRunner.run   100% 2 0 0   100% 0 0   100%
async_durable_execution/_runner/cloud/__init__.py DurableFunctionCloudTestRunner.run_async   100% 1 0 0   100% 0 0   100%
async_durable_execution/_runner/cloud/__init__.py DurableFunctionCloudTestRunner._invoke_for_execution   90% 20 2 0   83% 6 1   88%
async_durable_execution/_runner/cloud/__init__.py DurableFunctionCloudTestRunner.send_callback_success   100% 5 0 0   100% 0 0   100%
async_durable_execution/_runner/cloud/__init__.py DurableFunctionCloudTestRunner.send_callback_failure   100% 5 0 0   100% 0 0   100%
async_durable_execution/_runner/cloud/__init__.py DurableFunctionCloudTestRunner.send_callback_heartbeat   100% 5 0 0   100% 0 0   100%
async_durable_execution/_runner/cloud/__init__.py DurableFunctionCloudTestRunner._wait_for_completion   100% 27 0 0   100% 12 0   100%
async_durable_execution/_runner/cloud/__init__.py DurableFunctionCloudTestRunner.wait_for_result   100% 9 0 0   100% 0 0   100%
async_durable_execution/_runner/cloud/__init__.py DurableFunctionCloudTestRunner.wait_for_callback   100% 17 0 0   100% 6 0   100%
async_durable_execution/_runner/cloud/__init__.py DurableFunctionCloudTestRunner._fetch_execution_history   100% 21 0 0   100% 6 0   100%
async_durable_execution/_runner/cloud/__init__.py LambdaInvoker.__init__   100% 4 0 0   100% 0 0   100%
async_durable_execution/_runner/cloud/__init__.py LambdaInvoker._get_client_for_execution   100% 10 0 0   88% 8 1   94%
async_durable_execution/_runner/cloud/__init__.py LambdaInvoker.invoke   100% 42 0 0   100% 18 0   100%
async_durable_execution/_runner/cloud/__init__.py create_sync_lambda_client   100% 1 0 0   100% 0 0   100%
async_durable_execution/_runner/cloud/__init__.py create_async_lambda_client   100% 1 0 0   100% 0 0   100%
async_durable_execution/_runner/cloud/__init__.py create_lambda_client   100% 3 0 0   100% 2 0   100%
async_durable_execution/_runner/cloud/__init__.py (no function)   100% 69 0 0   100% 0 0   100%
async_durable_execution/_runner/exceptions.py InvalidParameterValueException.__init__   100% 2 0 0   100% 0 0   100%
async_durable_execution/_runner/exceptions.py ResourceNotFoundException.__init__   100% 2 0 0   100% 0 0   100%
async_durable_execution/_runner/exceptions.py IllegalStateException.__init__   100% 2 0 0   100% 0 0   100%
async_durable_execution/_runner/exceptions.py (no function)   100% 14 0 0   100% 0 0   100%
async_durable_execution/_runner/local/__init__.py create_local_runner   100% 1 0 0   100% 0 0   100%
async_durable_execution/_runner/local/__init__.py DurableFunctionLocalTestRunner.__init__   100% 12 0 0   100% 0 0   100%
async_durable_execution/_runner/local/__init__.py DurableFunctionLocalTestRunner.__aenter__   100% 3 0 0   100% 2 0   100%
async_durable_execution/_runner/local/__init__.py DurableFunctionLocalTestRunner.__aexit__   100% 1 0 0   100% 0 0   100%
async_durable_execution/_runner/local/__init__.py DurableFunctionLocalTestRunner.close   100% 1 0 0   100% 0 0   100%
async_durable_execution/_runner/local/__init__.py DurableFunctionLocalTestRunner.run   100% 2 0 0   100% 0 0   100%
async_durable_execution/_runner/local/__init__.py DurableFunctionLocalTestRunner.send_callback_success   100% 1 0 0   100% 0 0   100%
async_durable_execution/_runner/local/__init__.py DurableFunctionLocalTestRunner.send_callback_failure   100% 1 0 0   100% 0 0   100%
async_durable_execution/_runner/local/__init__.py DurableFunctionLocalTestRunner.send_callback_heartbeat   100% 1 0 0   100% 0 0   100%
async_durable_execution/_runner/local/__init__.py DurableFunctionLocalTestRunner.mock_invoke_result   100% 1 0 0   100% 0 0   100%
async_durable_execution/_runner/local/__init__.py DurableFunctionLocalTestRunner.run_async   100% 7 0 0   100% 2 0   100%
async_durable_execution/_runner/local/__init__.py DurableFunctionLocalTestRunner.wait_for_result   100% 6 0 0   100% 2 0   100%
async_durable_execution/_runner/local/__init__.py DurableFunctionLocalTestRunner.wait_for_callback   100% 16 0 0   100% 4 0   100%
async_durable_execution/_runner/local/__init__.py InProcessInvoker.__init__   100% 2 0 0   100% 0 0   100%
async_durable_execution/_runner/local/__init__.py InProcessInvoker.create_invocation_input   100% 1 0 0   100% 0 0   100%
async_durable_execution/_runner/local/__init__.py InProcessInvoker.invoke   100% 8 0 0   100% 2 0   100%
async_durable_execution/_runner/local/__init__.py create_test_lambda_context   100% 3 0 0   100% 0 0   100%
async_durable_execution/_runner/local/__init__.py InMemoryServiceClient.__init__   100% 3 0 0   100% 0 0   100%
async_durable_execution/_runner/local/__init__.py InMemoryServiceClient.bind_executor   100% 1 0 0   100% 0 0   100%
async_durable_execution/_runner/local/__init__.py InMemoryServiceClient.mock_invoke_result   100% 1 0 0   100% 0 0   100%
async_durable_execution/_runner/local/__init__.py InMemoryServiceClient.process_checkpoint   87% 15 2 0   75% 4 1   84%
async_durable_execution/_runner/local/__init__.py InMemoryServiceClient.checkpoint   100% 4 0 0   100% 2 0   100%
async_durable_execution/_runner/local/__init__.py InMemoryServiceClient.get_execution_state   78% 9 2 0   75% 4 1   77%
async_durable_execution/_runner/local/__init__.py (no function)   100% 40 0 0   100% 0 0   100%
async_durable_execution/_runner/local/execution.py Execution.__init__   100% 10 0 0   100% 0 0   100%
async_durable_execution/_runner/local/execution.py Execution.token_sequence   100% 1 0 0   100% 0 0   100%
async_durable_execution/_runner/local/execution.py Execution.new   100% 1 0 0   100% 0 0   100%
async_durable_execution/_runner/local/execution.py Execution.start   100% 4 0 0   100% 2 0   100%
async_durable_execution/_runner/local/execution.py Execution.get_operation_execution_started   100% 4 0 0   100% 2 0   100%
async_durable_execution/_runner/local/execution.py Execution.get_new_checkpoint_token   100% 6 0 0   100% 0 0   100%
async_durable_execution/_runner/local/execution.py Execution.get_navigable_operations   100% 1 0 0   100% 0 0   100%
async_durable_execution/_runner/local/execution.py Execution.get_assertable_operations   100% 1 0 0   100% 0 0   100%
async_durable_execution/_runner/local/execution.py Execution.has_pending_operations   100% 4 0 0   100% 4 0   100%
async_durable_execution/_runner/local/execution.py Execution.record_invocation_completion   100% 1 0 0   100% 0 0   100%
async_durable_execution/_runner/local/execution.py Execution.complete_success   100% 3 0 0   100% 0 0   100%
async_durable_execution/_runner/local/execution.py Execution.complete_fail   100% 3 0 0   100% 0 0   100%
async_durable_execution/_runner/local/execution.py Execution.complete_timeout   100% 3 0 0   100% 0 0   100%
async_durable_execution/_runner/local/execution.py Execution.find_operation   100% 5 0 0   100% 4 0   100%
async_durable_execution/_runner/local/execution.py Execution.find_callback_operation   100% 5 0 0   100% 4 0   100%
async_durable_execution/_runner/local/execution.py Execution.complete_wait   100% 10 0 0   100% 4 0   100%
async_durable_execution/_runner/local/execution.py Execution.complete_retry   100% 14 0 0   100% 6 0   100%
async_durable_execution/_runner/local/execution.py Execution.complete_callback_success   100% 9 0 0   100% 4 0   100%
async_durable_execution/_runner/local/execution.py Execution.complete_callback_failure   100% 9 0 0   100% 4 0   100%
async_durable_execution/_runner/local/execution.py Execution.complete_callback_timeout   100% 10 0 0   75% 4 1   93%
async_durable_execution/_runner/local/execution.py Execution._end_execution   100% 3 0 0   100% 2 0   100%
async_durable_execution/_runner/local/execution.py (no function)   100% 32 0 0   100% 0 0   100%
async_durable_execution/_runner/local/executor.py Executor.__init__   100% 15 0 0   100% 0 0   100%
async_durable_execution/_runner/local/executor.py Executor.start_execution   100% 22 0 0   100% 4 0   100%
async_durable_execution/_runner/local/executor.py Executor.start_execution.timeout_handler   100% 2 0 0   100% 0 0   100%
async_durable_execution/_runner/local/executor.py Executor._ensure_can_start_execution   100% 5 0 0   75% 4 1   89%
async_durable_execution/_runner/local/executor.py Executor._save_execution   100% 2 0 0   100% 0 0   100%
async_durable_execution/_runner/local/executor.py Executor._update_execution   100% 2 0 0   100% 0 0   100%
async_durable_execution/_runner/local/executor.py Executor.set_execution   100% 1 0 0   100% 0 0   100%
async_durable_execution/_runner/local/executor.py Executor._validate_current_execution   60% 5 2 0   75% 4 1   67%
async_durable_execution/_runner/local/executor.py Executor.get_execution   50% 4 2 0   50% 2 1   50%
async_durable_execution/_runner/local/executor.py Executor.get_execution_state   100% 19 0 0   100% 8 0   100%
async_durable_execution/_runner/local/executor.py Executor.get_execution_history   98% 51 1 0   88% 26 3   95%
async_durable_execution/_runner/local/executor.py Executor.send_callback_success   100% 15 0 0   100% 2 0   100%
async_durable_execution/_runner/local/executor.py Executor.send_callback_failure   100% 16 0 0   100% 2 0   100%
async_durable_execution/_runner/local/executor.py Executor.send_callback_heartbeat   100% 16 0 0   100% 4 0   100%
async_durable_execution/_runner/local/executor.py Executor._validate_invocation_response   100% 27 0 0   100% 16 0   100%
async_durable_execution/_runner/local/executor.py Executor._invoke_handler   100% 2 0 0   100% 0 0   100%
async_durable_execution/_runner/local/executor.py Executor._invoke_handler.invoke   100% 34 0 0   100% 4 0   100%
async_durable_execution/_runner/local/executor.py Executor._schedule_resume   100% 8 0 0   100% 4 0   100%
async_durable_execution/_runner/local/executor.py Executor._mark_invocation_started   100% 3 0 0   100% 0 0   100%
async_durable_execution/_runner/local/executor.py Executor._mark_invocation_finished   100% 11 0 0   100% 6 0   100%
async_durable_execution/_runner/local/executor.py Executor._invoke_execution   100% 2 0 0   100% 0 0   100%
async_durable_execution/_runner/local/executor.py Executor._complete_workflow   100% 7 0 0   100% 4 0   100%
async_durable_execution/_runner/local/executor.py Executor._fail_workflow   100% 5 0 0   100% 2 0   100%
async_durable_execution/_runner/local/executor.py Executor._retry_invocation   100% 5 0 0   100% 2 0   100%
async_durable_execution/_runner/local/executor.py Executor._complete_events   100% 6 0 0   100% 4 0   100%
async_durable_execution/_runner/local/executor.py Executor.wait_until_complete   100% 5 0 0   100% 2 0   100%
async_durable_execution/_runner/local/executor.py Executor.complete_execution   100% 8 0 0   100% 2 0   100%
async_durable_execution/_runner/local/executor.py Executor.fail_execution   100% 8 0 0   100% 2 0   100%
async_durable_execution/_runner/local/executor.py Executor._on_wait_succeeded   100% 12 0 0   100% 2 0   100%
async_durable_execution/_runner/local/executor.py Executor._on_retry_ready   100% 12 0 0   100% 2 0   100%
async_durable_execution/_runner/local/executor.py Executor._defer_resume_event_if_active   100% 5 0 0   100% 2 0   100%
async_durable_execution/_runner/local/executor.py Executor._defer_callback_timeout_if_active   60% 5 2 0   50% 2 1   57%
async_durable_execution/_runner/local/executor.py Executor._apply_deferred_resume_events   77% 13 3 0   83% 6 1   79%
async_durable_execution/_runner/local/executor.py Executor.timeout_execution   100% 5 0 0   100% 0 0   100%
async_durable_execution/_runner/local/executor.py Executor.schedule_wait_timer   100% 3 0 0   100% 0 0   100%
async_durable_execution/_runner/local/executor.py Executor.schedule_wait_timer.wait_handler   100% 4 0 0   75% 4 1   88%
async_durable_execution/_runner/local/executor.py Executor.schedule_step_retry   100% 3 0 0   100% 0 0   100%
async_durable_execution/_runner/local/executor.py Executor.schedule_step_retry.retry_handler   100% 4 0 0   100% 4 0   100%
async_durable_execution/_runner/local/executor.py Executor.schedule_callback_timeouts   100% 1 0 0   100% 0 0   100%
async_durable_execution/_runner/local/executor.py Executor._schedule_callback_timeouts   100% 15 0 0   100% 6 0   100%
async_durable_execution/_runner/local/executor.py Executor._schedule_callback_timeouts.timeout_handler   100% 1 0 0   100% 0 0   100%
async_durable_execution/_runner/local/executor.py Executor._schedule_callback_timeouts.heartbeat_timeout_handler   100% 1 0 0   100% 0 0   100%
async_durable_execution/_runner/local/executor.py Executor._reset_callback_heartbeat_timeout   100% 17 0 0   100% 8 0   100%
async_durable_execution/_runner/local/executor.py Executor._reset_callback_heartbeat_timeout.heartbeat_timeout_handler   100% 1 0 0   100% 0 0   100%
async_durable_execution/_runner/local/executor.py Executor._cleanup_callback_timeouts   100% 4 0 0   100% 4 0   100%
async_durable_execution/_runner/local/executor.py Executor._complete_callback_timeout   100% 14 0 0   100% 2 0   100%
async_durable_execution/_runner/local/executor.py Executor._on_callback_timeout   75% 4 1 0   75% 4 1   75%
async_durable_execution/_runner/local/executor.py Executor._on_callback_heartbeat_timeout   75% 4 1 0   75% 4 1   75%
async_durable_execution/_runner/local/executor.py (no function)   100% 58 0 5   100% 0 0   100%
async_durable_execution/_runner/local/model.py LambdaContext.get_remaining_time_in_millis   100% 1 0 0   100% 0 0   100%
async_durable_execution/_runner/local/model.py LambdaContext.log   100% 1 0 0   100% 0 0   100%
async_durable_execution/_runner/local/model.py StartDurableExecutionInput.from_dict   100% 6 0 0   100% 4 0   100%
async_durable_execution/_runner/local/model.py StartDurableExecutionInput.get_normalized_input   100% 5 0 0   100% 0 0   100%
async_durable_execution/_runner/local/model.py Invoker.create_invocation_input   100% 0 0 1   100% 0 0   100%
async_durable_execution/_runner/local/model.py Invoker.invoke   100% 0 0 1   100% 0 0   100%
async_durable_execution/_runner/local/model.py CheckpointToken.to_str   100% 3 0 0   100% 0 0   100%
async_durable_execution/_runner/local/model.py CheckpointToken.from_str   100% 3 0 0   100% 0 0   100%
async_durable_execution/_runner/local/model.py CallbackToken.to_str   100% 3 0 0   100% 0 0   100%
async_durable_execution/_runner/local/model.py CallbackToken.from_str   100% 3 0 0   100% 0 0   100%
async_durable_execution/_runner/local/model.py (no function)   100% 71 0 14   100% 0 0   100%
async_durable_execution/_runner/local/processor.py OperationTransformer.__init__   100% 1 0 0   100% 0 0   100%
async_durable_execution/_runner/local/processor.py OperationTransformer.mock_invoke_result   100% 3 0 0   50% 2 1   80%
async_durable_execution/_runner/local/processor.py OperationTransformer.process_updates   100% 18 0 0   100% 12 0   100%
async_durable_execution/_runner/local/processor.py CheckpointValidator.validate_input   100% 6 0 0   100% 4 0   100%
async_durable_execution/_runner/local/processor.py CheckpointValidator._validate_conflicting_execution_update   100% 7 0 0   100% 4 0   100%
async_durable_execution/_runner/local/processor.py CheckpointValidator._validate_operation_update   100% 3 0 0   100% 0 0   100%
async_durable_execution/_runner/local/processor.py CheckpointValidator._validate_payload_sizes   100% 5 0 0   100% 4 0   100%
async_durable_execution/_runner/local/processor.py CheckpointValidator._validate_operation_status_transition   80% 10 2 0   83% 6 1   81%
async_durable_execution/_runner/local/processor.py CheckpointValidator._validate_inconsistent_operation_metadata   100% 18 0 0   100% 14 0   100%
async_durable_execution/_runner/local/processor.py CheckpointValidator._validate_parent_id_and_duplicate_id   100% 12 0 0   100% 8 0   100%
async_durable_execution/_runner/local/processor.py CheckpointValidator._is_invalid_duplicate_update   100% 7 0 0   100% 4 0   100%
async_durable_execution/_runner/local/processor.py CheckpointValidator._is_valid_parent_for_update   100% 10 0 0   100% 8 0   100%
async_durable_execution/_runner/local/processor.py (no function)   100% 33 0 3   100% 0 0   100%
async_durable_execution/_runner/local/processors/__init__.py create_default_processors   100% 1 0 0   100% 0 0   100%
async_durable_execution/_runner/local/processors/__init__.py (no function)   100% 10 0 0   100% 0 0   100%
async_durable_execution/_runner/local/processors/base.py OperationProcessor.validate   100% 1 0 0   100% 0 0   100%
async_durable_execution/_runner/local/processors/base.py OperationProcessor._validate_action   100% 3 0 0   100% 2 0   100%
async_durable_execution/_runner/local/processors/base.py OperationProcessor.process   100% 1 0 0   100% 0 0   100%
async_durable_execution/_runner/local/processors/base.py OperationProcessor._get_start_time   100% 2 0 0   100% 0 0   100%
async_durable_execution/_runner/local/processors/base.py OperationProcessor._get_end_time   100% 5 0 0   100% 4 0   100%
async_durable_execution/_runner/local/processors/base.py OperationProcessor._create_execution_details   100% 1 0 0   100% 0 0   100%
async_durable_execution/_runner/local/processors/base.py OperationProcessor._create_context_details   100% 1 0 0   100% 0 0   100%
async_durable_execution/_runner/local/processors/base.py OperationProcessor._create_step_details   100% 15 0 0   100% 10 0   100%
async_durable_execution/_runner/local/processors/base.py OperationProcessor._create_callback_details   100% 1 0 0   100% 0 0   100%
async_durable_execution/_runner/local/processors/base.py OperationProcessor._create_invoke_details   100% 3 0 0   100% 2 0   100%
async_durable_execution/_runner/local/processors/base.py OperationProcessor._translate_update_to_operation   100% 9 0 0   100% 0 0   100%
async_durable_execution/_runner/local/processors/base.py OperationProcessor._create_wait_details   100% 6 0 0   100% 4 0   100%
async_durable_execution/_runner/local/processors/base.py (no function)   100% 22 0 0   100% 0 0   100%
async_durable_execution/_runner/local/processors/callback.py CallbackProcessor.validate   100% 4 0 0   100% 2 0   100%
async_durable_execution/_runner/local/processors/callback.py CallbackProcessor.process   100% 15 0 0   100% 2 0   100%
async_durable_execution/_runner/local/processors/callback.py (no function)   100% 13 0 0   100% 0 0   100%
async_durable_execution/_runner/local/processors/context.py ContextProcessor.validate   100% 16 0 0   92% 12 1   96%
async_durable_execution/_runner/local/processors/context.py ContextProcessor.process   100% 10 0 0   100% 6 0   100%
async_durable_execution/_runner/local/processors/context.py (no function)   100% 12 0 0   100% 0 0   100%
async_durable_execution/_runner/local/processors/execution.py ExecutionProcessor.validate   100% 10 0 0   88% 8 1   94%
async_durable_execution/_runner/local/processors/execution.py ExecutionProcessor.process   100% 7 0 0   100% 2 0   100%
async_durable_execution/_runner/local/processors/execution.py (no function)   100% 11 0 0   100% 0 0   100%
async_durable_execution/_runner/local/processors/invoke.py ChainedInvokeProcessor.__init__   100% 1 0 0   100% 0 0   100%
async_durable_execution/_runner/local/processors/invoke.py ChainedInvokeProcessor.mock_result   100% 1 0 0   100% 0 0   100%
async_durable_execution/_runner/local/processors/invoke.py ChainedInvokeProcessor.process   100% 16 0 0   90% 10 1   96%
async_durable_execution/_runner/local/processors/invoke.py ChainedInvokeProcessor.validate   100% 10 0 0   88% 8 1   94%
async_durable_execution/_runner/local/processors/invoke.py (no function)   100% 15 0 0   100% 0 0   100%
async_durable_execution/_runner/local/processors/step.py StepProcessor.validate   100% 28 0 0   95% 22 1   98%
async_durable_execution/_runner/local/processors/step.py StepProcessor.process   100% 29 0 0   100% 12 0   100%
async_durable_execution/_runner/local/processors/step.py (no function)   100% 16 0 0   100% 0 0   100%
async_durable_execution/_runner/local/processors/wait.py WaitProcessor.validate   100% 10 0 0   88% 8 1   94%
async_durable_execution/_runner/local/processors/wait.py WaitProcessor.process   100% 14 0 0   100% 4 0   100%
async_durable_execution/_runner/local/processors/wait.py (no function)   100% 14 0 0   100% 0 0   100%
async_durable_execution/_runner/local/scheduler.py Event.__init__   100% 3 0 0   100% 0 0   100%
async_durable_execution/_runner/local/scheduler.py Event.set   100% 1 0 0   100% 0 0   100%
async_durable_execution/_runner/local/scheduler.py Event.set_exception   100% 2 0 0   100% 0 0   100%
async_durable_execution/_runner/local/scheduler.py Event.wait_async   100% 6 0 0   100% 4 0   100%
async_durable_execution/_runner/local/scheduler.py Scheduler.__init__   100% 6 0 0   100% 0 0   100%
async_durable_execution/_runner/local/scheduler.py Scheduler.__enter__   100% 2 0 0   100% 0 0   100%
async_durable_execution/_runner/local/scheduler.py Scheduler.__exit__   100% 1 0 0   100% 0 0   100%
async_durable_execution/_runner/local/scheduler.py Scheduler.start   100% 4 0 0   100% 2 0   100%
async_durable_execution/_runner/local/scheduler.py Scheduler.stop   100% 14 0 0   100% 6 0   100%
async_durable_execution/_runner/local/scheduler.py Scheduler.get_loop   67% 3 1 0   50% 2 1   60%
async_durable_execution/_runner/local/scheduler.py Scheduler.call_later   100% 18 0 0   100% 4 0   100%
async_durable_execution/_runner/local/scheduler.py Scheduler.call_later.cleanup   100% 5 0 0   100% 4 0   100%
async_durable_execution/_runner/local/scheduler.py Scheduler.call_later.execute   94% 16 1 0   70% 10 3   85%
async_durable_execution/_runner/local/scheduler.py Scheduler.call_later.discard_task   100% 1 0 0   100% 0 0   100%
async_durable_execution/_runner/local/scheduler.py Scheduler.create_event   100% 3 0 0   100% 0 0   100%
async_durable_execution/_runner/local/scheduler.py Scheduler.wait_for_event   100% 7 0 0   100% 2 0   100%
async_durable_execution/_runner/local/scheduler.py Scheduler.set_event   100% 3 0 0   100% 2 0   100%
async_durable_execution/_runner/local/scheduler.py Scheduler.remove_event   100% 2 0 0   100% 0 0   100%
async_durable_execution/_runner/local/scheduler.py Scheduler._get_or_create_loop   100% 10 0 0   100% 0 0   100%
async_durable_execution/_runner/local/scheduler.py (no function)   100% 24 0 2   100% 0 0   100%
async_durable_execution/_runner/local/time_scale.py get_time_scale   100% 10 0 0   100% 2 0   100%
async_durable_execution/_runner/local/time_scale.py scale_delay   100% 4 0 0   100% 2 0   100%
async_durable_execution/_runner/local/time_scale.py (no function)   100% 7 0 0   100% 0 0   100%
async_durable_execution/_runner/model.py EventInput.from_details   100% 4 0 0   100% 0 0   100%
async_durable_execution/_runner/model.py EventInput.from_start_durable_execution_input   100% 3 0 0   100% 0 0   100%
async_durable_execution/_runner/model.py EventResult.from_details   100% 4 0 0   100% 0 0   100%
async_durable_execution/_runner/model.py EventResult.from_durable_execution_invocation_output   100% 2 0 0   100% 0 0   100%
async_durable_execution/_runner/model.py EventError.from_details   100% 3 0 0   100% 0 0   100%
async_durable_execution/_runner/model.py EventError.from_durable_execution_invocation_output   100% 2 0 0   100% 0 0   100%
async_durable_execution/_runner/model.py EventCreationContext.sub_type   100% 4 0 0   100% 2 0   100%
async_durable_execution/_runner/model.py EventCreationContext.get_retry_details   100% 6 0 0   100% 4 0   100%
async_durable_execution/_runner/model.py EventCreationContext.start_timestamp   100% 1 0 0   100% 0 0   100%
async_durable_execution/_runner/model.py EventCreationContext.end_timestamp   100% 1 0 0   100% 0 0   100%
async_durable_execution/_runner/model.py Event.create_execution_event_started   100% 4 0 0   100% 0 0   100%
async_durable_execution/_runner/model.py Event.create_execution_event_succeeded   100% 2 0 0   100% 0 0   100%
async_durable_execution/_runner/model.py Event.create_execution_event_failed   100% 2 0 0   100% 0 0   100%
async_durable_execution/_runner/model.py Event.create_execution_event_timed_out   100% 2 0 0   100% 0 0   100%
async_durable_execution/_runner/model.py Event.create_execution_event_stopped   100% 2 0 0   100% 0 0   100%
async_durable_execution/_runner/model.py Event.create_execution_event   100% 14 0 0   100% 10 0   100%
async_durable_execution/_runner/model.py Event.create_context_event_started   100% 1 0 0   100% 0 0   100%
async_durable_execution/_runner/model.py Event.create_context_event_succeeded   100% 3 0 0   100% 0 0   100%
async_durable_execution/_runner/model.py Event.create_context_event_failed   100% 3 0 0   100% 0 0   100%
async_durable_execution/_runner/model.py Event.create_context_event   100% 10 0 0   100% 6 0   100%
async_durable_execution/_runner/model.py Event.create_wait_event_started   100% 6 0 0   50% 2 1   88%
async_durable_execution/_runner/model.py Event.create_wait_event_succeeded   100% 5 0 0   50% 2 1   86%
async_durable_execution/_runner/model.py Event.create_wait_event_cancelled   75% 4 1 0   50% 2 1   67%
async_durable_execution/_runner/model.py Event.create_wait_event   100% 10 0 0   100% 6 0   100%
async_durable_execution/_runner/model.py Event.create_step_event_started   100% 1 0 0   100% 0 0   100%
async_durable_execution/_runner/model.py Event.create_step_event_succeeded   100% 3 0 0   100% 0 0   100%
async_durable_execution/_runner/model.py Event.create_step_event_failed   100% 3 0 0   100% 0 0   100%
async_durable_execution/_runner/model.py Event.create_step_event   100% 10 0 0   100% 6 0   100%
async_durable_execution/_runner/model.py Event.create_chained_invoke_event_pending   100% 2 0 0   100% 0 0   100%
async_durable_execution/_runner/model.py Event.create_chained_invoke_event_started   100% 1 0 0   100% 0 0   100%
async_durable_execution/_runner/model.py Event.create_chained_invoke_event_succeeded   100% 3 0 0   100% 0 0   100%
async_durable_execution/_runner/model.py Event.create_chained_invoke_event_failed   100% 3 0 0   100% 0 0   100%
async_durable_execution/_runner/model.py Event.create_chained_invoke_event_timed_out   100% 3 0 0   100% 0 0   100%
async_durable_execution/_runner/model.py Event.create_chained_invoke_event_stopped   100% 3 0 0   100% 0 0   100%
async_durable_execution/_runner/model.py Event.create_chained_invoke_event   94% 16 1 0   92% 12 1   93%
async_durable_execution/_runner/model.py Event.create_callback_event_started   100% 6 0 0   100% 0 0   100%
async_durable_execution/_runner/model.py Event.create_callback_event_succeeded   100% 3 0 0   100% 0 0   100%
async_durable_execution/_runner/model.py Event.create_callback_event_failed   100% 3 0 0   100% 0 0   100%
async_durable_execution/_runner/model.py Event.create_callback_event_timed_out   100% 3 0 0   100% 0 0   100%
async_durable_execution/_runner/model.py Event.create_callback_event   100% 12 0 0   100% 8 0   100%
async_durable_execution/_runner/model.py Event.create_invocation_completed   100% 1 0 0   100% 0 0   100%
async_durable_execution/_runner/model.py Event.create_event_started   100% 19 0 0   100% 14 0   100%
async_durable_execution/_runner/model.py Event.from_event_with_id   100% 1 0 0   100% 0 0   100%
async_durable_execution/_runner/model.py Event.create_event_terminated   100% 23 0 0   100% 16 0   100%
async_durable_execution/_runner/model.py events_to_operations   100% 79 0 0   90% 60 6   96%
async_durable_execution/_runner/model.py DurableFunctionTestResult.create   100% 10 0 0   100% 8 0   100%
async_durable_execution/_runner/model.py DurableFunctionTestResult.from_execution_history   100% 17 0 0   100% 6 0   100%
async_durable_execution/_runner/model.py DurableFunctionTestResult.get_operation_by_name   100% 5 0 0   100% 4 0   100%
async_durable_execution/_runner/model.py DurableFunctionTestResult.get_step   100% 1 0 0   100% 0 0   100%
async_durable_execution/_runner/model.py DurableFunctionTestResult.get_wait   100% 1 0 0   100% 0 0   100%
async_durable_execution/_runner/model.py DurableFunctionTestResult.get_context   100% 1 0 0   100% 0 0   100%
async_durable_execution/_runner/model.py DurableFunctionTestResult.get_callback   100% 1 0 0   100% 0 0   100%
async_durable_execution/_runner/model.py DurableFunctionTestResult.get_invoke   100% 1 0 0   100% 0 0   100%
async_durable_execution/_runner/model.py DurableFunctionTestResult.get_execution   100% 1 0 0   100% 0 0   100%
async_durable_execution/_runner/model.py DurableFunctionTestResult.get_deserialized_result   100% 1 0 0   100% 0 0   100%
async_durable_execution/_runner/model.py DurableFunctionTestResult.get_operation_deserialized_result   100% 12 0 0   100% 8 0   100%
async_durable_execution/_runner/model.py DurableFunctionTestResult.get_child_operations   100% 1 0 0   100% 0 0   100%
async_durable_execution/_runner/model.py DurableFunctionTestResult.get_all_operations   100% 1 0 0   100% 0 0   100%
async_durable_execution/_runner/model.py DurableFunctionTestResult._operation_source   100% 1 0 0   100% 0 0   100%
async_durable_execution/_runner/model.py DurableFunctionTestResult._get_operation_by_name_and_type   100% 5 0 0   100% 2 0   100%
async_durable_execution/_runner/model.py _deserialize_operation_payload   100% 8 0 0   75% 4 1   92%
async_durable_execution/_runner/model.py _get_callback_id_from_events   100% 20 0 0   100% 14 0   100%
async_durable_execution/_runner/model.py _get_callback_id_from_events.is_callback_ready   100% 4 0 0   100% 4 0   100%
async_durable_execution/_runner/model.py (no function)   100% 319 0 5   100% 0 0   100%
async_durable_execution/extension.py ExtensionStepResult.succeed   100% 1 0 0   100% 0 0   100%
async_durable_execution/extension.py ExtensionStepResult.retry   100% 2 0 0   100% 0 0   100%
async_durable_execution/extension.py ExtensionStepResult.is_retry   100% 1 0 0   100% 0 0   100%
async_durable_execution/extension.py _normalize_operation_name   67% 9 3 0   67% 6 2   67%
async_durable_execution/extension.py _normalize_sdk_operation_name   100% 1 0 0   100% 0 0   100%
async_durable_execution/extension.py _normalize_sub_type   71% 14 4 0   67% 6 2   70%
async_durable_execution/extension.py ExtensionOperation.__init__   100% 2 0 0   100% 0 0   100%
async_durable_execution/extension.py ExtensionOperation.step   100% 2 0 0   100% 0 0   100%
async_durable_execution/extension.py ExtensionOperation._run_stateful_step   100% 2 0 0   100% 0 0   100%
async_durable_execution/extension.py ExtensionOperation._run_step   100% 2 0 0   100% 0 0   100%
async_durable_execution/extension.py ExtensionOperation.wait   67% 6 2 0   50% 2 1   62%
async_durable_execution/extension.py ExtensionOperation._run_wait   67% 6 2 0   50% 2 1   62%
async_durable_execution/extension.py ExtensionOperation.invoke   0% 2 2 0   100% 0 0   0%
async_durable_execution/extension.py ExtensionOperation._run_invoke   100% 2 0 0   100% 0 0   100%
async_durable_execution/extension.py ExtensionOperation.create_callback   0% 2 2 0   100% 0 0   0%
async_durable_execution/extension.py ExtensionOperation._run_create_callback   100% 2 0 0   100% 0 0   100%
async_durable_execution/extension.py ExtensionOperation.run_in_child_context   100% 2 0 0   100% 0 0   100%
async_durable_execution/extension.py ExtensionOperation._run_in_child_context   100% 2 0 0   100% 0 0   100%
async_durable_execution/extension.py ExtensionOperation._restart_child_context   0% 5 5 0   0% 2 0   0%
async_durable_execution/extension.py ExtensionOperation._create_child_context_task   100% 6 0 0   50% 2 1   88%
async_durable_execution/extension.py ExtensionOperation._create_child_context_task.execute_child_context   100% 1 0 0   100% 0 0   100%
async_durable_execution/extension.py ExtensionOperation._create_child_context_task.run_child_context   89% 9 1 0   75% 4 1   85%
async_durable_execution/extension.py ExtensionOperation._create_task   100% 2 0 0   100% 0 0   100%
async_durable_execution/extension.py ExtensionOperation._claim   100% 10 0 0   100% 2 0   100%
async_durable_execution/extension.py ExtensionOperation._require_active_context   50% 4 2 0   50% 2 1   50%
async_durable_execution/extension.py _create_extension_operation   100% 10 0 0   100% 0 0   100%
async_durable_execution/extension.py ExtensionContext.__init__   100% 1 0 0   100% 0 0   100%
async_durable_execution/extension.py ExtensionContext.get_current   100% 1 0 0   100% 0 0   100%
async_durable_execution/extension.py ExtensionContext.lambda_context   0% 1 1 0   100% 0 0   0%
async_durable_execution/extension.py ExtensionContext.recursive_level   0% 1 1 0   100% 0 0   0%
async_durable_execution/extension.py ExtensionContext.is_replaying   100% 1 0 0   100% 0 0   100%
async_durable_execution/extension.py ExtensionContext.reserve   100% 2 0 0   100% 0 0   100%
async_durable_execution/extension.py ExtensionContext._reserve_sdk_operation   100% 2 0 0   100% 0 0   100%
async_durable_execution/extension.py ExtensionContext._reserve_sdk_operation_id   100% 2 0 0   100% 0 0   100%
async_durable_execution/extension.py ExtensionContext._create_reservation   100% 2 0 0   100% 0 0   100%
async_durable_execution/extension.py ExtensionContext._create_reservation_for_operation_id   100% 3 0 0   100% 0 0   100%
async_durable_execution/extension.py ExtensionContext._reserve_operation_id   100% 3 0 0   100% 2 0   100%
async_durable_execution/extension.py ExtensionContext._require_active_context   50% 4 2 0   50% 2 1   50%
async_durable_execution/extension.py get_extension_context   100% 1 0 0   100% 0 0   100%
async_durable_execution/extension.py (no function)   100% 77 0 0   100% 0 0   100%
async_durable_execution/filesystem_serdes.py FileSystemSerDesStageConfig.__post_init__   100% 15 0 0   100% 10 0   100%
async_durable_execution/filesystem_serdes.py FileSystemSerDesStage.__init__   100% 5 0 0   100% 2 0   100%
async_durable_execution/filesystem_serdes.py FileSystemSerDesStage.execution_directory   100% 1 0 0   100% 0 0   100%
async_durable_execution/filesystem_serdes.py FileSystemSerDesStage.serialize   100% 20 0 0   100% 6 0   100%
async_durable_execution/filesystem_serdes.py FileSystemSerDesStage.deserialize   92% 39 3 0   90% 10 1   92%
async_durable_execution/filesystem_serdes.py FileSystemSerDesStage._generate_preview   83% 18 3 0   88% 8 1   85%
async_durable_execution/filesystem_serdes.py FileSystemSerDesStage._encode_envelope   64% 14 5 0   83% 6 1   70%
async_durable_execution/filesystem_serdes.py FileSystemSerDesStage._validate_envelope   90% 10 1 0   75% 4 1   86%
async_durable_execution/filesystem_serdes.py FileSystemSerDesStage._validate_owner   88% 26 3 0   83% 12 2   87%
async_durable_execution/filesystem_serdes.py FileSystemSerDesStage._validate_file_path   75% 8 2 0   50% 2 1   70%
async_durable_execution/filesystem_serdes.py FileSystemSerDesStage._verify_digest   100% 3 0 0   100% 2 0   100%
async_durable_execution/filesystem_serdes.py FileSystemSerDesStage._verify_payload_size   33% 3 2 0   50% 2 1   40%
async_durable_execution/filesystem_serdes.py FileSystemSerDesStage._resolve_payload_path   100% 3 0 0   100% 0 0   100%
async_durable_execution/filesystem_serdes.py FileSystemSerDesStage._resolve_execution_directory   100% 10 0 0   100% 6 0   100%
async_durable_execution/filesystem_serdes.py FileSystemSerDesStage._encode   100% 6 0 0   100% 4 0   100%
async_durable_execution/filesystem_serdes.py FileSystemSerDesStage._require_strict_descendant   50% 10 5 0   50% 2 1   50%
async_durable_execution/filesystem_serdes.py FileSystemSerDesStage._fits_checkpoint   100% 1 0 0   100% 0 0   100%
async_durable_execution/filesystem_serdes.py FileSystemSerDesStage._require_context   100% 3 0 0   100% 2 0   100%
async_durable_execution/filesystem_serdes.py FileSystemSerDesStage._entity_id   40% 5 3 0   25% 4 1   33%
async_durable_execution/filesystem_serdes.py FileSystemSerDesStage._malformed_envelope   100% 1 0 0   100% 0 0   100%
async_durable_execution/filesystem_serdes.py create_file_system_serdes_stage   100% 1 0 0   100% 0 0   100%
async_durable_execution/filesystem_serdes.py _raise_filesystem_error   100% 3 0 0   100% 2 0   100%
async_durable_execution/filesystem_serdes.py _strict_json_loads   100% 2 0 0   100% 0 0   100%
async_durable_execution/filesystem_serdes.py _strict_json_loads.reject_duplicate_keys   100% 7 0 0   100% 4 0   100%
async_durable_execution/filesystem_serdes.py _contains_top_level_marker   79% 47 10 0   75% 28 7   77%
async_durable_execution/filesystem_serdes.py _directory_open_flags   100% 1 0 0   100% 0 0   100%
async_durable_execution/filesystem_serdes.py _open_directory_path   85% 33 5 0   88% 8 1   85%
async_durable_execution/filesystem_serdes.py _write_payload   70% 23 7 0   50% 6 1   66%
async_durable_execution/filesystem_serdes.py _read_payload   78% 27 6 0   75% 12 3   77%
async_durable_execution/filesystem_serdes.py (no function)   100% 75 0 0   100% 0 0   100%
async_durable_execution/preview.py PreviewField.__post_init__   100% 6 0 0   100% 4 0   100%
async_durable_execution/preview.py PreviewConfig.__post_init__   100% 12 0 0   100% 8 0   100%
async_durable_execution/preview.py _field_matches   100% 3 0 0   100% 2 0   100%
async_durable_execution/preview.py _is_matched   100% 1 0 0   100% 0 0   100%
async_durable_execution/preview.py build_preview   100% 12 0 0   100% 4 0   100%
async_durable_execution/preview.py build_preview.visit_node   100% 4 0 0   100% 2 0   100%
async_durable_execution/preview.py build_preview.add_value   91% 11 1 0   75% 4 1   87%
async_durable_execution/preview.py build_preview.collect   93% 29 2 0   92% 24 2   92%
async_durable_execution/preview.py _paths_to_nested_dict   100% 12 0 0   100% 6 0   100%
async_durable_execution/preview.py (no function)   100% 31 0 0   100% 0 0   100%
Total     96% 8638 330 163   92% 2520 166   95%

No items found using the specified filter.