Repository navigation
test(conformance): migrate sandbox template tests to template stories - #4608
Open
politerealism wants to merge 1 commit into
Conversation
Move the sandbox template tests from the legacy e2e crate into a new `sandbox_templates` conformance area. Template create, inspect, list and use is not driver-specific, so it belongs with the other conformance stories and runs against any prepared gateway. The first original test checked the template definition and a sandbox created from it in one test. Split it so a failure points at one behavior: - sandbox_template_round_trips_its_definition (new name): name, label, environment and resources survive create and get as JSON, and the template is listed. Resources are metadata here; enforcing them is driver-specific. - sandbox_create_from_template_uses_reusable_workload: name kept. A sandbox created from a template sees its environment, checked with `sandbox exec` instead of the printed output of `sandbox create`. The three negative tests keep their names and now assert state as well as the exit status, instead of matching message text: - get after delete: the template is also gone from the listing - duplicate name: the original template is unchanged - missing template: no sandbox was created The CLI exposes no structured error, so those limits are documented in the area. A passing story deletes what it created; cleanup runs only after a failure and reports anything other than "not found". Remove the old test file and its Cargo target, and list the area in the conformance README. Contributes to NVIDIA#3954 Signed-off-by: politerealism <burdcat17@gmail.com>
politerealism
marked this pull request as ready for review
October 15, 2026 16:36
4 of 7 tasks
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Move the sandbox template tests from the legacy e2e crate into a new
sandbox_templatesconformance area. Template create, inspect, list and use isn't driver-specific, so it belongs with the other conformance stories and runs against any prepared gateway. Stacked on #4538, which relocates the suites.Related Issue
Contributes to #3954. No separate issue: this migrates existing coverage.
Changes
sandbox_templatesarea (cli/tests/sandbox_templates/) with five stories, and list it in the conformance README. The first original test checked the template definition and a sandbox created from it in one test, so it's split to make a failure point at one behavior:sandbox_template_round_trips_its_definition(new name): name, label, environment and resources survive create and get as JSON, and the template is listed. Resources are metadata here; enforcing them is driver-specific.sandbox_create_from_template_uses_reusable_workload: name kept. A sandbox created from a template sees its environment, checked withsandbox execand not the printed output ofsandbox create.sandbox_template_get_after_delete_returns_not_found: the template is also gone from the listing.sandbox_template_create_rejects_duplicate_name: the original template is unchanged (the second create used a different label).sandbox_create_from_missing_template_returns_not_found: no sandbox was created. The same flags succeed for an existing template in the from-template story, so the rejection is about the template.run,succeeds,fails,finish) are copied in theworkspacesarea; I can move a shared version into the support crate if you want one.e2e/rust/tests/sandbox_templates.rsand its Cargo target. The conformance archive ande2e_run_openshell_conformancerun every test target in the conformance package, so the new binary runs in every lane that runs conformance, replacing the Podman tmachine archive coverage the old test had.Testing
mise run pre-commitpassescargo test --manifest-path e2e/suites/conformance/Cargo.toml --test sandbox_templates--templateflag dropped so the missing-template create succeeds.tmachine test ubuntu-docker-rootful binaries conformance) and in the Ubuntu K3s guest (tmachine test ubuntu-k3s k3s conformance). The first Docker run is what exposed the provider-profile dependency fixed in the workspaces PR, and it also failed once on the existinglifecycle stop_start(ContainerExited: Container exited while waiting for Ready), which passed on the rerun. Each PR alone was not run in tmachine.Checklist