containerd/metadata/content_test.go
Derek McGowan dee8dc2cda
Add support for content labels on commit
Add commit options which allow for setting labels on commit.
Prevents potential race between garbage collector reading labels
after commit and labels getting set.

Signed-off-by: Derek McGowan <derek@mcgstyle.net>
2017-08-11 14:15:20 -07:00

35 lines
808 B
Go

package metadata
import (
"context"
"path/filepath"
"testing"
"github.com/boltdb/bolt"
"github.com/containerd/containerd/content"
"github.com/containerd/containerd/content/local"
"github.com/containerd/containerd/content/testsuite"
)
func createContentStore(ctx context.Context, root string) (content.Store, func() error, error) {
// TODO: Use mocked or in-memory store
cs, err := local.NewStore(root)
if err != nil {
return nil, nil, err
}
db, err := bolt.Open(filepath.Join(root, "metadata.db"), 0660, nil)
if err != nil {
return nil, nil, err
}
return NewContentStore(db, cs), func() error {
return db.Close()
}, nil
}
func TestContent(t *testing.T) {
testsuite.ContentSuite(t, "metadata", createContentStore)
testsuite.ContentLabelSuite(t, "metadata", createContentStore)
}