Skip to content

test: add OpenSSH compatibility score gate (#276) - #288

Merged
inureyes merged 4 commits into
mainfrom
feature/issue-276-openssh-regress-harness
Aug 27, 2026
Merged

test: add OpenSSH compatibility score gate (#276)#288
inureyes merged 4 commits into
mainfrom
feature/issue-276-openssh-regress-harness

Conversation

@inureyes

@inureyes inureyes commented Aug 26, 2026

Copy link
Copy Markdown
Member

Summary

Adds a pinned OpenSSH portable regression harness that:

  • verifies the exact V_10_3_P1 commit and drives an audited 89-test client candidate inventory with the complete upstream t-exec helper environment
  • enforces per-test timeouts, safely cleans stale servers, and re-runs candidate failures with the reference OpenSSH client
  • bounds diagnostic capture and logs while protecting user-supplied paths with ownership and symlink-safe cleanup rules
  • commits machine-readable pass and eligible-result floors, historical result artifacts, local Make targets, and usage documentation
  • runs the compatibility gate on Linux and macOS in GitHub Actions

The manifest keeps forwarding runnable, excludes the pure sshd-side allow-deny-users test, and documents the historical pubkey-priority inventory discrepancy without rewriting the measured baseline.

Validation

  • make openssh-regress-selftest (13 focused tests)
  • make openssh-regress-list
  • python3 -m py_compile tests/openssh-regress/run.py tests/openssh-regress/test_run.py
  • cargo check --locked --bin bssh
  • python3 tests/openssh-regress/run.py --test addrmatch --timeout 60
  • git diff --check

Closes #276

Pin OpenSSH portable and add a client-only harness that cross-checks failures with the reference client and enforces per-test timeouts.

Commit the audited 89-test manifest, baseline artifacts, focused harness self-tests, local documentation, and Linux/macOS CI coverage.

Refs #276
@inureyes inureyes added type:test Test related changes priority:high High priority issue status:review Under review labels Aug 26, 2026
Export the Homebrew OpenSSL 3 include, library, and pkg-config paths so the pinned OpenSSH configure step can find a working libcrypto on macOS runners.

Refs #276
Add evidence-based eligible-result floors, verify the immutable OpenSSH commit, and keep generated artifacts out of the executable build cache.

Bound diagnostic capture and logs, make skip classification strict, and clean up timed-out sshd processes before reference reruns.

Refs #276
Use a nonblocking output reader so detached descendants cannot bypass the per-test timeout, and verify process identity again before forced cleanup.

Require an ownership marker before replacing log directories and unlink result paths without following symlinks.

Refs #276
@inureyes inureyes added status:done Completed and removed status:review Under review labels Aug 26, 2026
@inureyes
inureyes merged commit 1ec0c97 into main Aug 27, 2026
5 checks passed
@inureyes
inureyes deleted the feature/issue-276-openssh-regress-harness branch August 27, 2026 03:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

priority:high High priority issue status:done Completed type:test Test related changes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

test: add an OpenSSH regress compatibility harness and score gate

1 participant