Repository navigation
test: define and track OpenShell testing strategy #3954
Description
Description
Track OpenShell's testing strategy: behavioral contracts, test ownership, execution infrastructure, CI and release qualification, and contributor guidance. Conformance remains a central workstream within this broader scope.
This issue succeeds #2183 as the active conformance tracker. #2183 remains the completed initial design milestone and #2925 the initial implementation. Focused implementations and migrations retain their own issues and PRs.
Strategy discussion
RFC 0016 — OpenShell testing strategy is assigned to this issue at the maintainer's request. Existing PR #3460 is being repurposed as the RFC discussion, replacing its proposed target-state rewrite of TESTING.md and CI.md.
The RFC separates behavioral contracts and test routing from provisioning, installation, execution, and CI selection. It incorporates general conformance, feature-specific, driver-specific, disruption, and load/scale testing. SDK-specific compatibility remains in #3028 / #3238.
Tracked Work
Strategy and documentation
- docs(rfc): propose OpenShell testing strategy #3460 — RFC 0016: testing strategy and unresolved policy decisions
- docs(conformance): route agents to portable test guide #3945 — contributor routing and conformance authoring guidance, aligned with the RFC
- Define TESTING.md as the contributor entry point, tests/CONFORMANCE.md as conformance policy, suite READMEs as authoring/run guides, and CI.md as implemented workflow reference
- Define contract maturity, promotion/change review, version compatibility, and the meaning of a complete conformance result
- Keep SDK conformance docs(rfc): propose SDK conformance testing #3238 aligned with shared terminology and provisioning boundaries
Foundation and execution
- spike: driver conformance suite for compute drivers #2183 — initial shared driver conformance design
- test(e2e): run conformance in gateway lanes #2925 — initial gateway-lane integration
- test(conformance): select leaf scenarios by capability #3768 — independently selectable scenario leaves; distinguish scenario IDs from API capabilities
- test(e2e): remove schema parity campaign #3864 — remove completed schema-parity campaign
- test(conformance): run driver suites with cargo #3866 — Cargo-based conformance execution and standalone conformance CLI removal
- Consolidate the shared conformance library under tests/suites/conformance after runner removal
- Add effective capability discovery through the API and machine-readable CLI output
Behavioral coverage and migration
- test(podman): run existing Podman behavioral e2e coverage in CI #3712 — migrate all e2e-podman-eligible intent into appropriate suites; retire the interim feature and tmachine suite
- test(e2e): add cross-driver image-to-sandbox conformance #2422 — cross-driver image-to-sandbox contracts
- Extend lifecycle, policy, networking, provider, and file-operation coverage
- Explore portable security probes, including bypass prevention and core-dump protection
- Establish disruption conformance with portable assertions and environment-specific actuators
- Give load/scale coverage a separate execution and reporting path
Driver and environment coverage
- ci(windows): report full MXC conformance #3769 — advisory mock-MXC results on Windows x64 and ARM64
- test(e2e): separate VM gateway provisioning from test execution #2314 — separate VM provisioning from scenario execution
- Clarify default workspace behavior in Kubernetes operator mode #2971 — default-workspace behavior in Kubernetes operator mode
- feat(ha): harden gateway peer transport and expand failover conformance #3529 — HA and failover coverage
- ci(qualification): add Ubuntu 24.04 k3s scenario #3455 — Ubuntu k3s qualification environment
- Run general conformance on every available supported driver; track unavailable environments as coverage gaps
CI, release qualification, and reporting
- Define required versus advisory checks and branch/release execution matrices
- Separate candidate installation validation from behavioral conformance
- Start run attribution with the OpenShell SHA and tmachine configuration
- Document how contributors and operators execute and interpret suites
Related work
- feat(cli): add identity-aware sandbox deletion waiting #3944 — identity-aware deletion waiting exposed by lifecycle conformance
- fix(mxc): preserve JSON arguments in PowerShell 5.1 (NVBug 6843165) #3893 — PowerShell argument preservation for MXC runners
- test(e2e): add API and CLI conformance profiles #2182 and test(e2e): add API conformance framework #2873 — older API-conformance proposals to assess for supersession, preserving unique useful assertions
Completion criteria
- The testing strategy and documentation ownership are agreed.
- Test-family boundaries and capability/result semantics are documented.
- Required coverage and environment gaps are visible in CI and release qualification.
- Contributors have a documented path to classify, add, and review scenarios.
- Remaining implementations and migrations have focused linked issues or PRs.
Approval of the RFC does not itself complete this tracking issue.
Activity
[-]test: track OpenShell conformance testing[/-][+]test: define and track OpenShell testing strategy[/+]test(conformance): migrate workspace lifecycle tests to workspace sto…
github-actions commentedon Oct 16, 2026
This issue has had no activity for 14 days and is now marked stale. It may be closed in 14 days if there is no further activity. Comment or remove the state:stale label to keep it open.