@@ -32,7 +32,7 @@ import (
3232// This addresses a bug where dependencies were built twice: once in startDependencies
3333// and once in ensureImagesExists.
3434func 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\n Output: \n %s " , dbBuilds , output )
73+ assert .Equal (t , apiBuilds , 1 , "api should build once, built %d times\n Output: \n %s " , apiBuilds , output )
74+ assert .Equal (t , appBuilds , 1 , "app should build once, built %d times\n Output: \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