test(e2e): restore musl DNS probe coverage for guest prebuilt artifacts
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 8.7k
- Forks
- 1.3k
- Avg merge
- 2d 11h
- Merged PRs (30d)
- 253
Description
Description
The rootless Podman guest prebuilt-artifact E2E mode currently skips the musl DNS probe case in transparent_tcp because the test builds e2e/support/musl-dns-probe.c at runtime, but e2e/run.sh --tests-in-vm copies only compiled Rust test artifacts into the VM.
Context
PR #3004 moves the rootless Podman E2E tests into the Nix-managed Ubuntu 26.04 guest so dynamic fixtures and sandboxes share the same VM network context. That exposed a host-source assumption in tests/transparent_tcp.rs: rootless_podman_musl_getaddrinfo_uses_udp_policy_dns locates ../support/musl-dns-probe.c through CARGO_MANIFEST_DIR and invokes mise x -- zig cc at test runtime.
In guest prebuilt-artifact mode, the source tree and mise toolchain are intentionally not present in the VM. Embedding the C source in the Rust test would make the test pass, but that keeps runtime compilation inside the test and is not the preferred shape for this lane.
Definition of Done
- The musl DNS probe is built or packaged as an explicit E2E artifact before the guest test run.
- e2e/run.sh --tests-in-vm copies the probe artifact into the Nix guest when transparent_tcp is selected.
- transparent_tcp uses the supplied probe artifact in guest prebuilt-artifact mode instead of compiling C source at runtime.
- rootless_podman_musl_getaddrinfo_uses_udp_policy_dns is re-enabled for guest prebuilt-artifact runs.
- The full Ubuntu 26.04 rootless Podman e2e_podman lane passes with the restored probe coverage.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with e2e/run.sh --tests-in-vm, tests/transparent_tcp.rs, and e2e/support/musl-dns-probe.c to trace how the probe is built, copied, and selected. Run the guest prebuilt-artifact path with transparent_tcp, then verify that rootless_podman_musl_getaddrinfo_uses_udp_policy_dns is enabled and the full Ubuntu 26.04 rootless Podman e2e_podman lane passes.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c, rust, shell, zig
- Domain
- build-system, devops, testing-qa
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Clearly specified
- Newbie friendliness
- 68/100