mirror of
https://gitea.com/Lydanne/buildx.git
synced 2025-07-09 21:17:09 +08:00
rm: support removing multiple builders at once
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
This commit is contained in:
48
tests/rm.go
48
tests/rm.go
@ -1,7 +1,11 @@
|
||||
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) {
|
||||
@ -10,3 +14,47 @@ func rmCmd(sb integration.Sandbox, opts ...cmdOpt) (string, error) {
|
||||
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 sb.Name() != "docker-container" {
|
||||
t.Skip("only testing for docker-container driver")
|
||||
}
|
||||
|
||||
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 sb.Name() != "docker-container" {
|
||||
t.Skip("only testing for docker-container driver")
|
||||
}
|
||||
|
||||
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)
|
||||
}
|
||||
|
Reference in New Issue
Block a user