testsuites

package
v2.8.1-gitlab+incompat... Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 13, 2020 License: Apache-2.0 Imports: 25 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func RegisterSuite

func RegisterSuite(driverConstructor DriverConstructor, skipCheck SkipCheck)

RegisterSuite registers an in-process storage driver test suite with the go test runner.

func Test

func Test(t *testing.T)

Test hooks up gocheck into the "go test" runner.

Types

type DriverConstructor

type DriverConstructor func() (storagedriver.StorageDriver, error)

DriverConstructor is a function which returns a new storagedriver.StorageDriver.

type DriverSuite

type DriverSuite struct {
	Constructor DriverConstructor
	Teardown    DriverTeardown
	SkipCheck
	storagedriver.StorageDriver
	// contains filtered or unexported fields
}

DriverSuite is a gocheck test suite designed to test a storagedriver.StorageDriver. The intended way to create a DriverSuite is with RegisterSuite.

func (*DriverSuite) BenchmarkDelete50Files

func (suite *DriverSuite) BenchmarkDelete50Files(c *check.C)

BenchmarkDelete50Files benchmarks Delete for 50 small files

func (*DriverSuite) BenchmarkDelete5Files

func (suite *DriverSuite) BenchmarkDelete5Files(c *check.C)

BenchmarkDelete5Files benchmarks Delete for 5 small files

func (*DriverSuite) BenchmarkDeleteFiles100Files

func (suite *DriverSuite) BenchmarkDeleteFiles100Files(c *check.C)

BenchmarkDeleteFiles100Files benchmarks DeleteFiles for 100 files.

func (*DriverSuite) BenchmarkDeleteFiles1File

func (suite *DriverSuite) BenchmarkDeleteFiles1File(c *check.C)

BenchmarkDeleteFiles1File benchmarks DeleteFiles for 1 file.

func (*DriverSuite) BenchmarkDeleteFiles50Files

func (suite *DriverSuite) BenchmarkDeleteFiles50Files(c *check.C)

BenchmarkDeleteFiles50Files benchmarks DeleteFiles for 50 files.

func (*DriverSuite) BenchmarkList50Files

func (suite *DriverSuite) BenchmarkList50Files(c *check.C)

BenchmarkList50Files benchmarks List for 50 small files

func (*DriverSuite) BenchmarkList5Files

func (suite *DriverSuite) BenchmarkList5Files(c *check.C)

BenchmarkList5Files benchmarks List for 5 small files

func (*DriverSuite) BenchmarkMarkAndSweep10Images

func (suite *DriverSuite) BenchmarkMarkAndSweep10Images(c *check.C)

BenchmarkMarkAndSweep10Images uploads 10 images, deletes half and runs garbage collection on the registry.

func (*DriverSuite) BenchmarkMarkAndSweep50Images

func (suite *DriverSuite) BenchmarkMarkAndSweep50Images(c *check.C)

BenchmarkMarkAndSweep50Images uploads 10 images, deletes half and runs garbage collection on the registry.

func (*DriverSuite) BenchmarkPutGet1GBFiles

func (suite *DriverSuite) BenchmarkPutGet1GBFiles(c *check.C)

BenchmarkPutGet1GBFiles benchmarks PutContent/GetContent for 1GB files

func (*DriverSuite) BenchmarkPutGet1KBFiles

func (suite *DriverSuite) BenchmarkPutGet1KBFiles(c *check.C)

BenchmarkPutGet1KBFiles benchmarks PutContent/GetContent for 1KB files

func (*DriverSuite) BenchmarkPutGet1MBFiles

func (suite *DriverSuite) BenchmarkPutGet1MBFiles(c *check.C)

BenchmarkPutGet1MBFiles benchmarks PutContent/GetContent for 1MB files

func (*DriverSuite) BenchmarkPutGetEmptyFiles

func (suite *DriverSuite) BenchmarkPutGetEmptyFiles(c *check.C)

BenchmarkPutGetEmptyFiles benchmarks PutContent/GetContent for 0B files

func (*DriverSuite) BenchmarkRemoveBlob100Blobs

func (suite *DriverSuite) BenchmarkRemoveBlob100Blobs(c *check.C)

BenchmarkRemoveBlob100Blobs creates 100 blobs and deletes them using the storage.Vacuum.RemoveBlob method.

func (*DriverSuite) BenchmarkRemoveBlob10Blobs

func (suite *DriverSuite) BenchmarkRemoveBlob10Blobs(c *check.C)

BenchmarkRemoveBlob10Blobs creates 10 blobs and deletes them using the storage.Vacuum.RemoveBlob method.

func (*DriverSuite) BenchmarkRemoveBlob1Blob

func (suite *DriverSuite) BenchmarkRemoveBlob1Blob(c *check.C)

BenchmarkRemoveBlob1Blob creates 1 blob and deletes it using the storage.Vacuum.RemoveBlob method.

func (*DriverSuite) BenchmarkRemoveBlobs100Blobs

func (suite *DriverSuite) BenchmarkRemoveBlobs100Blobs(c *check.C)

BenchmarkRemoveBlobs100Blobs creates 100 blobs and deletes them using the storage.Vacuum.RemoveBlobs method.

func (*DriverSuite) BenchmarkRemoveBlobs10Blobs

func (suite *DriverSuite) BenchmarkRemoveBlobs10Blobs(c *check.C)

BenchmarkRemoveBlobs10Blobs creates 10 blobs and deletes them using the storage.Vacuum.RemoveBlobs method.

func (*DriverSuite) BenchmarkRemoveBlobs1Blob

func (suite *DriverSuite) BenchmarkRemoveBlobs1Blob(c *check.C)

BenchmarkRemoveBlobs1Blob creates 1 blob and deletes it using the storage.Vacuum.RemoveBlobs method.

func (*DriverSuite) BenchmarkRemoveManifests100Manifests0TagsEach

func (suite *DriverSuite) BenchmarkRemoveManifests100Manifests0TagsEach(c *check.C)

BenchmarkRemoveManifests100Manifests0TagsEach creates 100 manifests with no tags and deletes them using the storage.Vacuum.RemoveManifests method.

func (*DriverSuite) BenchmarkRemoveManifests100Manifests1TagEach

func (suite *DriverSuite) BenchmarkRemoveManifests100Manifests1TagEach(c *check.C)

BenchmarkRemoveManifests100Manifests1TagEach creates 100 manifests with 1 tag each and deletes them using the storage.Vacuum.RemoveManifests method.

func (*DriverSuite) BenchmarkRemoveManifests100Manifests20TagsEach

func (suite *DriverSuite) BenchmarkRemoveManifests100Manifests20TagsEach(c *check.C)

BenchmarkRemoveManifests100Manifests20TagsEach creates 100 manifests with 20 tags each and deletes them using the storage.Vacuum.RemoveManifests method.

func (*DriverSuite) BenchmarkRemoveManifests10Manifests0TagsEach

func (suite *DriverSuite) BenchmarkRemoveManifests10Manifests0TagsEach(c *check.C)

BenchmarkRemoveManifests10Manifests0TagsEach creates 10 manifests with no tags and deletes them using the storage.Vacuum.RemoveManifests method.

func (*DriverSuite) BenchmarkRemoveManifests10Manifests1TagEach

func (suite *DriverSuite) BenchmarkRemoveManifests10Manifests1TagEach(c *check.C)

BenchmarkRemoveManifests10Manifests1TagEach creates 10 manifests with 1 tag each and deletes them using the storage.Vacuum.RemoveManifests method.

func (*DriverSuite) BenchmarkRemoveManifests1Manifest0Tags

func (suite *DriverSuite) BenchmarkRemoveManifests1Manifest0Tags(c *check.C)

BenchmarkRemoveManifests1Manifest0Tags creates 1 manifest with no tags and deletes it using the storage.Vacuum.RemoveManifests method.

func (*DriverSuite) BenchmarkRemoveManifests1Manifest1Tag

func (suite *DriverSuite) BenchmarkRemoveManifests1Manifest1Tag(c *check.C)

BenchmarkRemoveManifests1Manifest1Tag creates 1 manifest with 1 tag and deletes them using the storage.Vacuum.RemoveManifests method.

func (*DriverSuite) BenchmarkStream1GBFiles

func (suite *DriverSuite) BenchmarkStream1GBFiles(c *check.C)

BenchmarkStream1GBFiles benchmarks Writer/Reader for 1GB files

func (*DriverSuite) BenchmarkStream1KBFiles

func (suite *DriverSuite) BenchmarkStream1KBFiles(c *check.C)

BenchmarkStream1KBFiles benchmarks Writer/Reader for 1KB files

func (*DriverSuite) BenchmarkStream1MBFiles

func (suite *DriverSuite) BenchmarkStream1MBFiles(c *check.C)

BenchmarkStream1MBFiles benchmarks Writer/Reader for 1MB files

func (*DriverSuite) BenchmarkStreamEmptyFiles

func (suite *DriverSuite) BenchmarkStreamEmptyFiles(c *check.C)

BenchmarkStreamEmptyFiles benchmarks Writer/Reader for 0B files

func (*DriverSuite) BenchmarkWalkParallelNop10Files

func (suite *DriverSuite) BenchmarkWalkParallelNop10Files(c *check.C)

BenchmarkWalkParallelNop10Files benchmarks WalkParallel with a Nop function that visits 10 files

func (*DriverSuite) BenchmarkWalkParallelNop500Files

func (suite *DriverSuite) BenchmarkWalkParallelNop500Files(c *check.C)

BenchmarkWalkParallelNop500Files benchmarks WalkParallel with a Nop function that visits 500 files

func (*DriverSuite) SetUpSuite

func (suite *DriverSuite) SetUpSuite(c *check.C)

SetUpSuite sets up the gocheck test suite.

func (*DriverSuite) TearDownSuite

func (suite *DriverSuite) TearDownSuite(c *check.C)

TearDownSuite tears down the gocheck test suite.

func (*DriverSuite) TearDownTest

func (suite *DriverSuite) TearDownTest(c *check.C)

TearDownTest tears down the gocheck test. This causes the suite to abort if any files are left around in the storage driver.

func (*DriverSuite) TestConcurrentFileStreams

func (suite *DriverSuite) TestConcurrentFileStreams(c *check.C)

TestConcurrentFileStreams checks that multiple *os.File objects can be passed in to Writer concurrently without hanging.

func (*DriverSuite) TestConcurrentStreamReads

func (suite *DriverSuite) TestConcurrentStreamReads(c *check.C)

TestConcurrentStreamReads checks that multiple clients can safely read from the same file simultaneously with various offsets.

func (*DriverSuite) TestContinueStreamAppendLarge

func (suite *DriverSuite) TestContinueStreamAppendLarge(c *check.C)

TestContinueStreamAppendLarge tests that a stream write can be appended to without corrupting the data with a large chunk size.

func (*DriverSuite) TestContinueStreamAppendSmall

func (suite *DriverSuite) TestContinueStreamAppendSmall(c *check.C)

TestContinueStreamAppendSmall is the same as TestContinueStreamAppendLarge, but only with a tiny chunk size in order to test corner cases for some cloud storage drivers.

func (*DriverSuite) TestDelete

func (suite *DriverSuite) TestDelete(c *check.C)

TestDelete checks that the delete operation removes data from the storage driver

func (*DriverSuite) TestDeleteFiles

func (suite *DriverSuite) TestDeleteFiles(c *check.C)

TestDeleteFiles checks that DeleteFiles removes data from the storage driver for a random (<10) number of files.

func (*DriverSuite) TestDeleteFilesNotFound

func (suite *DriverSuite) TestDeleteFilesNotFound(c *check.C)

TestDeleteFilesNotFound checks that DeleteFiles is idempotent and doesn't return an error if a file was not found.

func (*DriverSuite) TestDeleteFolder

func (suite *DriverSuite) TestDeleteFolder(c *check.C)

TestDeleteFolder checks that deleting a folder removes all child elements.

func (*DriverSuite) TestDeleteNonexistent

func (suite *DriverSuite) TestDeleteNonexistent(c *check.C)

TestDeleteNonexistent checks that removing a nonexistent key fails.

func (*DriverSuite) TestDeleteOnlyDeletesSubpaths

func (suite *DriverSuite) TestDeleteOnlyDeletesSubpaths(c *check.C)

TestDeleteOnlyDeletesSubpaths checks that deleting path A does not delete path B when A is a prefix of B but B is not a subpath of A (so that deleting "/a" does not delete "/ab"). This matters for services like S3 that do not implement directories.

func (*DriverSuite) TestInvalidPaths

func (suite *DriverSuite) TestInvalidPaths(c *check.C)

TestInvalidPaths checks that various invalid file paths are rejected by the storage driver.

func (*DriverSuite) TestList

func (suite *DriverSuite) TestList(c *check.C)

TestList checks the returned list of keys after populating a directory tree.

func (*DriverSuite) TestMove

func (suite *DriverSuite) TestMove(c *check.C)

TestMove checks that a moved object no longer exists at the source path and does exist at the destination.

func (*DriverSuite) TestMoveInvalid

func (suite *DriverSuite) TestMoveInvalid(c *check.C)

TestMoveInvalid provides various checks for invalid moves.

func (*DriverSuite) TestMoveNonexistent

func (suite *DriverSuite) TestMoveNonexistent(c *check.C)

TestMoveNonexistent checks that moving a nonexistent key fails and does not delete the data at the destination path.

func (*DriverSuite) TestMoveOverwrite

func (suite *DriverSuite) TestMoveOverwrite(c *check.C)

TestMoveOverwrite checks that a moved object no longer exists at the source path and overwrites the contents at the destination.

func (*DriverSuite) TestPutContentMultipleTimes

func (suite *DriverSuite) TestPutContentMultipleTimes(c *check.C)

TestPutContentMultipleTimes checks that if storage driver can overwrite the content in the subsequent puts. Validates that PutContent does not have to work with an offset like Writer does and overwrites the file entirely rather than writing the data to the [0,len(data)) of the file.

func (*DriverSuite) TestReadNonexistent

func (suite *DriverSuite) TestReadNonexistent(c *check.C)

TestReadNonexistent tests reading content from an empty path.

func (*DriverSuite) TestReadNonexistentStream

func (suite *DriverSuite) TestReadNonexistentStream(c *check.C)

TestReadNonexistentStream tests that reading a stream for a nonexistent path fails.

func (*DriverSuite) TestReaderWithOffset

func (suite *DriverSuite) TestReaderWithOffset(c *check.C)

TestReaderWithOffset tests that the appropriate data is streamed when reading with a given offset.

func (*DriverSuite) TestRemoveBlob

func (suite *DriverSuite) TestRemoveBlob(c *check.C)

TestRemoveBlob checks that storage.Vacuum is able to delete a single blob.

func (*DriverSuite) TestRemoveBlobs

func (suite *DriverSuite) TestRemoveBlobs(c *check.C)

TestRemoveBlobs checks that storage.Vacuum is able to delete a set of blobs in bulk.

func (*DriverSuite) TestRemoveManifests

func (suite *DriverSuite) TestRemoveManifests(c *check.C)

TestRemoveManifests checks that storage.Vacuum is able to delete a set of manifests in bulk.

func (*DriverSuite) TestRootExists

func (suite *DriverSuite) TestRootExists(c *check.C)

TestRootExists ensures that all storage drivers have a root path by default.

func (*DriverSuite) TestStatCall

func (suite *DriverSuite) TestStatCall(c *check.C)

TestStatCall runs verifies the implementation of the storagedriver's Stat call.

func (*DriverSuite) TestTruncate

func (suite *DriverSuite) TestTruncate(c *check.C)

TestTruncate tests that putting smaller contents than an original file does remove the excess contents.

func (*DriverSuite) TestURLFor

func (suite *DriverSuite) TestURLFor(c *check.C)

TestURLFor checks that the URLFor method functions properly, but only if it is implemented

func (*DriverSuite) TestValidPaths

func (suite *DriverSuite) TestValidPaths(c *check.C)

TestValidPaths checks that various valid file paths are accepted by the storage driver.

func (*DriverSuite) TestWalkParallel

func (suite *DriverSuite) TestWalkParallel(c *check.C)

TestWalkParallel ensures that all files are visted by WalkParallel.

func (*DriverSuite) TestWalkParallelError

func (suite *DriverSuite) TestWalkParallelError(c *check.C)

TestWalkParallelError ensures that walk reports WalkFn errors.

func (*DriverSuite) TestWalkParallelStopsProcessingOnError

func (suite *DriverSuite) TestWalkParallelStopsProcessingOnError(c *check.C)

TestWalkParallelStopsProcessingOnError ensures that walk stops processing when an error is encountered.

func (*DriverSuite) TestWriteRead1

func (suite *DriverSuite) TestWriteRead1(c *check.C)

TestWriteRead1 tests a simple write-read workflow.

func (*DriverSuite) TestWriteRead2

func (suite *DriverSuite) TestWriteRead2(c *check.C)

TestWriteRead2 tests a simple write-read workflow with unicode data.

func (*DriverSuite) TestWriteRead3

func (suite *DriverSuite) TestWriteRead3(c *check.C)

TestWriteRead3 tests a simple write-read workflow with a small string.

func (*DriverSuite) TestWriteRead4

func (suite *DriverSuite) TestWriteRead4(c *check.C)

TestWriteRead4 tests a simple write-read workflow with 1MB of data.

func (*DriverSuite) TestWriteReadLargeStreams

func (suite *DriverSuite) TestWriteReadLargeStreams(c *check.C)

TestWriteReadLargeStreams tests that a 5GB file may be written to the storage driver safely.

func (*DriverSuite) TestWriteReadNonUTF8

func (suite *DriverSuite) TestWriteReadNonUTF8(c *check.C)

TestWriteReadNonUTF8 tests that non-utf8 data may be written to the storage driver safely.

func (*DriverSuite) TestWriteReadStreams1

func (suite *DriverSuite) TestWriteReadStreams1(c *check.C)

TestWriteReadStreams1 tests a simple write-read streaming workflow.

func (*DriverSuite) TestWriteReadStreams2

func (suite *DriverSuite) TestWriteReadStreams2(c *check.C)

TestWriteReadStreams2 tests a simple write-read streaming workflow with unicode data.

func (*DriverSuite) TestWriteReadStreams3

func (suite *DriverSuite) TestWriteReadStreams3(c *check.C)

TestWriteReadStreams3 tests a simple write-read streaming workflow with a small amount of data.

func (*DriverSuite) TestWriteReadStreams4

func (suite *DriverSuite) TestWriteReadStreams4(c *check.C)

TestWriteReadStreams4 tests a simple write-read streaming workflow with 1MB of data.

func (*DriverSuite) TestWriteReadStreamsNonUTF8

func (suite *DriverSuite) TestWriteReadStreamsNonUTF8(c *check.C)

TestWriteReadStreamsNonUTF8 tests that non-utf8 data may be written to the storage driver safely.

type DriverTeardown

type DriverTeardown func() error

DriverTeardown is a function which cleans up a suite's storagedriver.StorageDriver.

type SkipCheck

type SkipCheck func() (reason string)

SkipCheck is a function used to determine if a test suite should be skipped. If a SkipCheck returns a non-empty skip reason, the suite is skipped with the given reason.

var NeverSkip SkipCheck = func() string { return "" }

NeverSkip is a default SkipCheck which never skips the suite.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL