Skip to content

Commit 6719f47

Browse files
committed
test checking bake internal load build definition
Signed-off-by: Guillaume Lours <[email protected]>
1 parent 3eb2934 commit 6719f47

File tree

1 file changed

+14
-12
lines changed

1 file changed

+14
-12
lines changed

pkg/e2e/compose_run_build_once_test.go

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ import (
3232
// This addresses a bug where dependencies were built twice: once in startDependencies
3333
// and once in ensureImagesExists.
3434
func TestRunBuildOnce(t *testing.T) {
35-
c := NewParallelCLI(t)
35+
c := NewCLI(t)
3636

3737
t.Run("dependency with pull_policy build is built only once", func(t *testing.T) {
3838
projectName := randomProjectName("build-once")
@@ -54,25 +54,27 @@ func TestRunBuildOnce(t *testing.T) {
5454

5555
t.Run("nested dependencies build only once each", func(t *testing.T) {
5656
projectName := randomProjectName("build-nested")
57-
res := c.RunDockerComposeCmd(t, "-p", projectName, "-f", "./fixtures/run-test/build-once-nested.yaml", "down", "--rmi", "local", "--remove-orphans")
58-
res.Assert(t, icmd.Success)
57+
_ = c.RunDockerComposeCmd(t, "-p", projectName, "-f", "./fixtures/run-test/build-once-nested.yaml", "down", "--rmi", "local", "--remove-orphans", "-v")
5958

60-
res = c.RunDockerComposeCmd(t, "-p", projectName, "-f", "./fixtures/run-test/build-once-nested.yaml", "run", "--build", "--rm", "app")
59+
res := c.RunDockerComposeCmd(t, "-p", projectName, "-f", "./fixtures/run-test/build-once-nested.yaml", "--verbose", "run", "--build", "--rm", "app")
6160
res.Assert(t, icmd.Success)
6261

6362
output := res.Combined()
6463

65-
// Each service should build exactly once
66-
dbBuilds := strings.Count(output, "DB built at")
67-
apiBuilds := strings.Count(output, "API built at")
68-
appBuilds := strings.Count(output, "App built at")
64+
dbBuildMarker := fmt.Sprintf("naming to docker.io/library/%s-db", projectName)
65+
apiBuildMarker := fmt.Sprintf("naming to docker.io/library/%s-api", projectName)
66+
appBuildMarker := fmt.Sprintf("naming to docker.io/library/%s-app", projectName)
67+
68+
dbBuilds := strings.Count(output, dbBuildMarker)
69+
apiBuilds := strings.Count(output, apiBuildMarker)
70+
appBuilds := strings.Count(output, appBuildMarker)
6971

70-
assert.Equal(t, dbBuilds, 1, "db should build once, built %d times", dbBuilds)
71-
assert.Equal(t, apiBuilds, 1, "api should build once, built %d times", apiBuilds)
72-
assert.Equal(t, appBuilds, 1, "app should build once, built %d times", appBuilds)
72+
assert.Equal(t, dbBuilds, 1, "db should build once, built %d times\nOutput:\n%s", dbBuilds, output)
73+
assert.Equal(t, apiBuilds, 1, "api should build once, built %d times\nOutput:\n%s", apiBuilds, output)
74+
assert.Equal(t, appBuilds, 1, "app should build once, built %d times\nOutput:\n%s", appBuilds, output)
7375
assert.Assert(t, strings.Contains(output, "App running"))
7476

75-
c.RunDockerComposeCmd(t, "-p", projectName, "-f", "./fixtures/run-test/build-once-nested.yaml", "down", "--remove-orphans")
77+
c.RunDockerComposeCmd(t, "-p", projectName, "-f", "./fixtures/run-test/build-once-nested.yaml", "down", "--rmi", "local", "--remove-orphans", "-v")
7678
})
7779

7880
t.Run("service with no dependencies builds once", func(t *testing.T) {

0 commit comments

Comments
 (0)