Auto: ablegacy-12 — auto-demote on comm failure

Closes #255
This commit is contained in:
Joseph Doherty
2026-04-26 08:44:53 -04:00
parent 8ee65a75d2
commit 1e3053c0d8
18 changed files with 1160 additions and 31 deletions

View File

@@ -72,3 +72,30 @@ services:
"--tag=F8[120]",
"--tag=B3[10]"
]
# PR ablegacy-12 / #255 — faulty-PLC fixture for the auto-demote contract.
# FIXTURE-TIER FOLLOW-UP: implementing a refusing-proxy container that
# round-trips libplctag's CIP framing far enough to trigger comm failures
# (vs. just RST'ing the TCP handshake) is non-trivial — the integration
# test currently uses 127.0.0.1:1 (the bogus-port standard) which RST's
# immediately on most TCP stacks. That gets us deterministic comm-failure
# coverage without standing up a second container; if the localhost:1
# trick stops working on a future test runner (e.g. a sandbox that
# blocks port 1) re-enable this stub:
#
# slc500-faulty:
# profiles: ["slc500-faulty"]
# image: otopcua-ab-server:libplctag-release
# build:
# context: ../../ZB.MOM.WW.OtOpcUa.Driver.AbCip.IntegrationTests/Docker
# dockerfile: Dockerfile
# container_name: otopcua-ab-server-slc500-faulty
# restart: "no"
# ports:
# - "44819:44819"
# # Hostile entrypoint: bind the port but exit immediately so subsequent
# # connection attempts get RST'd. Future iteration: a libplctag-aware
# # proxy that accepts the CIP open and then drops the wire halfway
# # through, exercising the read-timeout path rather than the
# # connection-refused path.
# entrypoint: ["sh", "-c", "exit 1"]