Skip to content

autest: skip async handshake test when plugin is absent - #13372

Merged
maskit merged 1 commit into
apache:masterfrom
maskit:fix-tls-async-handshake-skip
Jul 13, 2026
Merged

autest: skip async handshake test when plugin is absent#13372
maskit merged 1 commit into
apache:masterfrom
maskit:fix-tls-async-handshake-skip

Conversation

@maskit

@maskit maskit commented Jul 8, 2026

Copy link
Copy Markdown
Member

The async_handshake test plugin is only built with OpenSSL (TS_USE_TLS_ASYNC). SkipUnless does not evaluate its conditions where it appears; it only registers them for the framework to check later, so the test file keeps executing and PrepareTestPlugin ran at load time and raised a ValueError when the plugin was missing, reported as a test exception instead of a skip. Guard the call on file existence so the test skips cleanly on non-OpenSSL builds.

The async_handshake test plugin is only built with OpenSSL
(TS_USE_TLS_ASYNC). SkipUnless does not evaluate its conditions where
it appears; it only registers them for the framework to check later,
so the test file keeps executing and PrepareTestPlugin ran at load
time and raised a ValueError when the plugin was missing, reported as
a test exception instead of a skip. Guard the call on file existence
so the test skips cleanly on non-OpenSSL builds.
@maskit maskit added this to the 11.0.0 milestone Jul 8, 2026
@maskit maskit self-assigned this Jul 8, 2026
Copilot AI review requested due to automatic review settings July 8, 2026 17:08
@maskit maskit added the AuTest label Jul 8, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR fixes an AuTest skip-behavior edge case in the TLS async-handshake gold test so it skips cleanly when the async_handshake test plugin is not present (e.g., non-OpenSSL / no TS_USE_TLS_ASYNC builds), instead of failing at module import time.

Changes:

  • Guard Test.PrepareTestPlugin(...) behind an on-disk existence check for the plugin artifact.
  • Prevent missing-plugin situations from being reported as test exceptions when SkipUnless conditions are only evaluated later by the framework.

@bneradt bneradt left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tricky. Too bad the SkipUnless above doesn't obviate the need for this.

@maskit
maskit merged commit caf9c87 into apache:master Jul 13, 2026
15 checks passed
@github-project-automation github-project-automation Bot moved this to For v10.2.0 in ATS v10.2.x Jul 13, 2026
@github-project-automation github-project-automation Bot moved this to For v10.1.1 in ATS v10.1.x Jul 13, 2026
@maskit
maskit deleted the fix-tls-async-handshake-skip branch July 13, 2026 16:14
@cmcfarlen cmcfarlen moved this from For v10.2.0 to Picked v10.2.0 in ATS v10.2.x Jul 29, 2026
@cmcfarlen cmcfarlen modified the milestones: 11.0.0, 10.2.0 Jul 29, 2026
@cmcfarlen

Copy link
Copy Markdown
Contributor

Cherry-picked to 10.2.x

cmcfarlen pushed a commit that referenced this pull request Jul 29, 2026
The async_handshake test plugin is only built with OpenSSL
(TS_USE_TLS_ASYNC). SkipUnless does not evaluate its conditions where
it appears; it only registers them for the framework to check later,
so the test file keeps executing and PrepareTestPlugin ran at load
time and raised a ValueError when the plugin was missing, reported as
a test exception instead of a skip. Guard the call on file existence
so the test skips cleanly on non-OpenSSL builds.

(cherry picked from commit caf9c87)
cmcfarlen pushed a commit to cmcfarlen/trafficserver that referenced this pull request Jul 29, 2026
The async_handshake test plugin is only built with OpenSSL
(TS_USE_TLS_ASYNC). SkipUnless does not evaluate its conditions where
it appears; it only registers them for the framework to check later,
so the test file keeps executing and PrepareTestPlugin ran at load
time and raised a ValueError when the plugin was missing, reported as
a test exception instead of a skip. Guard the call on file existence
so the test skips cleanly on non-OpenSSL builds.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

Status: For v10.1.1
Status: Picked v10.2.0

Development

Successfully merging this pull request may close these issues.

4 participants