From cd3fa3dde7fe7f6be444b008607c995c50870477 Mon Sep 17 00:00:00 2001 From: Samuel K Date: Fri, 24 Apr 2026 19:50:45 -0500 Subject: [PATCH] test(e2e): add parallel named postCreateCommand e2e test Add e2e test that verifies postCreateCommand with object format (multiple named commands) runs both commands and produces expected results inside the container. --- e2e/tests/up/provider_docker.go | 22 +++++++++++++++++++ .../.devcontainer.json | 7 ++++++ 2 files changed, 29 insertions(+) create mode 100644 e2e/tests/up/testdata/docker-postcreate-parallel/.devcontainer.json diff --git a/e2e/tests/up/provider_docker.go b/e2e/tests/up/provider_docker.go index 1ab507f38..bfe340666 100644 --- a/e2e/tests/up/provider_docker.go +++ b/e2e/tests/up/provider_docker.go @@ -497,6 +497,28 @@ var _ = ginkgo.Describe( ginkgo.SpecTimeout(framework.GetTimeout()), ) + ginkgo.It( + "postCreateCommand with object syntax runs named sub-commands in parallel", + func(ctx context.Context) { + tempDir, err := dtc.setupAndUp( + ctx, + "tests/up/testdata/docker-postcreate-parallel", + ) + framework.ExpectNoError(err) + + // Both named postCreateCommand sub-commands run inside the + // container and write marker files to /tmp. + one, err := dtc.execSSH(ctx, tempDir, "cat /tmp/post-create-one.out") + framework.ExpectNoError(err) + gomega.Expect(strings.TrimSpace(one)).To(gomega.Equal("postCreateOne")) + + two, err := dtc.execSSH(ctx, tempDir, "cat /tmp/post-create-two.out") + framework.ExpectNoError(err) + gomega.Expect(strings.TrimSpace(two)).To(gomega.Equal("postCreateTwo")) + }, + ginkgo.SpecTimeout(framework.GetTimeout()), + ) + ginkgo.It("IDE accessible before postAttachCommand completes", func(ctx context.Context) { tempDir, err := setupWorkspace( "tests/up/testdata/docker-post-attach-nonblocking", diff --git a/e2e/tests/up/testdata/docker-postcreate-parallel/.devcontainer.json b/e2e/tests/up/testdata/docker-postcreate-parallel/.devcontainer.json new file mode 100644 index 000000000..374b5b71c --- /dev/null +++ b/e2e/tests/up/testdata/docker-postcreate-parallel/.devcontainer.json @@ -0,0 +1,7 @@ +{ + "image": "ghcr.io/devsy-org/test-images/go:1", + "postCreateCommand": { + "write-one": "echo -n postCreateOne > /tmp/post-create-one.out", + "write-two": "echo -n postCreateTwo > /tmp/post-create-two.out" + } +}