Skip to content

Merge branch 'main' into cc/standalone-activity-tracing

0e7a4f4
Select commit
Loading
Failed to load commit list.
Sign in for the full log view
Open

feat(otel): add otel tracing for standalone activities. #647

Merge branch 'main' into cc/standalone-activity-tracing
0e7a4f4
Select commit
Loading
Failed to load commit list.
GitHub Actions / Test Results (ubuntu-arm) succeeded May 1, 2026 in 0s

453 passed, 0 failed and 9 skipped

Tests passed successfully

Expand for details
Report Passed Failed Skipped Time
test-results_net10.0_20260501155528.trx 453 ✅ 9 ⚪ 164s

✅ test-results_net10.0_20260501155528.trx

462 tests were completed in 164s with 453 passed, 0 failed and 9 skipped.

Test suite Passed Failed Skipped Time
Temporalio.Tests.Activities.ActivityDefinitionTests 23 ✅ 36ms
Temporalio.Tests.Client.TemporalClientActivityTests 12 ✅ 451ms
Temporalio.Tests.Client.TemporalClientScheduleTests 4 ✅ 2s
Temporalio.Tests.Client.TemporalClientTaskQueueTests 1 ✅ 750ms
Temporalio.Tests.Client.TemporalClientTests 3 ✅ 581ms
Temporalio.Tests.Client.TemporalClientWorkflowTests 13 ✅ 3s
Temporalio.Tests.Client.TemporalCloudOperationsClientTests 1 ⚪ 1ms
Temporalio.Tests.Client.TemporalConnectionOptionsTests 10 ✅ 31ms
Temporalio.Tests.Client.WorkflowHandleTests 12 ✅ 1 ⚪ 3s
Temporalio.Tests.Common.DeterministicRandomTests 1 ✅ 18ms
Temporalio.Tests.Common.EnvConfig.ClientConfigTests 40 ✅ 396ms
Temporalio.Tests.Common.ExpressionUtilTests 1 ✅ 14ms
Temporalio.Tests.Common.PluginTests 7 ✅ 529ms
Temporalio.Tests.Common.WorkflowHistoryTests 2 ✅ 407ms
Temporalio.Tests.Converters.DataConverterTests 1 ✅ 1ms
Temporalio.Tests.Converters.FailureConverterTests 7 ✅ 244ms
Temporalio.Tests.Converters.PayloadCodecTests 1 ✅ 60ms
Temporalio.Tests.Converters.PayloadConverterTests 3 ✅ 39ms
Temporalio.Tests.Extensions.DiagnosticSource.CustomMetricMeterTests 7 ✅ 800ms
Temporalio.Tests.Extensions.Hosting.ActivityScopeTests 1 ✅ 152ms
Temporalio.Tests.Extensions.Hosting.NexusWorkerServiceTests 9 ✅ 2s
Temporalio.Tests.Extensions.Hosting.TemporalWorkerServiceTests 5 ✅ 1 ⚪ 4s
Temporalio.Tests.Extensions.OpenTelemetry.TracingInterceptorTests 8 ✅ 7s
Temporalio.Tests.GeneralTests 1 ✅ 225ms
Temporalio.Tests.Nexus.NexusWorkflowRunHandleTests 10 ✅ 57ms
Temporalio.Tests.Runtime.TemporalRuntimeTests 6 ✅ 681ms
Temporalio.Tests.Testing.ActivityEnvironmentTests 1 ✅ 23ms
Temporalio.Tests.Testing.WorkflowEnvironmentTests 1 ✅ 5 ⚪ 15s
Temporalio.Tests.Worker.ActivityWorkerTests 35 ✅ 12s
Temporalio.Tests.Worker.GeneralWorkerTests 1 ✅ 8ms
Temporalio.Tests.Worker.NexusWorkerTests 32 ✅ 13s
Temporalio.Tests.Worker.WorkerDeploymentVersioningTests 11 ✅ 15s
Temporalio.Tests.Worker.WorkerTuningTests 8 ✅ 2s
Temporalio.Tests.Worker.WorkflowCodecHelperTests 4 ✅ 234ms
Temporalio.Tests.Worker.WorkflowReplayerTests 7 ✅ 826ms
Temporalio.Tests.Worker.WorkflowWorkerTests 129 ✅ 1 ⚪ 82s
Temporalio.Tests.Workflows.WorkflowDefinitionTests 35 ✅ 93ms
Temporalio.Tests.Workflows.WorkflowTests 1 ✅ 8ms

✅ Temporalio.Tests.Activities.ActivityDefinitionTests

✅ Create_DefaultNameOnGeneric_ProperlyNamed
✅ Create_DefaultNameOnLambda_Throws
✅ Create_DefaultNameWithAsync_RemovesAsyncSuffix
✅ Create_DynamicInvalidArgs_Throws
✅ Create_Lambda_Succeeds
✅ Create_LocalFunctionDefaultNames_AreAccurate
✅ Create_MissingAttribute_Throws
✅ Create_NameOnDynamic_Throws
✅ Create_RefParameter_Throws
✅ Create_With_Reserved_Name_Throws
✅ Create_WithDelegate_HasValidMethodInfo
✅ Create_WithLambda_DoesNotHaveValidMethodInfo
✅ Create_WithMethodInfo_HasValidMethodInfo
✅ CreateAll_ClassOfActivities_CanInvoke
✅ CreateAll_ClassOfStaticActivities_CanInvoke
✅ CreateAll_ClassWithoutActivities_Throws
✅ CreateAll_ClassWithoutInstance_Throws
✅ CreateAll_ClosedGeneric_CanInvoke
✅ CreateAll_OpenGeneric_Throws
✅ InvokeAsync_AsyncDelegate_CanInvoke
✅ InvokeAsync_Delegate_CanInvoke
✅ InvokeAsync_DelegateWithDefaultParameter_CanInvoke
✅ InvokeAsync_ManualInvoker_IsCalled

✅ Temporalio.Tests.Client.TemporalClientActivityTests

✅ CancelAsync_RunningActivity_Succeeds
✅ DescribeAsync_RunningAndTerminated_IsAccurate
✅ DescribeAsync_UserMetadata_IsAccurate
✅ ExecuteActivityAsync_ByName_Succeeds
✅ ExecuteActivityAsync_SimpleWithResult_Succeeds
✅ ExecuteActivityAsync_VoidResult_Succeeds
✅ ExecuteActivityAsync_WorkerActivityInfo_IsAccurate
✅ GetActivityHandle_ExistingActivity_Succeeds
✅ ListActivitiesAsync_SimpleList_IsAccurate
✅ StartActivityAsync_AlreadyStarted_Throws
✅ StartActivityAsync_IdReusePolicyRejectDuplicate_Throws
✅ StartActivityAsync_Interceptors_AreCalledProperly

✅ Temporalio.Tests.Client.TemporalClientScheduleTests

✅ CreateScheduleAsync_Backfill_CreatesProperActions
✅ CreateScheduleAsync_Basics_Succeeds
✅ CreateScheduleAsync_CalendarSpecDefaults_AreProper
✅ CreateScheduleAsync_TriggerImmediately_Succeeds

✅ Temporalio.Tests.Client.TemporalClientTaskQueueTests

✅ BasicSeriesOfUpdates_Succeeds

✅ Temporalio.Tests.Client.TemporalClientTests

✅ ConnectAsync_Connection_AllGrpcCallsSupported
✅ ConnectAsync_Connection_Succeeds
✅ CreateLazy_Connection_NotConnectedUntilCallMade

✅ Temporalio.Tests.Client.TemporalClientWorkflowTests

✅ CountWorkflowsAsync_SimpleCount_IsAccurate
✅ ListWorkflowsAsync_ManualPaging_IsAccurate
✅ ListWorkflowsAsync_RunWithHistoryFetch_IsAccurate
✅ StartWorkflowAsync_AlreadyExists_Throws
✅ StartWorkflowAsync_AlreadyExistsCompletedIdReusePolicy_Throws
✅ StartWorkflowAsync_Interceptors_AreCalledProperly
✅ StartWorkflowAsync_ManualReturnType_Succeeds
✅ StartWorkflowAsync_RetryPolicy_IsUsed
✅ StartWorkflowAsync_ReturnObject_Succeeds
✅ StartWorkflowAsync_SearchAttributesAndMemo_AreSetProperly
✅ StartWorkflowAsync_SignalWithStartDelay_WaitsProperly
✅ StartWorkflowAsync_StartDelay_WaitsProperly
✅ StartWorkflowAsync_StartSignal_Succeeds

✅ Temporalio.Tests.Client.TemporalCloudOperationsClientTests

⚪ ConnectAsync_SimpleCall_Succeeds

✅ Temporalio.Tests.Client.TemporalConnectionOptionsTests

✅ ToInteropOptions_AutoEnablesTls_WhenApiKeyProvidedAndTlsNotSet
✅ ToInteropOptions_Metadata_Empty
✅ ToInteropOptions_Metadata_NotSet
✅ ToInteropOptions_Metadata_Some
✅ ToInteropOptions_RpcBinaryMetadata_Empty
✅ ToInteropOptions_RpcBinaryMetadata_NotSet
✅ ToInteropOptions_RpcBinaryMetadata_Some
✅ ToInteropOptions_TlsDisabled_WhenExplicitlyDisabledWithApiKey
✅ ToInteropOptions_TlsDisabled_WhenNoApiKeyAndTlsNotSet
✅ ToInteropOptions_TlsEnabled_WhenExplicitlySet

✅ Temporalio.Tests.Client.WorkflowHandleTests

✅ CancelAsync_Simple_ThrowsProperException
✅ DescribeAsync_Simple_HasProperValues
✅ GetResultAsync_BenignFailure_Throws
✅ GetResultAsync_CancellationToken_Throws
✅ GetResultAsync_ContinueAsNew_ProperlyFollowed
✅ GetResultAsync_Failure_Throws
✅ GetResultAsync_NotFoundWorkflow_Throws
⚪ GetResultAsync_Timeout_Throws
✅ QueryAsync_Rejection_Throws
✅ QueryAsync_Simple_Succeeds
✅ QueryAsync_WorkerFailure_Throws
✅ SignalAsync_Simple_Succeeds
✅ TerminateAsync_Simple_ThrowsProperException

✅ Temporalio.Tests.Common.DeterministicRandomTests

✅ DeterministicRandom_RandomCalls_AreDeterministic

✅ Temporalio.Tests.Common.EnvConfig.ClientConfigTests

✅ ClientConfigLoadClientConnectConfigWorksWithFilePathAndEnvOverrides
✅ DefaultProfileNotFoundReturnsEmptyProfile
✅ GrpcMetadataDeletionViaEmptyEnvValue
✅ GrpcMetadataNormalizationFromToml
✅ Test_Client_Config_Profile_To_From_Dict
✅ Test_Client_Config_To_From_Dict
✅ Test_Disables_Raise_Error
✅ Test_E2e_Basic_Development_Profile_Client_Connection
✅ Test_E2e_Environment_Overrides_Client_Connection
✅ Test_E2e_Multi_Profile_Different_Client_Connections
✅ Test_E2e_Production_Tls_Api_Key_Client_Connection
✅ Test_Load_Client_Connect_Config
✅ Test_Load_Profile_Api_Key_Enables_Tls
✅ Test_Load_Profile_Conflicting_Cert_Source_Fails
✅ Test_Load_Profile_Disable_Env
✅ Test_Load_Profile_Disable_File
✅ Test_Load_Profile_Env_Overrides
✅ Test_Load_Profile_From_Data_Custom
✅ Test_Load_Profile_From_Data_Default
✅ Test_Load_Profile_From_Data_Env_Overrides
✅ Test_Load_Profile_From_File_Custom
✅ Test_Load_Profile_From_File_Default
✅ Test_Load_Profile_Grpc_Meta_Env_Overrides
✅ Test_Load_Profile_Not_Found
✅ Test_Load_Profile_Strict_Mode_Fail
✅ Test_Load_Profile_Tls_Client_Key_Fallback
✅ Test_Load_Profile_Tls_From_Paths
✅ Test_Load_Profile_Tls_Options
✅ Test_Load_Profiles_Discovery
✅ Test_Load_Profiles_From_Data_All
✅ Test_Load_Profiles_From_Data_Malformed
✅ Test_Load_Profiles_From_File_All
✅ Test_Load_Profiles_No_Config_File
✅ Test_Load_Profiles_No_Env_Override
✅ Test_Load_Profiles_Strict_Mode_Fail
✅ Test_Profile_Null_Address_Preserves_Null_In_Connection_Options
✅ Test_Read_Source_From_String_Content
✅ Test_Tls_Disabled_Tri_State_Behavior
✅ TlsConflictAcrossSourcesDataInTomlPathInEnvShouldError
✅ TlsConflictAcrossSourcesPathInTomlDataInEnvShouldError

✅ Temporalio.Tests.Common.ExpressionUtilTests

✅ ExtractTree_DifferentCallExpressions_ExtractProperly

✅ Temporalio.Tests.Common.PluginTests

✅ TestClientPlugin
✅ TestClientPlugin_Connect_Interceptor
✅ TestSimplePlugin_Basic
✅ TestSimplePlugin_Function
✅ TestSimplePlugin_RunContext
✅ TestWorkerPlugin
✅ TestWorkerPlugin_Inheritance

✅ Temporalio.Tests.Common.WorkflowHistoryTests

✅ FromJson_InvalidEnums_GetFixed
✅ FromJson_UnknownField

✅ Temporalio.Tests.Converters.DataConverterTests

✅ NewDataConverter_WithPayloadConverter_ProperlyInitializes

✅ Temporalio.Tests.Converters.FailureConverterTests

✅ ToFailure_Common_Succeeds
✅ ToFailure_EncodedAttributes_Succeeds
✅ ToFailure_HandlerException_FreshError_ProducesNexusHandlerFailureInfo
✅ ToFailure_HandlerException_FreshError_RoundTripsViaToException
✅ ToFailure_HandlerException_RetryableAppFailure_SetsRetryable
✅ ToFailure_HandlerException_WithOriginalFailure_AppliesEncodeCommonAttributes
✅ ToFailure_HandlerException_WithOriginalFailure_RoundTripsCorrectly

✅ Temporalio.Tests.Converters.PayloadCodecTests

✅ EncodeFailureAsync_Common_Succeeds

✅ Temporalio.Tests.Converters.PayloadConverterTests

✅ ToPayload_Common_Fails
✅ ToPayload_Common_Succeeds
✅ ToValue_WrongProtoType_Fails

✅ Temporalio.Tests.Extensions.DiagnosticSource.CustomMetricMeterTests

✅ CustomMetricMeter_CustomMetricGauge_GroupsProperly
✅ CustomMetricMeter_Workflow_CanDisableTracing(disableTracing: False)
✅ CustomMetricMeter_Workflow_CanDisableTracing(disableTracing: True)
✅ CustomMetricMeter_Workflow_FloatsAndDurations(durationFormat: FloatSeconds)
✅ CustomMetricMeter_Workflow_FloatsAndDurations(durationFormat: IntegerMilliseconds)
✅ CustomMetricMeter_Workflow_FloatsAndDurations(durationFormat: TimeSpan)
✅ CustomMetricMeter_Workflow_RecordsProperly

✅ Temporalio.Tests.Extensions.Hosting.ActivityScopeTests

✅ ActivityScope_CustomInstance_IsAccessible

✅ Temporalio.Tests.Extensions.Hosting.NexusWorkerServiceTests

✅ NexusWorkerService_ScopedNexusService_ScopedDependency
✅ NexusWorkerService_ScopedNexusService_SingletonDependency
✅ NexusWorkerService_ScopedNexusService_TransientDependency
✅ NexusWorkerService_SingletonNexusService_ScopedDependency
✅ NexusWorkerService_SingletonNexusService_SingletonDependency
✅ NexusWorkerService_SingletonNexusService_TransientDependency
✅ NexusWorkerService_TransientNexusService_ScopedDependency
✅ NexusWorkerService_TransientNexusService_SingletonDependency
✅ NexusWorkerService_TransientNexusService_TransientDependency

✅ Temporalio.Tests.Extensions.Hosting.TemporalWorkerServiceTests

✅ TemporalWorkerService_ExecuteAsync_DuplicateQueue
✅ TemporalWorkerService_ExecuteAsync_MultipleDeploymentVersionsSameQueue
⚪ TemporalWorkerService_ExecuteAsync_MultipleVersionsSameQueue
✅ TemporalWorkerService_ExecuteAsync_MultipleWorkers
✅ TemporalWorkerService_ExecuteAsync_SimpleWorker
✅ TemporalWorkerService_WorkerClientReplacement_UsesNewClient

✅ Temporalio.Tests.Extensions.OpenTelemetry.TracingInterceptorTests

✅ TracingInterceptor_BenignExceptions_DoNotHaveErrorStatus
✅ TracingInterceptor_CommonCalls_HaveProperSpans
✅ TracingInterceptor_Nexus_HasTracing
✅ TracingInterceptor_ProperFailures_HaveProperSpans
✅ TracingInterceptor_SignalWithStart_HaveProperSpans
✅ TracingInterceptor_StandaloneActivity_HasProperSpans
✅ TracingInterceptor_TaskFailures_HaveProperSpans
✅ TracingInterceptor_UpdateWithStart_HaveProperSpans

✅ Temporalio.Tests.GeneralTests

✅ CloneableTypes_InstantiateAndClone_Succeeds

✅ Temporalio.Tests.Nexus.NexusWorkflowRunHandleTests

✅ CrossSdkCompatibility_PythonToken
✅ FromToken_AcceptsVersionNull
✅ FromToken_AcceptsVersionZero
✅ FromToken_RejectsInvalidBase64
✅ FromToken_RejectsInvalidJson
✅ FromToken_RejectsUnsupportedVersion
✅ ToToken_JsonUsesCorrectKeys
✅ ToToken_RoundTrips
✅ ToToken_SpecialCharactersInValues_RoundTrips
✅ ToToken_UsesBase64Url_NoPadding

✅ Temporalio.Tests.Runtime.TemporalRuntimeTests

✅ Runtime_CustomMetricMeter_WorksProperly
✅ Runtime_HistogramBucketOverrides_WorksProperly
✅ Runtime_LogForwarding_ForwardsProperly
✅ Runtime_NoMetricMeter_WorksProperly
✅ Runtime_ReadJsonObjectToRawValues_ParsesProperly
✅ Runtime_Separate_BothUsed

✅ Temporalio.Tests.Testing.ActivityEnvironmentTests

✅ RunAsync_SimpleActivity_Succeeds

✅ Temporalio.Tests.Testing.WorkflowEnvironmentTests

✅ StartLocal_SearchAttributes_ProperlyRegistered
⚪ StartTimeSkippingAsync_AutoTimeSkippingDisabled_RestoresAfterCall
⚪ StartTimeSkippingAsync_AutoTimeSkippingDisabled_SleepsFullTime
⚪ StartTimeSkippingAsync_MissesHeartbeatTimeout_TimesOut
⚪ StartTimeSkippingAsync_SlowWorkflowAutoSkip_ProperlySkips
⚪ StartTimeSkippingAsync_SlowWorkflowManualSkip_ProperlySkips

✅ Temporalio.Tests.Worker.ActivityWorkerTests

✅ ExecuteActivityAsync_AsyncCompletion_Succeeds
✅ ExecuteActivityAsync_AsyncCompletionCancel_ReportsCancel
✅ ExecuteActivityAsync_AsyncCompletionHeartbeatAndFail_ProperlyRecorded
✅ ExecuteActivityAsync_AsyncCompletionStartToCloseTimeout_ReportsCancel
✅ ExecuteActivityAsync_BackgroundThreadHeartbeat_Received
✅ ExecuteActivityAsync_BadParamConversion_ReportsFailure
✅ ExecuteActivityAsync_CalledWithoutDefaultParams_UsesDefaults
✅ ExecuteActivityAsync_CalledWithTooFewParams_ReportsFailure
✅ ExecuteActivityAsync_CalledWithTooManyParams_IgnoresExtra
✅ ExecuteActivityAsync_CaughtCancel_Succeeds
✅ ExecuteActivityAsync_CaughtPause_Succeeds
✅ ExecuteActivityAsync_CaughtReset
✅ ExecuteActivityAsync_CheckInfo_IsAccurate
✅ ExecuteActivityAsync_HeartbeatDetailsAfterFailure_ProperlyRecorded
✅ ExecuteActivityAsync_HeartbeatDetailsConversionFailure_ReportsFailure
✅ ExecuteActivityAsync_HeartbeatTimeout_ReportsFailure
✅ ExecuteActivityAsync_ManualDefinition_Succeeds
✅ ExecuteActivityAsync_MaxConcurrent_TimesOutIfMore
✅ ExecuteActivityAsync_SentCancel_ReportsCancel
✅ ExecuteActivityAsync_SimpleAsyncMethod_Succeeds
✅ ExecuteActivityAsync_SimpleAsyncVoidMethod_Succeeds
✅ ExecuteActivityAsync_SimpleGenericMethod_Succeeds
✅ ExecuteActivityAsync_SimpleInstanceMethod_Succeeds
✅ ExecuteActivityAsync_SimpleLambda_Succeeds
✅ ExecuteActivityAsync_SimpleStaticMethod_Succeeds
✅ ExecuteActivityAsync_SimpleVoidMethod_Succeeds
✅ ExecuteActivityAsync_ThrowApplicationFailureException_ReportsFailure
✅ ExecuteActivityAsync_ThrowCommonException_ReportsFailure
✅ ExecuteActivityAsync_ThrowsOperationCanceled_ReportsFailure
✅ ExecuteActivityAsync_UncaughtPause_Fails
✅ ExecuteActivityAsync_UnknownActivity_ReportsFailure
✅ ExecuteActivityAsync_UseTemporalClient_Succeeds
✅ ExecuteActivityAsync_WorkerShutdown_ReportsFailure
✅ ExecuteAsync_PollFailure_ShutsDownWorker
✅ New_DuplicateActivityNames_Throws

✅ Temporalio.Tests.Worker.GeneralWorkerTests

✅ ExecuteAsync_PropagatesException

✅ Temporalio.Tests.Worker.NexusWorkerTests

✅ ExecuteNexusOperationAsync_ApplicationFailure_NonRetryable
✅ ExecuteNexusOperationAsync_BadArgs_FailsOperation
✅ ExecuteNexusOperationAsync_BadService_FailsRegistration
✅ ExecuteNexusOperationAsync_CancelAbandon_ProperlyCancels
✅ ExecuteNexusOperationAsync_CancelTryCancel_ProperlyCancels
✅ ExecuteNexusOperationAsync_CancelWaitCompleted_ProperlyCancels
✅ ExecuteNexusOperationAsync_CancelWaitRequested_ProperlyCancels
✅ ExecuteNexusOperationAsync_CancelWaitRequested_ProperlyFails
✅ ExecuteNexusOperationAsync_CodecFailure_IsRetried
✅ ExecuteNexusOperationAsync_ContextHasEndpoint
✅ ExecuteNexusOperationAsync_ConverterFailure_IsNotRetried
✅ ExecuteNexusOperationAsync_HandlerException_ProperlyFails
✅ ExecuteNexusOperationAsync_InputManip_Succeeds
✅ ExecuteNexusOperationAsync_Interceptor_Reached
✅ ExecuteNexusOperationAsync_ManualDefinition_Succeeds
✅ ExecuteNexusOperationAsync_OperationException_ProperlyFails
✅ ExecuteNexusOperationAsync_OperationExceptionCanceled_ProperlyFails
✅ ExecuteNexusOperationAsync_OperationExceptionCanceledWithCause_PreservesCauseChain
✅ ExecuteNexusOperationAsync_OperationExceptionWithCause_PreservesCauseChain
✅ ExecuteNexusOperationAsync_OperationNotFound_ProperlyFails
✅ ExecuteNexusOperationAsync_OperationSummary_FoundInHistory
✅ ExecuteNexusOperationAsync_RequestDeadline_SetOnContext
✅ ExecuteNexusOperationAsync_ScheduleToStartTimeout_FailsAsExpected
✅ ExecuteNexusOperationAsync_ServiceNotFound_ProperlyFails
✅ ExecuteNexusOperationAsync_SimpleService_Succeeds
✅ ExecuteNexusOperationAsync_SimpleWorkflow_ConflictPolicy
✅ ExecuteNexusOperationAsync_SimpleWorkflow_Succeeds
✅ ExecuteNexusOperationAsync_StartToCloseTimeout_FailsAsExpected
✅ ExecuteNexusOperationAsync_SyncTimeout_FailsAsExpected
✅ ExecuteNexusOperationAsync_Untyped_Succeeds
✅ ExecuteNexusOperationAsync_VoidTypes_Succeeds
✅ ExecuteNexusOperationAsync_WaitForeverWorkflow_CanBeCanceled

✅ Temporalio.Tests.Worker.WorkerDeploymentVersioningTests

✅ CannotUseOldAndNewVersioningOptionsTogether
✅ ContinueAsNew_WithVersionUpgrade_MovesToNewVersion
✅ RejectsVersioningBehavior_WhenVersioningOff
✅ WorkerDeployment_DynamicWorkflow_OnDefinition
✅ WorkerDeployment_DynamicWorkflow_OnMethod
✅ WorkerDeploymentRamp_ChangesTaskDistribution
✅ WorkerWithDeploymentOptions_FollowsVersioningBehavior
✅ WorkerWithDeploymentOptions_VersioningOff_CanRunWorkflows
✅ WorkflowsCanUseDefaultVersioningBehavior
✅ WorkflowsCanUseVersioningOverride
✅ WorkflowsMustHaveVersioningBehavior_WhenFeatureTurnedOn

✅ Temporalio.Tests.Worker.WorkerTuningTests

✅ Cannot_Mix_MaxConcurrent_And_Tuner
✅ Cannot_Supply_Different_TunerOptions
✅ CanRunWith_BlockingSlotSupplier
✅ CanRunWith_CompositeTuner
✅ CanRunWith_CustomSlotSupplier_WithNexus
✅ CanRunWith_CustomSlotSupplier_WithoutNexus
✅ CanRunWith_ResourceBasedTuner
✅ CanRunWith_ThrowingSlotSupplier

✅ Temporalio.Tests.Worker.WorkflowCodecHelperTests

✅ CreateAndVisitPayload_Visiting_ReachesAllExpectedValues
✅ DecodeAsync_AllPayloads_DecodesAll
✅ EncodeAsync_AllPayloads_EncodesAll
✅ EncodeAsync_AllPayloads_WorksWithNull

✅ Temporalio.Tests.Worker.WorkflowReplayerTests

✅ ReplayWorkflowAsync_FailedRun_Succeeds
✅ ReplayWorkflowAsync_IncompleteRun_Succeeds
✅ ReplayWorkflowAsync_MultipleHistories_WorksProperly
✅ ReplayWorkflowAsync_NonDeterministicRun_Fails
✅ ReplayWorkflowAsync_NonDeterministicRunFromJson_Fails
✅ ReplayWorkflowAsync_SimpleRun_Succeeds
✅ ReplayWorkflowAsync_SimpleRunFromJson_Succeeds

✅ Temporalio.Tests.Worker.WorkflowWorkerTests

✅ ExecuteAsync_InvalidWorker_Fails
✅ ExecuteWorkflowAsync_ActivityFailToFail_ProperlyHandled
✅ ExecuteWorkflowAsync_AlreadyStartedChild_FailsProperly
✅ ExecuteWorkflowAsync_Assert_FailsWorkflow
✅ ExecuteWorkflowAsync_BadInput_CanFailWorkflow
✅ ExecuteWorkflowAsync_BadSignalArgs_ProperlyDropped
✅ ExecuteWorkflowAsync_Cancel_ProperlyCanceled
✅ ExecuteWorkflowAsync_Cancel_ProperlyIgnored
✅ ExecuteWorkflowAsync_CancelActivity_Cancels(local: False)
✅ ExecuteWorkflowAsync_CancelActivity_Cancels(local: True)
✅ ExecuteWorkflowAsync_CancelChild_Cancels
✅ ExecuteWorkflowAsync_ChildWorkflowAlreadyExists_ErrorsProperly
✅ ExecuteWorkflowAsync_ChildWorkflowSearchAttributes_SetProperly
✅ ExecuteWorkflowAsync_ConditionBounce_ProperlyReschedules
✅ ExecuteWorkflowAsync_ContinueAsNew_ProperlyContinues
✅ ExecuteWorkflowAsync_ContinueAsNewSearchAttributes_SetProperly
✅ ExecuteWorkflowAsync_ConverterContext_ProperlyAvailable
✅ ExecuteWorkflowAsync_CurrentBuildId_SetProperly
✅ ExecuteWorkflowAsync_CurrentUpdate_HasInfo
✅ ExecuteWorkflowAsync_CustomMetrics_FloatsAndDurations
✅ ExecuteWorkflowAsync_CustomMetrics_WorksWithCustomMeter
✅ ExecuteWorkflowAsync_CustomMetrics_WorksWithPrometheus
✅ ExecuteWorkflowAsync_Deadlock_ProperlyFails
✅ ExecuteWorkflowAsync_DefaultParam_Succeeds
✅ ExecuteWorkflowAsync_DetachedCancellation_WorksProperly
✅ ExecuteWorkflowAsync_DuplicateActivity_DoesNotCacheInstance
✅ ExecuteWorkflowAsync_Dynamic_CalledProperly
✅ ExecuteWorkflowAsync_DynamicHandlers_AddedRemovedProperly
✅ ExecuteWorkflowAsync_External_SignalAndCancelSucceed
✅ ExecuteWorkflowAsync_FailureTypes_Configured
✅ ExecuteWorkflowAsync_FailureTypes_MultipleNonDetWithNewlines
✅ ExecuteWorkflowAsync_HeadersWithCodec_EncodedProperly
✅ ExecuteWorkflowAsync_HistoryInfo_IsAccurate
✅ ExecuteWorkflowAsync_IdConflictPolicy_ProperlyApplies
✅ ExecuteWorkflowAsync_Info_Succeeds
✅ ExecuteWorkflowAsync_Instance_VisibleToHelpers
✅ ExecuteWorkflowAsync_Interface_Succeeds
✅ ExecuteWorkflowAsync_LastFailure_ProperlyPresent
✅ ExecuteWorkflowAsync_LastResult_ProperlyPresent
✅ ExecuteWorkflowAsync_LocalActivityBackoffWithCodecHeaders_Succeeds
✅ ExecuteWorkflowAsync_LocalActivityMissing
✅ ExecuteWorkflowAsync_LocalActivityMissing_Dynamic
✅ ExecuteWorkflowAsync_LocalActivityMissing_NoActivities
✅ ExecuteWorkflowAsync_ManualDefinition_Succeeds
✅ ExecuteWorkflowAsync_Memo_ProperlyUpserted
✅ ExecuteWorkflowAsync_MiscHelpers_Succeed
✅ ExecuteWorkflowAsync_MultiComplete_ProcessesProperly
✅ ExecuteWorkflowAsync_MultiParam_Succeeds
✅ ExecuteWorkflowAsync_MultiSignalOrder_ProperlyProcessesSignals
✅ ExecuteWorkflowAsync_MultiSignalOrderPreSdkFlag_ImproperlyProcessesSignals
✅ ExecuteWorkflowAsync_MultiWaitCondition_OnlyResolvesOneAtATime
✅ ExecuteWorkflowAsync_MultiWaitConditionPreSdkFlag_ImproperlyProcessesConditions
✅ ExecuteWorkflowAsync_Mutex_MultipleWaiters
✅ ExecuteWorkflowAsync_NextRetryDelay_SetOnError
✅ ExecuteWorkflowAsync_NullWithCodec_EncodedProperly
✅ ExecuteWorkflowAsync_Patched_ProperlyHandled
✅ ExecuteWorkflowAsync_PatchSearchAttribute_ReturnsProperly
✅ ExecuteWorkflowAsync_PayloadMissing_StillWorks
✅ ExecuteWorkflowAsync_PollingBehavior_Autoscaling
✅ ExecuteWorkflowAsync_PrematureDispose_WorkflowCompletes
✅ ExecuteWorkflowAsync_Priorities_HandlesPriorityProperly
✅ ExecuteWorkflowAsync_Properties_ProperlySupported
✅ ExecuteWorkflowAsync_Queries_ProperlyHandled
✅ ExecuteWorkflowAsync_RawValue_ConvertsProperly
✅ ExecuteWorkflowAsync_Record_Succeeds
✅ ExecuteWorkflowAsync_SearchAttributes_ProperlyUpserted
✅ ExecuteWorkflowAsync_Semaphore_Cancellation(useWorkflowCancellation: False)
⚪ ExecuteWorkflowAsync_Semaphore_Cancellation(useWorkflowCancellation: True)
✅ ExecuteWorkflowAsync_Semaphore_MultipleWaiters
✅ ExecuteWorkflowAsync_Semaphore_Timeout(timeoutMs: 0, useTimeoutMs: False)
✅ ExecuteWorkflowAsync_Semaphore_Timeout(timeoutMs: 0, useTimeoutMs: True)
✅ ExecuteWorkflowAsync_Semaphore_Timeout(timeoutMs: 100, useTimeoutMs: False)
✅ ExecuteWorkflowAsync_Semaphore_Timeout(timeoutMs: 100, useTimeoutMs: True)
✅ ExecuteWorkflowAsync_SignalChild_SignalsProperly
✅ ExecuteWorkflowAsync_Signals_ProperlyHandled
✅ ExecuteWorkflowAsync_Signals_SignalWithStart
✅ ExecuteWorkflowAsync_SignalsSameTask_ExecuteBeforeMain
✅ ExecuteWorkflowAsync_Simple_Succeeds
✅ ExecuteWorkflowAsync_SimpleActivity_ExecutesProperly(local: False)
✅ ExecuteWorkflowAsync_SimpleActivity_ExecutesProperly(local: True)
✅ ExecuteWorkflowAsync_SimpleChild_ExecutesProperly
✅ ExecuteWorkflowAsync_StackTrace_FailsWhenDisabled
✅ ExecuteWorkflowAsync_StackTrace_ReportedProperlyWhenEnabled
✅ ExecuteWorkflowAsync_StandardLibraryCalls_FailsTaskWhenInvalid
✅ ExecuteWorkflowAsync_StandardLibraryCalls_SucceedWhenValid
✅ ExecuteWorkflowAsync_StartCompleteSameTask_ChildWorks
✅ ExecuteWorkflowAsync_StdlibSemaphore_AsyncSlimWorks
✅ ExecuteWorkflowAsync_StdlibSemaphore_NonAsyncDeadlocks
✅ ExecuteWorkflowAsync_Struct_Succeeds
✅ ExecuteWorkflowAsync_TaskEvents_AreRecordedProperly
✅ ExecuteWorkflowAsync_TimeoutActivity_TimesOut(local: False)
✅ ExecuteWorkflowAsync_TimeoutActivity_TimesOut(local: True)
✅ ExecuteWorkflowAsync_TimeoutChild_TimesOut
✅ ExecuteWorkflowAsync_Timer_Succeeds
✅ ExecuteWorkflowAsync_TimerCancelAfter_ProperlyCanceled
✅ ExecuteWorkflowAsync_TimerCancelBefore_ProperlyCanceled
✅ ExecuteWorkflowAsync_TimerInfinite_NeverCreatesTask
✅ ExecuteWorkflowAsync_TimerNegative_FailsTask
✅ ExecuteWorkflowAsync_TimerZero_LikeOneMillisecond
✅ ExecuteWorkflowAsync_UnfinishedHandlers_WarnProperly(finish: Cancel)
✅ ExecuteWorkflowAsync_UnfinishedHandlers_WarnProperly(finish: Fail)
✅ ExecuteWorkflowAsync_UnfinishedHandlers_WarnProperly(finish: Succeed)
✅ ExecuteWorkflowAsync_UnknownWorkflow_ProperlyFails
✅ ExecuteWorkflowAsync_UpdateAfterComplete_ProcessesProperly
✅ ExecuteWorkflowAsync_UpdateLog_LogsContext
✅ ExecuteWorkflowAsync_Updates_AllOverloadsWork
✅ ExecuteWorkflowAsync_Updates_BadResultSerialization
✅ ExecuteWorkflowAsync_Updates_BeforeWorkflowStart
✅ ExecuteWorkflowAsync_Updates_CancelWhileUpdating
✅ ExecuteWorkflowAsync_Updates_ClientCanceled
✅ ExecuteWorkflowAsync_Updates_ClientTimedOut
✅ ExecuteWorkflowAsync_Updates_DuplicateMemoized
✅ ExecuteWorkflowAsync_Updates_ExceptionsHandledProperly
✅ ExecuteWorkflowAsync_Updates_RejectsWithNoValidatorOnBadArgument
✅ ExecuteWorkflowAsync_Updates_TerminateWhileUpdating
✅ ExecuteWorkflowAsync_Updates_ValidatorCreatesCommands
✅ ExecuteWorkflowAsync_UpdateWithStart_Cancellation
✅ ExecuteWorkflowAsync_UpdateWithStart_Simple
✅ ExecuteWorkflowAsync_UpdateWithStart_UpdateFailure
✅ ExecuteWorkflowAsync_UserMetadata_PropagatedProperly
✅ ExecuteWorkflowAsync_WaitCondition_Succeeds
✅ ExecuteWorkflowAsync_WaitConditionCallingWorkflow_WorksProperly
✅ ExecuteWorkflowAsync_WaitConditionExceptionWorkflow_WorksProperly
✅ ExecuteWorkflowAsync_WaitConditionManualCancel_ProperlyCancels
✅ ExecuteWorkflowAsync_WaitConditionTimeout_ProperlyTimesOut
✅ ExecuteWorkflowAsync_WaitConditionWorkflowCancel_ProperlyCancels
✅ ExecuteWorkflowAsync_WorkerClientReplacement_UsesNewClient
✅ ExecuteWorkflowAsync_WorkflowInit_Succeeds
✅ ExecuteWorkflowAsync_WorkflowInitNoParams_Succeeds
✅ ExecuteWorkflowAsync_WorkflowMetadata_HasProperValues

✅ Temporalio.Tests.Workflows.WorkflowDefinitionTests

✅ Create_AdvancedOverrides_Ok
✅ Create_BadDynamic_Throws
✅ Create_BadUpdates_Throws
✅ Create_Generics_Throws
✅ Create_InitAttributeOnMultiple_Throws
✅ Create_InitAttributeOnNonPublic_Throws
✅ Create_InterfaceTypeDefaultName_RemovesPrefixedI
✅ Create_NoWorkflowAttribute_Throws
✅ Create_QueryAttributeCustomNameOnMultiple_Throws
✅ Create_QueryAttributeNotOnOverride_Throws
✅ Create_QueryAttributeOnMultiple_Throws
✅ Create_QueryAttributeOnNonPublic_Throws
✅ Create_QueryAttributeOnProtectedProperty_Throws
✅ Create_QueryAttributeOnStatic_Throws
✅ Create_QueryAttributeOnStaticProperty_Throws
✅ Create_QueryAttributeReturnTask_Throws
✅ Create_QueryAttributeVoid_Throws
✅ Create_RunAttributeInitAttributeParamMismatch_Throws
✅ Create_RunAttributeMissing_Throws
✅ Create_RunAttributeNonReturnTask_Throws
✅ Create_RunAttributeOnMultiple_Throws
✅ Create_RunAttributeOnNonPublic_Throws
✅ Create_RunAttributeOnStatic_Throws
✅ Create_RunMethodOnBaseClassOnly_Throws
✅ Create_SignalAttributeCustomNameOnMultiple_Throws
✅ Create_SignalAttributeDefaultNameWithAsync_RemovesAsync
✅ Create_SignalAttributeNonReturnTask_Throws
✅ Create_SignalAttributeNotOnOverride_Throws
✅ Create_SignalAttributeOnMultiple_Throws
✅ Create_SignalAttributeOnNonPublic_Throws
✅ Create_SignalAttributeOnStatic_Throws
✅ Create_SignalAttributeReturnTaskWithValue_Throws
✅ NoDynamicOptionsMultiplySpecified
✅ NoDynamicOptionsOnNonDynamicWorkflow
✅ Reserved_Handler_Prefixes_Throws

✅ Temporalio.Tests.Workflows.WorkflowTests

✅ Info_AccessOutsideOfWorkflow_Throws