fix(abcip,adminui): ParseEnum device wording + libplctag probe assertion (#574); AB forms preserve unknown keys + MaxConcurrentReads (#576); probe off for new AbCip driver (#577); docs T4:0.DN (#584)
Claude-Session: https://claude.ai/code/session_01Ef2ozxS7QPanGT8uoATbTe
This commit is contained in:
@@ -64,6 +64,9 @@ public sealed class AbCipTransportSwitchTests
|
||||
"ab1", """{"devices":[{"hostAddress":"ab://10.0.0.1/1,0","plcFamily":"Bogus"}]}"""));
|
||||
existing.GetType().ShouldBe(bad.GetType());
|
||||
existing.Message.ShouldContain("unknown PlcFamily 'Bogus'");
|
||||
// #574: a device-level field must not be reported as a tag named 'device'.
|
||||
existing.Message.ShouldNotContain("tag '");
|
||||
existing.Message.ShouldStartWith("AB CIP config in 'ab1' has unknown PlcFamily 'Bogus'");
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -145,6 +148,9 @@ public sealed class AbCipTransportSwitchTests
|
||||
native.Message.ShouldNotBeNull();
|
||||
native.Message!.ShouldContain("CIP handshake failed: Connection lost");
|
||||
lib.Message!.ShouldNotContain("Connection lost");
|
||||
// Positive (#574): the libplctag path ran and reported its own outcome (the bounded probe timeout),
|
||||
// not merely "something other than the native text".
|
||||
lib.Message!.ShouldContain("timed out");
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -180,6 +186,9 @@ public sealed class AbCipTransportSwitchTests
|
||||
absent.Ok.ShouldBeFalse();
|
||||
absent.Message!.ShouldContain("CIP handshake failed: Connection lost");
|
||||
lib.Message!.ShouldNotContain("Connection lost");
|
||||
// Positive (#574): the libplctag path ran and reported its own outcome (the bounded probe timeout),
|
||||
// not merely "something other than the native text".
|
||||
lib.Message!.ShouldContain("timed out");
|
||||
}
|
||||
|
||||
/// <summary>The probe deserialises with its own string-enum converter; a bad transport is a config error.</summary>
|
||||
@@ -259,5 +268,6 @@ public sealed class AbCipTransportSwitchTests
|
||||
unpinned.Message!.ShouldContain("CIP handshake failed: Connection lost");
|
||||
pinned.Ok.ShouldBeFalse();
|
||||
pinned.Message!.ShouldNotContain("Connection lost");
|
||||
pinned.Message!.ShouldContain("timed out"); // positive: libplctag's own outcome (#574)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user