62556c245a
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.
34 lines
1.7 KiB
XML
34 lines
1.7 KiB
XML
<Project Sdk="Microsoft.NET.Sdk">
|
|
|
|
<PropertyGroup>
|
|
<IsPackable>false</IsPackable>
|
|
<IsTestProject>true</IsTestProject>
|
|
<RootNamespace>ZB.MOM.WW.OtOpcUa.Runtime.Tests</RootNamespace>
|
|
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
|
|
</PropertyGroup>
|
|
|
|
<ItemGroup>
|
|
<!-- xunit v2 because Akka.TestKit.Xunit2 pins to it (same as ControlPlane.Tests). -->
|
|
<PackageReference Include="xunit"/>
|
|
<PackageReference Include="Shouldly"/>
|
|
<PackageReference Include="Microsoft.NET.Test.Sdk"/>
|
|
<PackageReference Include="Akka.TestKit.Xunit2"/>
|
|
<PackageReference Include="Microsoft.EntityFrameworkCore.InMemory"/>
|
|
<PackageReference Include="xunit.runner.visualstudio">
|
|
<PrivateAssets>all</PrivateAssets>
|
|
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
|
</PackageReference>
|
|
</ItemGroup>
|
|
|
|
<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>
|
|
|
|
</Project>
|