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
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