Task #224 close — AB Legacy PCCC fixture: AB_LEGACY_TRUST_WIRE opt-in #202

Merged
dohertj2 merged 1 commits from task-224-close-ablegacy-fixture into v2 2026-04-21 04:19:51 -04:00
Owner

ab_server's PCCC dispatcher is a confirmed upstream gap (verified 2026-04-21, zero --debug=5 request logs). Previous behavior ran tests + they all failed when Docker was up. New behavior: gate on AB_LEGACY_TRUST_WIRE=1 — operators with real hardware / RSEmulate set it, Docker ab_server runs stay skipped with an upstream-gap message.

Matrix

Endpoint reachable? TRUST_WIRE? Result
No Skip (unreachable)
Yes No Skip (ab_server PCCC gap)
Yes 1 / true Run

Docs refreshed to confirm the gap + name the three resolution paths (upstream fix / RSEmulate golden-box / task #222 lab rig).

Test plan

  • Unit suite: 96 passed / 0 failed.
  • Integration suite: Docker down → 2 skipped; Docker up no TRUST_WIRE → 2 skipped; Docker up + TRUST_WIRE=1 → 4 run + 4 fail BadCommunicationError as expected.
ab_server's PCCC dispatcher is a confirmed upstream gap (verified 2026-04-21, zero --debug=5 request logs). Previous behavior ran tests + they all failed when Docker was up. New behavior: gate on AB_LEGACY_TRUST_WIRE=1 — operators with real hardware / RSEmulate set it, Docker ab_server runs stay skipped with an upstream-gap message. ## Matrix | Endpoint reachable? | TRUST_WIRE? | Result | |---|---|---| | No | — | Skip (unreachable) | | Yes | No | Skip (ab_server PCCC gap) | | Yes | 1 / true | Run | Docs refreshed to confirm the gap + name the three resolution paths (upstream fix / RSEmulate golden-box / task #222 lab rig). ## Test plan - Unit suite: 96 passed / 0 failed. - Integration suite: Docker down → 2 skipped; Docker up no TRUST_WIRE → 2 skipped; Docker up + TRUST_WIRE=1 → 4 run + 4 fail BadCommunicationError as expected.
dohertj2 added 1 commit 2026-04-21 04:19:38 -04:00
The ab_server Docker simulator accepts TCP at :44818 when started with
--plc=SLC500 but its PCCC dispatcher is a confirmed upstream gap
(verified 2026-04-21 with --debug=5: zero request logs when libplctag
issues a read, every read surfaces BadCommunicationError 0x80050000).

Previous behavior — when Docker was up, the three smoke tests ran and
all failed on every integration-host run. Noise, not signal.

New behavior — AbLegacyServerFixture gates on a new env var
AB_LEGACY_TRUST_WIRE:

  Endpoint reachable? | TRUST_WIRE set? | Result
  --------------------+-----------------+------------------------------
  No                  | —               | Skip ("not reachable")
  Yes                 | No              | Skip ("ab_server PCCC gap")
  Yes                 | 1 / true        | Run

The fixture's new skip reason explicitly names the upstream gap + the
resolution paths (upstream bug / RSEmulate golden-box / real hardware
via task #222 lab rig). Operators with a real SLC 5/05 / MicroLogix
1100/1400 / PLC-5 or an Emulate box set AB_LEGACY_ENDPOINT + TRUST_WIRE
and the smoke tests round-trip cleanly.

Updated docs:
  - tests/.../Docker/README.md — new env-var table + three-case gate matrix
  - Known limitations section refreshed to "confirmed upstream gap"

Verified locally:
  - Docker down: 2 skipped.
  - Docker up + TRUST_WIRE unset: 2 skipped (upstream-gap message).
  - Docker up + TRUST_WIRE=1: 4 run, 4 fail BadCommunicationError (ab_server gap as expected).
  - Unit suite: 96 passed / 0 failed (regression-clean).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
dohertj2 merged commit b644b26310 into v2 2026-04-21 04:19:51 -04:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: dohertj2/lmxopcua#202