github.com/tilt-dev/tilt@v0.36.0/integration/docker_prune_test.go (about) 1 //go:build integration 2 // +build integration 3 4 package integration 5 6 import ( 7 "io" 8 "os" 9 "strings" 10 "testing" 11 12 "github.com/stretchr/testify/assert" 13 "github.com/stretchr/testify/require" 14 ) 15 16 func TestCLI_DockerPrune(t *testing.T) { 17 f := newK8sFixture(t, "docker_prune") 18 f.SetRestrictedCredentials() 19 20 t.Log("Running `tilt ci` to trigger a build") 21 f.TiltCI() 22 t.Log("Running `tilt down` to stop running Pod so it can be pruned") 23 var outBuf strings.Builder 24 require.NoErrorf(t, f.tilt.Down(f.ctx, &outBuf), 25 "Error running `tilt down`. Output:\n%s\n", &outBuf) 26 27 outBuf.Reset() 28 c := f.tilt.cmd(f.ctx, []string{"docker-prune", "--debug"}, io.MultiWriter(&outBuf, os.Stdout)) 29 t.Logf("Running command: %s", c.String()) 30 err := c.Run() 31 require.NoError(t, err, "Error while running command") 32 // use assert.True (instead of assert.Contains) - the cmd output is already 33 // output for debugging purposes and assert.Contains produces duplicative 34 // output (but hard to read due to embedded newlines) 35 out := outBuf.String() 36 assert.True(t, 37 strings.Contains(out, "- untagged:"), 38 "Image was not untagged") 39 assert.True(t, 40 strings.Contains(out, "- deleted: sha256:"), 41 "Image was not deleted") 42 }