fix(ablegacy): final review I3 — default reverts to libplctag; Native is opt-in
On a wire the native PCCC path is proven only for N-file reads/writes and one F8 read (ab_server). An absent transport key now resolves to Libplctag for every family; explicit Native still wins and still warns once per instance on PLC-5/LogixPccc. AdminUI dropdown, CLI help, evidence claims (PcccFileType, AbLegacy.md wire-evidence table, release note) corrected: S:0 (default probe) and B/T/C/R/S/L/ST/A/O/I are unverified natively. Claude-Session: https://claude.ai/code/session_01Ef2ozxS7QPanGT8uoATbTe
This commit is contained in:
@@ -162,13 +162,12 @@ public sealed class BuildOptionsTests
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// With no <c>--transport</c> the CLI leaves the option null and the driver's resolver decides: Native
|
||||
/// for an SLC 500, libplctag for <c>--plc-type Plc5</c> / LogixPccc (Task 22 exclusion). An explicit
|
||||
/// choice is forwarded verbatim and wins.
|
||||
/// With no <c>--transport</c> the CLI leaves the option null and the driver's resolver decides: libplctag
|
||||
/// for every family (final review I3; Native is opt-in). An explicit choice is forwarded verbatim and wins.
|
||||
/// </summary>
|
||||
[Theory]
|
||||
[InlineData(AbLegacyPlcFamily.Slc500, AbLegacyTransport.Native)]
|
||||
[InlineData(AbLegacyPlcFamily.MicroLogix, AbLegacyTransport.Native)]
|
||||
[InlineData(AbLegacyPlcFamily.Slc500, AbLegacyTransport.Libplctag)]
|
||||
[InlineData(AbLegacyPlcFamily.MicroLogix, AbLegacyTransport.Libplctag)]
|
||||
[InlineData(AbLegacyPlcFamily.Plc5, AbLegacyTransport.Libplctag)]
|
||||
[InlineData(AbLegacyPlcFamily.LogixPccc, AbLegacyTransport.Libplctag)]
|
||||
public void BuildOptions_default_transport_goes_through_the_resolver(AbLegacyPlcFamily family, AbLegacyTransport expected)
|
||||
@@ -186,13 +185,15 @@ public sealed class BuildOptionsTests
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The plan's CLI case end to end through CliFx: <c>--plc-type plc5</c> with no <c>--transport</c>
|
||||
/// resolves to libplctag; the same invocation for an SLC resolves Native (falsification control).
|
||||
/// End to end through CliFx: no <c>--transport</c> resolves to libplctag for every <c>--plc-type</c>
|
||||
/// (final review I3). The slc500 / micrologix rows are the falsification rows — they resolved Native
|
||||
/// before the revert.
|
||||
/// </summary>
|
||||
[Theory]
|
||||
[InlineData("plc5", AbLegacyTransport.Libplctag)]
|
||||
[InlineData("logixpccc", AbLegacyTransport.Libplctag)]
|
||||
[InlineData("slc500", AbLegacyTransport.Native)]
|
||||
[InlineData("slc500", AbLegacyTransport.Libplctag)]
|
||||
[InlineData("micrologix", AbLegacyTransport.Libplctag)]
|
||||
public async Task Plc_type_without_transport_flag_resolves_through_the_resolver(string plcType, AbLegacyTransport expected)
|
||||
{
|
||||
CapturingCommand.Options = null;
|
||||
|
||||
Reference in New Issue
Block a user