mirror of
https://gitea.com/Lydanne/buildx.git
synced 2025-07-10 13:37:08 +08:00
tests: refactor cmd helpers to allow configuring cwd, etc
Signed-off-by: Justin Chadwell <me@jedevc.com>
This commit is contained in:
@ -18,13 +18,32 @@ func tmpdir(t *testing.T, appliers ...fstest.Applier) string {
|
||||
return tmpdir
|
||||
}
|
||||
|
||||
func buildxCmd(sb integration.Sandbox, args ...string) *exec.Cmd {
|
||||
if builder := sb.Address(); builder != "" {
|
||||
args = append([]string{"--builder=" + builder}, args...)
|
||||
type cmdOpt func(*exec.Cmd)
|
||||
|
||||
func withArgs(args ...string) cmdOpt {
|
||||
return func(cmd *exec.Cmd) {
|
||||
cmd.Args = append(cmd.Args, args...)
|
||||
}
|
||||
}
|
||||
|
||||
func withDir(dir string) cmdOpt {
|
||||
return func(cmd *exec.Cmd) {
|
||||
cmd.Dir = dir
|
||||
}
|
||||
}
|
||||
|
||||
func buildxCmd(sb integration.Sandbox, opts ...cmdOpt) *exec.Cmd {
|
||||
cmd := exec.Command("buildx")
|
||||
cmd.Env = append([]string{}, os.Environ()...)
|
||||
for _, opt := range opts {
|
||||
opt(cmd)
|
||||
}
|
||||
|
||||
if builder := sb.Address(); builder != "" {
|
||||
cmd.Args = append(cmd.Args, "--builder="+builder)
|
||||
}
|
||||
cmd := exec.Command("buildx", args...)
|
||||
if context := sb.DockerAddress(); context != "" {
|
||||
cmd.Env = append(os.Environ(), "DOCKER_CONTEXT="+context)
|
||||
cmd.Env = append(cmd.Env, "DOCKER_CONTEXT="+context)
|
||||
}
|
||||
|
||||
return cmd
|
||||
|
Reference in New Issue
Block a user