fix(scripts): reset-aware handshake refuses a null reset value; document additive timeouts (#36 review)
A null resetValue encoded to null, which wrote an empty string and then handed the waiter a null target (= any change), fast-pathing on the stale cache and reinstating the race the overload exists to close. The context parameter is now non-nullable and the accessor throws ArgumentException before any write. Also: additive-timeout note on all surfaces, batch-failure message no longer names the bool overload, and the error-message/batch-failure branches are pinned. Claude-Session: https://claude.ai/code/session_01XPsuy2ZZ5Gbyfpt8PrK5BV
This commit is contained in:
@@ -109,7 +109,7 @@ public class HandshakeResetEchoTests : TestKit, IDisposable
|
||||
var call = ctx.WriteBatchResetAndWait(
|
||||
Values(28950), "MoveOutFlag", AttributeValueCodec.Encode(true),
|
||||
"MoveOutCompleteFlag", AttributeValueCodec.Encode(true), TimeSpan.FromSeconds(10),
|
||||
"MoveOutCompleteFlag", AttributeValueCodec.Encode(false), TimeSpan.FromSeconds(10));
|
||||
"MoveOutCompleteFlag", AttributeValueCodec.Encode(false)!, TimeSpan.FromSeconds(10));
|
||||
|
||||
// Leg 1 reaches the device as a plain tag write; the DCL acks it but the device has
|
||||
// not echoed anything yet.
|
||||
@@ -152,7 +152,7 @@ public class HandshakeResetEchoTests : TestKit, IDisposable
|
||||
var call = ctx.WriteBatchResetAndWait(
|
||||
Values(28950), "MoveOutFlag", AttributeValueCodec.Encode(true),
|
||||
"MoveOutCompleteFlag", AttributeValueCodec.Encode(true), TimeSpan.FromSeconds(10),
|
||||
"MoveOutCompleteFlag", AttributeValueCodec.Encode(false), TimeSpan.FromMilliseconds(700));
|
||||
"MoveOutCompleteFlag", AttributeValueCodec.Encode(false)!, TimeSpan.FromMilliseconds(700));
|
||||
|
||||
var reset = dcl.ExpectMsg<WriteTagRequest>(TimeSpan.FromSeconds(5));
|
||||
dcl.Reply(new WriteTagResponse(reset.CorrelationId, true, null, DateTimeOffset.UtcNow));
|
||||
|
||||
Reference in New Issue
Block a user