forked from TrueCloudLab/rclone
fstests: add TestInternal (#2085)
TestInternal allows to perform a custom test on the backend using the optional InternalTester interface.
This commit is contained in:
parent
9252224d82
commit
aeefa34f62
23 changed files with 39 additions and 0 deletions
|
@ -71,4 +71,5 @@ func TestFsIsFileNotFound(t *testing.T) { fstests.TestFsIsFileNotFound(t) }
|
||||||
func TestObjectRemove(t *testing.T) { fstests.TestObjectRemove(t) }
|
func TestObjectRemove(t *testing.T) { fstests.TestObjectRemove(t) }
|
||||||
func TestFsPutStream(t *testing.T) { fstests.TestFsPutStream(t) }
|
func TestFsPutStream(t *testing.T) { fstests.TestFsPutStream(t) }
|
||||||
func TestObjectPurge(t *testing.T) { fstests.TestObjectPurge(t) }
|
func TestObjectPurge(t *testing.T) { fstests.TestObjectPurge(t) }
|
||||||
|
func TestInternal(t *testing.T) { fstests.TestInternal(t) }
|
||||||
func TestFinalise(t *testing.T) { fstests.TestFinalise(t) }
|
func TestFinalise(t *testing.T) { fstests.TestFinalise(t) }
|
||||||
|
|
|
@ -74,4 +74,5 @@ func TestFsIsFileNotFound(t *testing.T) { fstests.TestFsIsFileNotFound(t) }
|
||||||
func TestObjectRemove(t *testing.T) { fstests.TestObjectRemove(t) }
|
func TestObjectRemove(t *testing.T) { fstests.TestObjectRemove(t) }
|
||||||
func TestFsPutStream(t *testing.T) { fstests.TestFsPutStream(t) }
|
func TestFsPutStream(t *testing.T) { fstests.TestFsPutStream(t) }
|
||||||
func TestObjectPurge(t *testing.T) { fstests.TestObjectPurge(t) }
|
func TestObjectPurge(t *testing.T) { fstests.TestObjectPurge(t) }
|
||||||
|
func TestInternal(t *testing.T) { fstests.TestInternal(t) }
|
||||||
func TestFinalise(t *testing.T) { fstests.TestFinalise(t) }
|
func TestFinalise(t *testing.T) { fstests.TestFinalise(t) }
|
||||||
|
|
|
@ -71,4 +71,5 @@ func TestFsIsFileNotFound(t *testing.T) { fstests.TestFsIsFileNotFound(t) }
|
||||||
func TestObjectRemove(t *testing.T) { fstests.TestObjectRemove(t) }
|
func TestObjectRemove(t *testing.T) { fstests.TestObjectRemove(t) }
|
||||||
func TestFsPutStream(t *testing.T) { fstests.TestFsPutStream(t) }
|
func TestFsPutStream(t *testing.T) { fstests.TestFsPutStream(t) }
|
||||||
func TestObjectPurge(t *testing.T) { fstests.TestObjectPurge(t) }
|
func TestObjectPurge(t *testing.T) { fstests.TestObjectPurge(t) }
|
||||||
|
func TestInternal(t *testing.T) { fstests.TestInternal(t) }
|
||||||
func TestFinalise(t *testing.T) { fstests.TestFinalise(t) }
|
func TestFinalise(t *testing.T) { fstests.TestFinalise(t) }
|
||||||
|
|
|
@ -71,4 +71,5 @@ func TestFsIsFileNotFound(t *testing.T) { fstests.TestFsIsFileNotFound(t) }
|
||||||
func TestObjectRemove(t *testing.T) { fstests.TestObjectRemove(t) }
|
func TestObjectRemove(t *testing.T) { fstests.TestObjectRemove(t) }
|
||||||
func TestFsPutStream(t *testing.T) { fstests.TestFsPutStream(t) }
|
func TestFsPutStream(t *testing.T) { fstests.TestFsPutStream(t) }
|
||||||
func TestObjectPurge(t *testing.T) { fstests.TestObjectPurge(t) }
|
func TestObjectPurge(t *testing.T) { fstests.TestObjectPurge(t) }
|
||||||
|
func TestInternal(t *testing.T) { fstests.TestInternal(t) }
|
||||||
func TestFinalise(t *testing.T) { fstests.TestFinalise(t) }
|
func TestFinalise(t *testing.T) { fstests.TestFinalise(t) }
|
||||||
|
|
1
backend/cache/cache_test.go
vendored
1
backend/cache/cache_test.go
vendored
|
@ -75,4 +75,5 @@ func TestFsIsFileNotFound(t *testing.T) { fstests.TestFsIsFileNotFound(t) }
|
||||||
func TestObjectRemove(t *testing.T) { fstests.TestObjectRemove(t) }
|
func TestObjectRemove(t *testing.T) { fstests.TestObjectRemove(t) }
|
||||||
func TestFsPutStream(t *testing.T) { fstests.TestFsPutStream(t) }
|
func TestFsPutStream(t *testing.T) { fstests.TestFsPutStream(t) }
|
||||||
func TestObjectPurge(t *testing.T) { fstests.TestObjectPurge(t) }
|
func TestObjectPurge(t *testing.T) { fstests.TestObjectPurge(t) }
|
||||||
|
func TestInternal(t *testing.T) { fstests.TestInternal(t) }
|
||||||
func TestFinalise(t *testing.T) { fstests.TestFinalise(t) }
|
func TestFinalise(t *testing.T) { fstests.TestFinalise(t) }
|
||||||
|
|
|
@ -72,4 +72,5 @@ func TestFsIsFileNotFound2(t *testing.T) { fstests.TestFsIsFileNotFound(t) }
|
||||||
func TestObjectRemove2(t *testing.T) { fstests.TestObjectRemove(t) }
|
func TestObjectRemove2(t *testing.T) { fstests.TestObjectRemove(t) }
|
||||||
func TestFsPutStream2(t *testing.T) { fstests.TestFsPutStream(t) }
|
func TestFsPutStream2(t *testing.T) { fstests.TestFsPutStream(t) }
|
||||||
func TestObjectPurge2(t *testing.T) { fstests.TestObjectPurge(t) }
|
func TestObjectPurge2(t *testing.T) { fstests.TestObjectPurge(t) }
|
||||||
|
func TestInternal2(t *testing.T) { fstests.TestInternal(t) }
|
||||||
func TestFinalise2(t *testing.T) { fstests.TestFinalise(t) }
|
func TestFinalise2(t *testing.T) { fstests.TestFinalise(t) }
|
||||||
|
|
|
@ -72,4 +72,5 @@ func TestFsIsFileNotFound3(t *testing.T) { fstests.TestFsIsFileNotFound(t) }
|
||||||
func TestObjectRemove3(t *testing.T) { fstests.TestObjectRemove(t) }
|
func TestObjectRemove3(t *testing.T) { fstests.TestObjectRemove(t) }
|
||||||
func TestFsPutStream3(t *testing.T) { fstests.TestFsPutStream(t) }
|
func TestFsPutStream3(t *testing.T) { fstests.TestFsPutStream(t) }
|
||||||
func TestObjectPurge3(t *testing.T) { fstests.TestObjectPurge(t) }
|
func TestObjectPurge3(t *testing.T) { fstests.TestObjectPurge(t) }
|
||||||
|
func TestInternal3(t *testing.T) { fstests.TestInternal(t) }
|
||||||
func TestFinalise3(t *testing.T) { fstests.TestFinalise(t) }
|
func TestFinalise3(t *testing.T) { fstests.TestFinalise(t) }
|
||||||
|
|
|
@ -72,4 +72,5 @@ func TestFsIsFileNotFound(t *testing.T) { fstests.TestFsIsFileNotFound(t) }
|
||||||
func TestObjectRemove(t *testing.T) { fstests.TestObjectRemove(t) }
|
func TestObjectRemove(t *testing.T) { fstests.TestObjectRemove(t) }
|
||||||
func TestFsPutStream(t *testing.T) { fstests.TestFsPutStream(t) }
|
func TestFsPutStream(t *testing.T) { fstests.TestFsPutStream(t) }
|
||||||
func TestObjectPurge(t *testing.T) { fstests.TestObjectPurge(t) }
|
func TestObjectPurge(t *testing.T) { fstests.TestObjectPurge(t) }
|
||||||
|
func TestInternal(t *testing.T) { fstests.TestInternal(t) }
|
||||||
func TestFinalise(t *testing.T) { fstests.TestFinalise(t) }
|
func TestFinalise(t *testing.T) { fstests.TestFinalise(t) }
|
||||||
|
|
|
@ -71,4 +71,5 @@ func TestFsIsFileNotFound(t *testing.T) { fstests.TestFsIsFileNotFound(t) }
|
||||||
func TestObjectRemove(t *testing.T) { fstests.TestObjectRemove(t) }
|
func TestObjectRemove(t *testing.T) { fstests.TestObjectRemove(t) }
|
||||||
func TestFsPutStream(t *testing.T) { fstests.TestFsPutStream(t) }
|
func TestFsPutStream(t *testing.T) { fstests.TestFsPutStream(t) }
|
||||||
func TestObjectPurge(t *testing.T) { fstests.TestObjectPurge(t) }
|
func TestObjectPurge(t *testing.T) { fstests.TestObjectPurge(t) }
|
||||||
|
func TestInternal(t *testing.T) { fstests.TestInternal(t) }
|
||||||
func TestFinalise(t *testing.T) { fstests.TestFinalise(t) }
|
func TestFinalise(t *testing.T) { fstests.TestFinalise(t) }
|
||||||
|
|
|
@ -74,4 +74,5 @@ func TestFsIsFileNotFound(t *testing.T) { fstests.TestFsIsFileNotFound(t) }
|
||||||
func TestObjectRemove(t *testing.T) { fstests.TestObjectRemove(t) }
|
func TestObjectRemove(t *testing.T) { fstests.TestObjectRemove(t) }
|
||||||
func TestFsPutStream(t *testing.T) { fstests.TestFsPutStream(t) }
|
func TestFsPutStream(t *testing.T) { fstests.TestFsPutStream(t) }
|
||||||
func TestObjectPurge(t *testing.T) { fstests.TestObjectPurge(t) }
|
func TestObjectPurge(t *testing.T) { fstests.TestObjectPurge(t) }
|
||||||
|
func TestInternal(t *testing.T) { fstests.TestInternal(t) }
|
||||||
func TestFinalise(t *testing.T) { fstests.TestFinalise(t) }
|
func TestFinalise(t *testing.T) { fstests.TestFinalise(t) }
|
||||||
|
|
|
@ -71,4 +71,5 @@ func TestFsIsFileNotFound(t *testing.T) { fstests.TestFsIsFileNotFound(t) }
|
||||||
func TestObjectRemove(t *testing.T) { fstests.TestObjectRemove(t) }
|
func TestObjectRemove(t *testing.T) { fstests.TestObjectRemove(t) }
|
||||||
func TestFsPutStream(t *testing.T) { fstests.TestFsPutStream(t) }
|
func TestFsPutStream(t *testing.T) { fstests.TestFsPutStream(t) }
|
||||||
func TestObjectPurge(t *testing.T) { fstests.TestObjectPurge(t) }
|
func TestObjectPurge(t *testing.T) { fstests.TestObjectPurge(t) }
|
||||||
|
func TestInternal(t *testing.T) { fstests.TestInternal(t) }
|
||||||
func TestFinalise(t *testing.T) { fstests.TestFinalise(t) }
|
func TestFinalise(t *testing.T) { fstests.TestFinalise(t) }
|
||||||
|
|
|
@ -71,4 +71,5 @@ func TestFsIsFileNotFound(t *testing.T) { fstests.TestFsIsFileNotFound(t) }
|
||||||
func TestObjectRemove(t *testing.T) { fstests.TestObjectRemove(t) }
|
func TestObjectRemove(t *testing.T) { fstests.TestObjectRemove(t) }
|
||||||
func TestFsPutStream(t *testing.T) { fstests.TestFsPutStream(t) }
|
func TestFsPutStream(t *testing.T) { fstests.TestFsPutStream(t) }
|
||||||
func TestObjectPurge(t *testing.T) { fstests.TestObjectPurge(t) }
|
func TestObjectPurge(t *testing.T) { fstests.TestObjectPurge(t) }
|
||||||
|
func TestInternal(t *testing.T) { fstests.TestInternal(t) }
|
||||||
func TestFinalise(t *testing.T) { fstests.TestFinalise(t) }
|
func TestFinalise(t *testing.T) { fstests.TestFinalise(t) }
|
||||||
|
|
|
@ -71,4 +71,5 @@ func TestFsIsFileNotFound(t *testing.T) { fstests.TestFsIsFileNotFound(t) }
|
||||||
func TestObjectRemove(t *testing.T) { fstests.TestObjectRemove(t) }
|
func TestObjectRemove(t *testing.T) { fstests.TestObjectRemove(t) }
|
||||||
func TestFsPutStream(t *testing.T) { fstests.TestFsPutStream(t) }
|
func TestFsPutStream(t *testing.T) { fstests.TestFsPutStream(t) }
|
||||||
func TestObjectPurge(t *testing.T) { fstests.TestObjectPurge(t) }
|
func TestObjectPurge(t *testing.T) { fstests.TestObjectPurge(t) }
|
||||||
|
func TestInternal(t *testing.T) { fstests.TestInternal(t) }
|
||||||
func TestFinalise(t *testing.T) { fstests.TestFinalise(t) }
|
func TestFinalise(t *testing.T) { fstests.TestFinalise(t) }
|
||||||
|
|
|
@ -71,4 +71,5 @@ func TestFsIsFileNotFound(t *testing.T) { fstests.TestFsIsFileNotFound(t) }
|
||||||
func TestObjectRemove(t *testing.T) { fstests.TestObjectRemove(t) }
|
func TestObjectRemove(t *testing.T) { fstests.TestObjectRemove(t) }
|
||||||
func TestFsPutStream(t *testing.T) { fstests.TestFsPutStream(t) }
|
func TestFsPutStream(t *testing.T) { fstests.TestFsPutStream(t) }
|
||||||
func TestObjectPurge(t *testing.T) { fstests.TestObjectPurge(t) }
|
func TestObjectPurge(t *testing.T) { fstests.TestObjectPurge(t) }
|
||||||
|
func TestInternal(t *testing.T) { fstests.TestInternal(t) }
|
||||||
func TestFinalise(t *testing.T) { fstests.TestFinalise(t) }
|
func TestFinalise(t *testing.T) { fstests.TestFinalise(t) }
|
||||||
|
|
|
@ -71,4 +71,5 @@ func TestFsIsFileNotFound(t *testing.T) { fstests.TestFsIsFileNotFound(t) }
|
||||||
func TestObjectRemove(t *testing.T) { fstests.TestObjectRemove(t) }
|
func TestObjectRemove(t *testing.T) { fstests.TestObjectRemove(t) }
|
||||||
func TestFsPutStream(t *testing.T) { fstests.TestFsPutStream(t) }
|
func TestFsPutStream(t *testing.T) { fstests.TestFsPutStream(t) }
|
||||||
func TestObjectPurge(t *testing.T) { fstests.TestObjectPurge(t) }
|
func TestObjectPurge(t *testing.T) { fstests.TestObjectPurge(t) }
|
||||||
|
func TestInternal(t *testing.T) { fstests.TestInternal(t) }
|
||||||
func TestFinalise(t *testing.T) { fstests.TestFinalise(t) }
|
func TestFinalise(t *testing.T) { fstests.TestFinalise(t) }
|
||||||
|
|
|
@ -71,4 +71,5 @@ func TestFsIsFileNotFound(t *testing.T) { fstests.TestFsIsFileNotFound(t) }
|
||||||
func TestObjectRemove(t *testing.T) { fstests.TestObjectRemove(t) }
|
func TestObjectRemove(t *testing.T) { fstests.TestObjectRemove(t) }
|
||||||
func TestFsPutStream(t *testing.T) { fstests.TestFsPutStream(t) }
|
func TestFsPutStream(t *testing.T) { fstests.TestFsPutStream(t) }
|
||||||
func TestObjectPurge(t *testing.T) { fstests.TestObjectPurge(t) }
|
func TestObjectPurge(t *testing.T) { fstests.TestObjectPurge(t) }
|
||||||
|
func TestInternal(t *testing.T) { fstests.TestInternal(t) }
|
||||||
func TestFinalise(t *testing.T) { fstests.TestFinalise(t) }
|
func TestFinalise(t *testing.T) { fstests.TestFinalise(t) }
|
||||||
|
|
|
@ -74,4 +74,5 @@ func TestFsIsFileNotFound(t *testing.T) { fstests.TestFsIsFileNotFound(t) }
|
||||||
func TestObjectRemove(t *testing.T) { fstests.TestObjectRemove(t) }
|
func TestObjectRemove(t *testing.T) { fstests.TestObjectRemove(t) }
|
||||||
func TestFsPutStream(t *testing.T) { fstests.TestFsPutStream(t) }
|
func TestFsPutStream(t *testing.T) { fstests.TestFsPutStream(t) }
|
||||||
func TestObjectPurge(t *testing.T) { fstests.TestObjectPurge(t) }
|
func TestObjectPurge(t *testing.T) { fstests.TestObjectPurge(t) }
|
||||||
|
func TestInternal(t *testing.T) { fstests.TestInternal(t) }
|
||||||
func TestFinalise(t *testing.T) { fstests.TestFinalise(t) }
|
func TestFinalise(t *testing.T) { fstests.TestFinalise(t) }
|
||||||
|
|
|
@ -71,4 +71,5 @@ func TestFsIsFileNotFound(t *testing.T) { fstests.TestFsIsFileNotFound(t) }
|
||||||
func TestObjectRemove(t *testing.T) { fstests.TestObjectRemove(t) }
|
func TestObjectRemove(t *testing.T) { fstests.TestObjectRemove(t) }
|
||||||
func TestFsPutStream(t *testing.T) { fstests.TestFsPutStream(t) }
|
func TestFsPutStream(t *testing.T) { fstests.TestFsPutStream(t) }
|
||||||
func TestObjectPurge(t *testing.T) { fstests.TestObjectPurge(t) }
|
func TestObjectPurge(t *testing.T) { fstests.TestObjectPurge(t) }
|
||||||
|
func TestInternal(t *testing.T) { fstests.TestInternal(t) }
|
||||||
func TestFinalise(t *testing.T) { fstests.TestFinalise(t) }
|
func TestFinalise(t *testing.T) { fstests.TestFinalise(t) }
|
||||||
|
|
|
@ -71,4 +71,5 @@ func TestFsIsFileNotFound(t *testing.T) { fstests.TestFsIsFileNotFound(t) }
|
||||||
func TestObjectRemove(t *testing.T) { fstests.TestObjectRemove(t) }
|
func TestObjectRemove(t *testing.T) { fstests.TestObjectRemove(t) }
|
||||||
func TestFsPutStream(t *testing.T) { fstests.TestFsPutStream(t) }
|
func TestFsPutStream(t *testing.T) { fstests.TestFsPutStream(t) }
|
||||||
func TestObjectPurge(t *testing.T) { fstests.TestObjectPurge(t) }
|
func TestObjectPurge(t *testing.T) { fstests.TestObjectPurge(t) }
|
||||||
|
func TestInternal(t *testing.T) { fstests.TestInternal(t) }
|
||||||
func TestFinalise(t *testing.T) { fstests.TestFinalise(t) }
|
func TestFinalise(t *testing.T) { fstests.TestFinalise(t) }
|
||||||
|
|
|
@ -71,4 +71,5 @@ func TestFsIsFileNotFound(t *testing.T) { fstests.TestFsIsFileNotFound(t) }
|
||||||
func TestObjectRemove(t *testing.T) { fstests.TestObjectRemove(t) }
|
func TestObjectRemove(t *testing.T) { fstests.TestObjectRemove(t) }
|
||||||
func TestFsPutStream(t *testing.T) { fstests.TestFsPutStream(t) }
|
func TestFsPutStream(t *testing.T) { fstests.TestFsPutStream(t) }
|
||||||
func TestObjectPurge(t *testing.T) { fstests.TestObjectPurge(t) }
|
func TestObjectPurge(t *testing.T) { fstests.TestObjectPurge(t) }
|
||||||
|
func TestInternal(t *testing.T) { fstests.TestInternal(t) }
|
||||||
func TestFinalise(t *testing.T) { fstests.TestFinalise(t) }
|
func TestFinalise(t *testing.T) { fstests.TestFinalise(t) }
|
||||||
|
|
|
@ -71,4 +71,5 @@ func TestFsIsFileNotFound(t *testing.T) { fstests.TestFsIsFileNotFound(t) }
|
||||||
func TestObjectRemove(t *testing.T) { fstests.TestObjectRemove(t) }
|
func TestObjectRemove(t *testing.T) { fstests.TestObjectRemove(t) }
|
||||||
func TestFsPutStream(t *testing.T) { fstests.TestFsPutStream(t) }
|
func TestFsPutStream(t *testing.T) { fstests.TestFsPutStream(t) }
|
||||||
func TestObjectPurge(t *testing.T) { fstests.TestObjectPurge(t) }
|
func TestObjectPurge(t *testing.T) { fstests.TestObjectPurge(t) }
|
||||||
|
func TestInternal(t *testing.T) { fstests.TestInternal(t) }
|
||||||
func TestFinalise(t *testing.T) { fstests.TestFinalise(t) }
|
func TestFinalise(t *testing.T) { fstests.TestFinalise(t) }
|
||||||
|
|
|
@ -71,4 +71,5 @@ func TestFsIsFileNotFound(t *testing.T) { fstests.TestFsIsFileNotFound(t) }
|
||||||
func TestObjectRemove(t *testing.T) { fstests.TestObjectRemove(t) }
|
func TestObjectRemove(t *testing.T) { fstests.TestObjectRemove(t) }
|
||||||
func TestFsPutStream(t *testing.T) { fstests.TestFsPutStream(t) }
|
func TestFsPutStream(t *testing.T) { fstests.TestFsPutStream(t) }
|
||||||
func TestObjectPurge(t *testing.T) { fstests.TestObjectPurge(t) }
|
func TestObjectPurge(t *testing.T) { fstests.TestObjectPurge(t) }
|
||||||
|
func TestInternal(t *testing.T) { fstests.TestInternal(t) }
|
||||||
func TestFinalise(t *testing.T) { fstests.TestFinalise(t) }
|
func TestFinalise(t *testing.T) { fstests.TestFinalise(t) }
|
||||||
|
|
|
@ -57,6 +57,13 @@ var (
|
||||||
isLocalRemote bool
|
isLocalRemote bool
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// InternalTester is an optional interface for Fs which allows to execute internal tests
|
||||||
|
//
|
||||||
|
// This interface should be implemented in 'backend'_internal_test.go and not in 'backend'.go
|
||||||
|
type InternalTester interface {
|
||||||
|
InternalTest(*testing.T)
|
||||||
|
}
|
||||||
|
|
||||||
// ExtraConfigItem describes a config item added on the fly while testing
|
// ExtraConfigItem describes a config item added on the fly while testing
|
||||||
type ExtraConfigItem struct{ Name, Key, Value string }
|
type ExtraConfigItem struct{ Name, Key, Value string }
|
||||||
|
|
||||||
|
@ -970,6 +977,16 @@ func TestObjectPurge(t *testing.T) {
|
||||||
assert.Error(t, err, "Expecting error after on second purge")
|
assert.Error(t, err, "Expecting error after on second purge")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// TestInternal calls InternalTest() on the Fs
|
||||||
|
func TestInternal(t *testing.T) {
|
||||||
|
skipIfNotOk(t)
|
||||||
|
if it, ok := remote.(InternalTester); ok {
|
||||||
|
it.InternalTest(t)
|
||||||
|
} else {
|
||||||
|
t.Skipf("%T does not implement InternalTester", remote)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// TestFinalise tidies up after the previous tests
|
// TestFinalise tidies up after the previous tests
|
||||||
func TestFinalise(t *testing.T) {
|
func TestFinalise(t *testing.T) {
|
||||||
skipIfNotOk(t)
|
skipIfNotOk(t)
|
||||||
|
|
Loading…
Reference in a new issue