Add content test suite run to client
Fix bugs in content deletion and upload status Signed-off-by: Derek McGowan <derek@mcgstyle.net>
This commit is contained in:
@@ -24,12 +24,14 @@ import (
|
||||
)
|
||||
|
||||
func TestContent(t *testing.T) {
|
||||
testsuite.ContentSuite(t, "fs", func(ctx context.Context, root string) (content.Store, func(), error) {
|
||||
testsuite.ContentSuite(t, "fs", func(ctx context.Context, root string) (content.Store, func() error, error) {
|
||||
cs, err := NewStore(root)
|
||||
if err != nil {
|
||||
return nil, nil, err
|
||||
}
|
||||
return cs, func() {}, nil
|
||||
return cs, func() error {
|
||||
return nil
|
||||
}, nil
|
||||
})
|
||||
}
|
||||
|
||||
|
@@ -17,13 +17,13 @@ import (
|
||||
"github.com/pkg/errors"
|
||||
)
|
||||
|
||||
// ContentSuite runs a test suite on the snapshotter given a factory function.
|
||||
func ContentSuite(t *testing.T, name string, storeFn func(ctx context.Context, root string) (content.Store, func(), error)) {
|
||||
// ContentSuite runs a test suite on the content store given a factory function.
|
||||
func ContentSuite(t *testing.T, name string, storeFn func(ctx context.Context, root string) (content.Store, func() error, error)) {
|
||||
t.Run("Writer", makeTest(t, name, storeFn, checkContentStoreWriter))
|
||||
t.Run("UploadStatus", makeTest(t, name, storeFn, checkUploadStatus))
|
||||
}
|
||||
|
||||
func makeTest(t *testing.T, name string, storeFn func(ctx context.Context, root string) (content.Store, func(), error), fn func(ctx context.Context, t *testing.T, cs content.Store)) func(t *testing.T) {
|
||||
func makeTest(t *testing.T, name string, storeFn func(ctx context.Context, root string) (content.Store, func() error, error), fn func(ctx context.Context, t *testing.T, cs content.Store)) func(t *testing.T) {
|
||||
return func(t *testing.T) {
|
||||
ctx := namespaces.WithNamespace(context.Background(), name)
|
||||
|
||||
@@ -37,7 +37,11 @@ func makeTest(t *testing.T, name string, storeFn func(ctx context.Context, root
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
defer cleanup()
|
||||
defer func() {
|
||||
if err := cleanup(); err != nil && !t.Failed() {
|
||||
t.Fatalf("Cleanup failed: %+v", err)
|
||||
}
|
||||
}()
|
||||
|
||||
defer testutil.DumpDir(t, tmpDir)
|
||||
fn(ctx, t, cs)
|
||||
|
Reference in New Issue
Block a user