mirror of https://github.com/docker/buildx.git
61 lines
1.5 KiB
Go
61 lines
1.5 KiB
Go
package tests
|
|
|
|
import (
|
|
"strings"
|
|
"testing"
|
|
|
|
"github.com/moby/buildkit/util/testutil/integration"
|
|
"github.com/stretchr/testify/require"
|
|
)
|
|
|
|
func rmCmd(sb integration.Sandbox, opts ...cmdOpt) (string, error) {
|
|
opts = append([]cmdOpt{withArgs("rm")}, opts...)
|
|
cmd := buildxCmd(sb, opts...)
|
|
out, err := cmd.CombinedOutput()
|
|
return string(out), err
|
|
}
|
|
|
|
var rmTests = []func(t *testing.T, sb integration.Sandbox){
|
|
testRm,
|
|
testRmMulti,
|
|
}
|
|
|
|
func testRm(t *testing.T, sb integration.Sandbox) {
|
|
if !isDockerContainerWorker(sb) {
|
|
t.Skip("only testing with docker-container worker")
|
|
}
|
|
|
|
out, err := rmCmd(sb, withArgs("default"))
|
|
require.Error(t, err, out) // can't remove a docker builder
|
|
|
|
out, err = createCmd(sb, withArgs("--driver", "docker-container"))
|
|
require.NoError(t, err, out)
|
|
builderName := strings.TrimSpace(out)
|
|
|
|
out, err = inspectCmd(sb, withArgs(builderName, "--bootstrap"))
|
|
require.NoError(t, err, out)
|
|
|
|
out, err = rmCmd(sb, withArgs(builderName))
|
|
require.NoError(t, err, out)
|
|
}
|
|
|
|
func testRmMulti(t *testing.T, sb integration.Sandbox) {
|
|
if !isDockerContainerWorker(sb) {
|
|
t.Skip("only testing with docker-container worker")
|
|
}
|
|
|
|
var builderNames []string
|
|
for i := 0; i < 3; i++ {
|
|
out, err := createCmd(sb, withArgs("--driver", "docker-container"))
|
|
require.NoError(t, err, out)
|
|
builderName := strings.TrimSpace(out)
|
|
|
|
out, err = inspectCmd(sb, withArgs(builderName, "--bootstrap"))
|
|
require.NoError(t, err, out)
|
|
builderNames = append(builderNames, builderName)
|
|
}
|
|
|
|
out, err := rmCmd(sb, withArgs(builderNames...))
|
|
require.NoError(t, err, out)
|
|
}
|