Documentation
¶
Overview ¶
Package testutil builds real local snapshot and content stores for transfer tests. The stores need no privileges: see inplace.go for what that costs.
Index ¶
Constants ¶
View Source
const Namespace = "snapshot-transfer-test"
Variables ¶
View Source
var FileTime = time.Unix(1700000000, 0).UTC()
Functions ¶
Types ¶
type Provider ¶
type Provider struct {
content.InfoReaderProvider
Reads atomic.Int64
BeforeRead func(context.Context, ocispecs.Descriptor) error
}
type Store ¶
type Store struct {
Manager bkcache.SnapshotManager
Content *containerdsnapshot.Store
Snapshots bkcache.Snapshotter
Leases leases.Manager
DB *metadata.DB
Applies atomic.Int64
Diffs atomic.Int64
BeforeWrite func([]byte) error
BeforeApply func(context.Context, ocispecs.Descriptor) error
BeforeDiff func(context.Context) error
// BeforeSnapshotUpdate runs before each snapshot label update.
BeforeSnapshotUpdate func(context.Context, ctdsnapshots.Info) error
// Builtin, when set before the manager is (re)opened, plays the engine's
// builtin image store for chain imports.
Builtin content.InfoReaderProvider
BeforeAdd func(context.Context, leases.Lease, leases.Resource) error
AfterAdd func(context.Context, leases.Lease, leases.Resource)
AfterCreate func(leases.Lease)
// contains filtered or unexported fields
}
func (*Store) Build ¶
func (s *Store) Build(t testing.TB, parent bkcache.ImmutableRef, name, value string) (bkcache.ImmutableRef, string)
Build writes through an ordinary mutable ref, commits, and keeps an ordinary owner lease. The caller can release that owner independently of returned refs.
func (*Store) WithBuiltin ¶
func (s *Store) WithBuiltin(t testing.TB, provider content.InfoReaderProvider)
WithBuiltin reopens the manager with provider as the builtin image store, keeping the persistent metadata.
Click to show internal directories.
Click to hide internal directories.