Files
moby/integration-cli/environment/environment.go
Sebastiaan van Stijn d3e45f8743 testutil: move back to internal
This package was originally internal, but was moved out when BuildKit
used it for its integration tests. That's no longer the case, so we
can make it internal again.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2025-09-08 10:08:30 +02:00

49 lines
979 B
Go

package environment
import (
"context"
"os"
"os/exec"
"github.com/moby/moby/v2/internal/testutil/environment"
)
// DefaultClientBinary is the name of the docker binary
var DefaultClientBinary = os.Getenv("TEST_CLIENT_BINARY")
func init() {
if DefaultClientBinary == "" {
DefaultClientBinary = "docker"
}
}
// Execution contains information about the current test execution and daemon
// under test
type Execution struct {
environment.Execution
dockerBinary string
}
// DockerBinary returns the docker binary for this testing environment
func (e *Execution) DockerBinary() string {
return e.dockerBinary
}
// New returns details about the testing environment
func New(ctx context.Context) (*Execution, error) {
env, err := environment.New(ctx)
if err != nil {
return nil, err
}
dockerBinary, err := exec.LookPath(DefaultClientBinary)
if err != nil {
return nil, err
}
return &Execution{
Execution: *env,
dockerBinary: dockerBinary,
}, nil
}