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 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 Backend

type Backend interface {
	Address() 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 Sandbox

type Sandbox interface {
	Backend

	Context() context.Context
	Cmd(...string) *exec.Cmd
	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)
	Name() string
	Rootless() bool
}

func List

func List() []Worker

Source Files

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

Version
v0.11.5
Published
Mar 23, 2023
Platform
js/wasm
Imports
40 packages
Last checked
12 hours ago

Tools for package owners.