package integration

import "github.com/moby/buildkit/util/testutil/integration"

Index

Constants

const (
	FeatureCacheExport          = "cache_export"
	FeatureCacheImport          = "cache_import"
	FeatureCacheBackendAzblob   = "cache_backend_azblob"
	FeatureCacheBackendGha      = "cache_backend_gha"
	FeatureCacheBackendInline   = "cache_backend_inline"
	FeatureCacheBackendLocal    = "cache_backend_local"
	FeatureCacheBackendRegistry = "cache_backend_registry"
	FeatureCacheBackendS3       = "cache_backend_s3"
	FeatureDirectPush           = "direct_push"
	FeatureFrontendOutline      = "frontend_outline"
	FeatureFrontendTargets      = "frontend_targets"
	FeatureImageExporter        = "image_exporter"
	FeatureInfo                 = "info"
	FeatureMergeDiff            = "merge_diff"
	FeatureMultiCacheExport     = "multi_cache_export"
	FeatureMultiPlatform        = "multi_platform"
	FeatureOCIExporter          = "oci_exporter"
	FeatureOCILayout            = "oci_layout"
	FeatureProvenance           = "provenance"
	FeatureSBOM                 = "sbom"
	FeatureSecurityMode         = "security_mode"
	FeatureSourceDateEpoch      = "source_date_epoch"
	FeatureCNINetwork           = "cni_network"
)

Variables

var ErrRequirements = errors.Errorf("missing requirements")

Functions

func CheckFeatureCompat

func CheckFeatureCompat(t *testing.T, sb Sandbox, reason ...string)

func InitContainerdWorker

func InitContainerdWorker()

func InitDockerdWorker

func InitDockerdWorker()

InitDockerdWorker registers a dockerd worker with the global registry.

func InitOCIWorker

func InitOCIWorker()

func IsTestDockerd

func IsTestDockerd() bool

func IsTestDockerdMoby

func IsTestDockerdMoby(sb Sandbox) bool

func NewAzuriteServer

func NewAzuriteServer(t *testing.T, sb Sandbox, opts AzuriteOpts) (address string, cl func() error, err error)

func NewMinioServer

func NewMinioServer(t *testing.T, sb Sandbox, opts MinioOpts) (address string, bucket string, cl func() error, err error)

func NewRegistry

func NewRegistry(dir string) (url string, cl func() error, err error)

func OfficialImages

func OfficialImages(names ...string) map[string]string

func Register

func Register(w Worker)

func Run

func Run(t *testing.T, testCases []Test, opt ...TestOpt)

func Tmpdir

func Tmpdir(t *testing.T, appliers ...fstest.Applier) (string, error)

Types

type AzuriteOpts

type AzuriteOpts struct {
	AccountName string
	AccountKey  string
}

type Backend

type Backend interface {
	Address() string
	DockerAddress() string
	ContainerdAddress() string
	Rootless() bool
	Snapshotter() string
}

Backend is the minimal interface that describes a testing backend.

type BackendConfig

type BackendConfig struct {
	Logs       map[string]*bytes.Buffer
	ConfigFile string
}

BackendConfig is used to configure backends created by a worker.

type ConfigUpdater

type ConfigUpdater interface {
	UpdateConfigFile(string) string
}

type Containerd

type Containerd struct {
	ID          string
	Containerd  string
	Snapshotter string
	UID         int
	GID         int
	ExtraEnv    []string // e.g. "PATH=/opt/containerd-1.4/bin:/usr/bin:..."
}

func (*Containerd) Close

func (c *Containerd) Close() error

func (*Containerd) Name

func (c *Containerd) Name() string

func (*Containerd) New

func (c *Containerd) New(ctx context.Context, cfg *BackendConfig) (b Backend, cl func() error, err error)

func (*Containerd) Rootless

func (c *Containerd) Rootless() bool

type MinioOpts

type MinioOpts struct {
	Region          string
	AccessKeyID     string
	SecretAccessKey string
}

type Moby

type Moby struct {
	ID         string
	IsRootless bool

	ContainerdSnapshotter bool

	Unsupported []string
}

func (Moby) Close

func (c Moby) Close() error

func (Moby) Name

func (c Moby) Name() string

func (Moby) New

func (c Moby) New(ctx context.Context, cfg *BackendConfig) (b Backend, cl func() error, err error)

func (Moby) Rootless

func (c Moby) Rootless() bool

type OCI

type OCI struct {
	ID          string
	UID         int
	GID         int
	Snapshotter string
}

func (*OCI) Close

func (s *OCI) Close() error

func (*OCI) Name

func (s *OCI) Name() string

func (*OCI) New

func (s *OCI) New(ctx context.Context, cfg *BackendConfig) (Backend, func() error, error)

func (*OCI) Rootless

func (s *OCI) Rootless() bool

type Sandbox

type Sandbox interface {
	Backend

	Context() context.Context
	Cmd(...string) *exec.Cmd
	Logs() map[string]*bytes.Buffer
	PrintLogs(*testing.T)
	ClearLogs()
	NewRegistry() (string, error)
	Value(string) interface{} // chosen matrix value
	Name() string
}

type Test

type Test interface {
	Name() string
	Run(t *testing.T, sb Sandbox)
}

func TestFuncs

func TestFuncs(funcs ...func(t *testing.T, sb Sandbox)) []Test

type TestOpt

type TestOpt func(*testConf)

TestOpt is an option that can be used to configure a set of integration tests.

func WithMatrix

func WithMatrix(key string, m map[string]interface{}) TestOpt

func WithMirroredImages

func WithMirroredImages(m map[string]string) TestOpt

type Worker

type Worker interface {
	New(context.Context, *BackendConfig) (Backend, func() error, error)
	Close() error
	Name() string
	Rootless() bool
}

func List

func List() []Worker

Source Files

azurite.go containerd.go dockerd.go frombinary.go minio.go oci.go pins.go registry.go run.go sandbox.go sandbox_unix.go util.go

Version
v0.12.2
Published
Aug 23, 2023
Platform
js/wasm
Imports
42 packages
Last checked
7 minutes ago

Tools for package owners.