test(ab): run the ab_server integration suites on both transports

This commit is contained in:
Joseph Doherty
2026-10-07 17:35:31 -04:00
parent 2171fc8ce3
commit 8c68694df1
8 changed files with 156 additions and 43 deletions
@@ -43,8 +43,10 @@ public sealed class AbCipEmulateNestedUdtTests
/// leaves addressable as dot-joined paths, proving the nested template-id threading
/// runs the production <c>@udt/{id}</c> CIP fetch against Emulate's firmware.
/// </summary>
[AbServerFact]
public async Task Nested_struct_member_discovered_and_expanded_via_template_id_fetch()
/// <param name="transport">The transport stack the driver runs on.</param>
[AbServerTheory]
[MemberData(nameof(TransportMatrix.Transports), MemberType = typeof(TransportMatrix))]
public async Task Nested_struct_member_discovered_and_expanded_via_template_id_fetch(AbCipTransport transport)
{
AbServerProfileGate.SkipUnless(AbServerProfileGate.Emulate);
@@ -58,9 +60,10 @@ public sealed class AbCipEmulateNestedUdtTests
Devices = [new AbCipDeviceOptions($"ab://{endpoint}/1,0")],
EnableControllerBrowse = true,
Timeout = TimeSpan.FromSeconds(10),
Transport = transport,
};
await using var drv = new AbCipDriver(options, driverInstanceId: "emulate-nested-udt-smoke");
await using var drv = new AbCipDriver(options, driverInstanceId: $"emulate-nested-udt-smoke-{transport}");
await drv.InitializeAsync("{}", TestContext.Current.CancellationToken);
// Drive controller discovery — the driver walks @tags, encounters MotorNested1