Skip to content

Stabilize transport network tests - #1822

Merged
kevinherron merged 1 commit into
integration/1.2from
agent/stabilize-transport-network-tests
Jul 22, 2026
Merged

Stabilize transport network tests#1822
kevinherron merged 1 commit into
integration/1.2from
agent/stabilize-transport-network-tests

Conversation

@kevinherron

Copy link
Copy Markdown
Contributor

Summary

  • allocate coordinated loopback ports for transport tests instead of sharing port 12685
  • derive client and server endpoint URLs from each allocated port
  • make server transport unbind wait for accepted child channels to close
  • add regression coverage for synchronous child-channel teardown

Root cause

OpcTcpTransportTest reused a hard-coded listener port across its parameterized invocations. That exposed the suite to collisions with other test JVMs and unrelated local listeners. Teardown also initiated accepted child-channel closure asynchronously, so network activity could outlive the invocation that created it.

Validation

  • mise exec -- mvn -q -pl opc-ua-stack/transport -am test -Dtest=OpcTcpTransportTest,OpcTcpServerTransportTest -Dsurefire.failIfNoSpecifiedTests=false — 96 tests passed
  • mise exec -- mvn -q clean compile — passed
  • mise exec -- mvn -q -pl opc-ua-stack/transport -am verify — 1,144 tests passed

Full reactor note

A full clean verify progressed past the transport module, then failed in the unrelated TypeModelCompilerTest.depthBeyondLimitRejectedWithStructuredDiagnostic: the test expected ModelCompilationException but received StackOverflowError.

Allocate coordinated loopback ports instead of sharing a fixed listener
port, and make server unbind wait for accepted channels to close so test
invocations cannot leak network activity into each other.
@kevinherron
kevinherron marked this pull request as ready for review July 22, 2026 23:17
@kevinherron
kevinherron merged commit 53a3476 into integration/1.2 Jul 22, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant