test(archreview #10): cover actor-context preservation through the REAL CapabilityInvoker
The pass-through NullDriverCapabilityInvoker returns the call-site task directly, so it never exercises the real invoker's internal `pipeline.ExecuteAsync(...).ConfigureAwait(false)`. Adds a test-only Core reference to Runtime.Tests (the PRODUCTION Runtime assembly stays Polly-free via the seam) and a discovery test that drives DriverInstanceActor through a real CapabilityInvoker over a genuinely-yielding ITagDiscovery driver — proving the invoker's internal ConfigureAwait(false) does NOT leak to the actor's own await, so the post-await Context.Parent.Tell still runs (DiscoveredNodesReady arrives). Runtime.Tests 358, Core.Tests 238.
This commit is contained in:
@@ -22,6 +22,10 @@
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\..\src\Server\ZB.MOM.WW.OtOpcUa.Runtime\ZB.MOM.WW.OtOpcUa.Runtime.csproj"/>
|
||||
<!-- TEST-ONLY reference to Core (Polly): lets the resilience-wiring guards construct the REAL
|
||||
CapabilityInvoker. The PRODUCTION Runtime assembly stays Polly-free (consumes the
|
||||
IDriverCapabilityInvoker seam) — this reference is in the test project only. -->
|
||||
<ProjectReference Include="..\..\..\src\Core\ZB.MOM.WW.OtOpcUa.Core\ZB.MOM.WW.OtOpcUa.Core.csproj"/>
|
||||
<ProjectReference Include="..\..\..\src\Core\ZB.MOM.WW.OtOpcUa.Configuration\ZB.MOM.WW.OtOpcUa.Configuration.csproj"/>
|
||||
<ProjectReference Include="..\..\..\src\Core\ZB.MOM.WW.OtOpcUa.Commons\ZB.MOM.WW.OtOpcUa.Commons.csproj"/>
|
||||
</ItemGroup>
|
||||
|
||||
Reference in New Issue
Block a user