backend: allow wrapping backend tests to run in make quicktest
This commit is contained in:
parent
c556e98f49
commit
866c873daa
9 changed files with 32 additions and 5 deletions
|
@ -53,6 +53,7 @@ func TestIntegration(t *testing.T) {
|
||||||
{Name: name, Key: "type", Value: "chunker"},
|
{Name: name, Key: "type", Value: "chunker"},
|
||||||
{Name: name, Key: "remote", Value: tempDir},
|
{Name: name, Key: "remote", Value: tempDir},
|
||||||
}
|
}
|
||||||
|
opt.QuickTestOK = true
|
||||||
}
|
}
|
||||||
fstests.Run(t, &opt)
|
fstests.Run(t, &opt)
|
||||||
}
|
}
|
||||||
|
|
|
@ -35,6 +35,7 @@ func TestLocal(t *testing.T) {
|
||||||
{Name: name, Key: "type", Value: "combine"},
|
{Name: name, Key: "type", Value: "combine"},
|
||||||
{Name: name, Key: "upstreams", Value: upstreams},
|
{Name: name, Key: "upstreams", Value: upstreams},
|
||||||
},
|
},
|
||||||
|
QuickTestOK: true,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -50,6 +51,7 @@ func TestMemory(t *testing.T) {
|
||||||
{Name: name, Key: "type", Value: "combine"},
|
{Name: name, Key: "type", Value: "combine"},
|
||||||
{Name: name, Key: "upstreams", Value: upstreams},
|
{Name: name, Key: "upstreams", Value: upstreams},
|
||||||
},
|
},
|
||||||
|
QuickTestOK: true,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -61,5 +61,6 @@ func TestRemoteGzip(t *testing.T) {
|
||||||
{Name: name, Key: "remote", Value: tempdir},
|
{Name: name, Key: "remote", Value: tempdir},
|
||||||
{Name: name, Key: "compression_mode", Value: "gzip"},
|
{Name: name, Key: "compression_mode", Value: "gzip"},
|
||||||
},
|
},
|
||||||
|
QuickTestOK: true,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,6 +4,7 @@ package crypt_test
|
||||||
import (
|
import (
|
||||||
"os"
|
"os"
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
|
"runtime"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"github.com/rclone/rclone/backend/crypt"
|
"github.com/rclone/rclone/backend/crypt"
|
||||||
|
@ -46,6 +47,7 @@ func TestStandardBase32(t *testing.T) {
|
||||||
},
|
},
|
||||||
UnimplementableFsMethods: []string{"OpenWriterAt"},
|
UnimplementableFsMethods: []string{"OpenWriterAt"},
|
||||||
UnimplementableObjectMethods: []string{"MimeType"},
|
UnimplementableObjectMethods: []string{"MimeType"},
|
||||||
|
QuickTestOK: true,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -67,6 +69,7 @@ func TestStandardBase64(t *testing.T) {
|
||||||
},
|
},
|
||||||
UnimplementableFsMethods: []string{"OpenWriterAt"},
|
UnimplementableFsMethods: []string{"OpenWriterAt"},
|
||||||
UnimplementableObjectMethods: []string{"MimeType"},
|
UnimplementableObjectMethods: []string{"MimeType"},
|
||||||
|
QuickTestOK: true,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -88,6 +91,7 @@ func TestStandardBase32768(t *testing.T) {
|
||||||
},
|
},
|
||||||
UnimplementableFsMethods: []string{"OpenWriterAt"},
|
UnimplementableFsMethods: []string{"OpenWriterAt"},
|
||||||
UnimplementableObjectMethods: []string{"MimeType"},
|
UnimplementableObjectMethods: []string{"MimeType"},
|
||||||
|
QuickTestOK: true,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -109,6 +113,7 @@ func TestOff(t *testing.T) {
|
||||||
},
|
},
|
||||||
UnimplementableFsMethods: []string{"OpenWriterAt"},
|
UnimplementableFsMethods: []string{"OpenWriterAt"},
|
||||||
UnimplementableObjectMethods: []string{"MimeType"},
|
UnimplementableObjectMethods: []string{"MimeType"},
|
||||||
|
QuickTestOK: true,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -117,6 +122,9 @@ func TestObfuscate(t *testing.T) {
|
||||||
if *fstest.RemoteName != "" {
|
if *fstest.RemoteName != "" {
|
||||||
t.Skip("Skipping as -remote set")
|
t.Skip("Skipping as -remote set")
|
||||||
}
|
}
|
||||||
|
if runtime.GOOS == "darwin" {
|
||||||
|
t.Skip("Skipping on macOS as obfuscating control characters makes filenames macOS can't cope with")
|
||||||
|
}
|
||||||
tempdir := filepath.Join(os.TempDir(), "rclone-crypt-test-obfuscate")
|
tempdir := filepath.Join(os.TempDir(), "rclone-crypt-test-obfuscate")
|
||||||
name := "TestCrypt3"
|
name := "TestCrypt3"
|
||||||
fstests.Run(t, &fstests.Opt{
|
fstests.Run(t, &fstests.Opt{
|
||||||
|
@ -131,6 +139,7 @@ func TestObfuscate(t *testing.T) {
|
||||||
SkipBadWindowsCharacters: true,
|
SkipBadWindowsCharacters: true,
|
||||||
UnimplementableFsMethods: []string{"OpenWriterAt"},
|
UnimplementableFsMethods: []string{"OpenWriterAt"},
|
||||||
UnimplementableObjectMethods: []string{"MimeType"},
|
UnimplementableObjectMethods: []string{"MimeType"},
|
||||||
|
QuickTestOK: true,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -139,6 +148,9 @@ func TestNoDataObfuscate(t *testing.T) {
|
||||||
if *fstest.RemoteName != "" {
|
if *fstest.RemoteName != "" {
|
||||||
t.Skip("Skipping as -remote set")
|
t.Skip("Skipping as -remote set")
|
||||||
}
|
}
|
||||||
|
if runtime.GOOS == "darwin" {
|
||||||
|
t.Skip("Skipping on macOS as obfuscating control characters makes filenames macOS can't cope with")
|
||||||
|
}
|
||||||
tempdir := filepath.Join(os.TempDir(), "rclone-crypt-test-obfuscate")
|
tempdir := filepath.Join(os.TempDir(), "rclone-crypt-test-obfuscate")
|
||||||
name := "TestCrypt4"
|
name := "TestCrypt4"
|
||||||
fstests.Run(t, &fstests.Opt{
|
fstests.Run(t, &fstests.Opt{
|
||||||
|
@ -154,5 +166,6 @@ func TestNoDataObfuscate(t *testing.T) {
|
||||||
SkipBadWindowsCharacters: true,
|
SkipBadWindowsCharacters: true,
|
||||||
UnimplementableFsMethods: []string{"OpenWriterAt"},
|
UnimplementableFsMethods: []string{"OpenWriterAt"},
|
||||||
UnimplementableObjectMethods: []string{"MimeType"},
|
UnimplementableObjectMethods: []string{"MimeType"},
|
||||||
|
QuickTestOK: true,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
|
@ -33,6 +33,7 @@ func TestIntegration(t *testing.T) {
|
||||||
{Name: "TestHasher", Key: "remote", Value: tempDir},
|
{Name: "TestHasher", Key: "remote", Value: tempDir},
|
||||||
}
|
}
|
||||||
opt.RemoteName = "TestHasher:"
|
opt.RemoteName = "TestHasher:"
|
||||||
|
opt.QuickTestOK = true
|
||||||
}
|
}
|
||||||
fstests.Run(t, &opt)
|
fstests.Run(t, &opt)
|
||||||
}
|
}
|
||||||
|
|
|
@ -13,5 +13,6 @@ func TestIntegration(t *testing.T) {
|
||||||
fstests.Run(t, &fstests.Opt{
|
fstests.Run(t, &fstests.Opt{
|
||||||
RemoteName: "",
|
RemoteName: "",
|
||||||
NilObject: (*local.Object)(nil),
|
NilObject: (*local.Object)(nil),
|
||||||
|
QuickTestOK: true,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
|
@ -12,5 +12,6 @@ func TestIntegration(t *testing.T) {
|
||||||
fstests.Run(t, &fstests.Opt{
|
fstests.Run(t, &fstests.Opt{
|
||||||
RemoteName: ":memory:",
|
RemoteName: ":memory:",
|
||||||
NilObject: (*Object)(nil),
|
NilObject: (*Object)(nil),
|
||||||
|
QuickTestOK: true,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
|
@ -41,6 +41,7 @@ func TestStandard(t *testing.T) {
|
||||||
},
|
},
|
||||||
UnimplementableFsMethods: []string{"OpenWriterAt", "DuplicateFiles"},
|
UnimplementableFsMethods: []string{"OpenWriterAt", "DuplicateFiles"},
|
||||||
UnimplementableObjectMethods: []string{"MimeType"},
|
UnimplementableObjectMethods: []string{"MimeType"},
|
||||||
|
QuickTestOK: true,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -62,6 +63,7 @@ func TestRO(t *testing.T) {
|
||||||
},
|
},
|
||||||
UnimplementableFsMethods: []string{"OpenWriterAt", "DuplicateFiles"},
|
UnimplementableFsMethods: []string{"OpenWriterAt", "DuplicateFiles"},
|
||||||
UnimplementableObjectMethods: []string{"MimeType"},
|
UnimplementableObjectMethods: []string{"MimeType"},
|
||||||
|
QuickTestOK: true,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -83,6 +85,7 @@ func TestNC(t *testing.T) {
|
||||||
},
|
},
|
||||||
UnimplementableFsMethods: []string{"OpenWriterAt", "DuplicateFiles"},
|
UnimplementableFsMethods: []string{"OpenWriterAt", "DuplicateFiles"},
|
||||||
UnimplementableObjectMethods: []string{"MimeType"},
|
UnimplementableObjectMethods: []string{"MimeType"},
|
||||||
|
QuickTestOK: true,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -104,6 +107,7 @@ func TestPolicy1(t *testing.T) {
|
||||||
},
|
},
|
||||||
UnimplementableFsMethods: []string{"OpenWriterAt", "DuplicateFiles"},
|
UnimplementableFsMethods: []string{"OpenWriterAt", "DuplicateFiles"},
|
||||||
UnimplementableObjectMethods: []string{"MimeType"},
|
UnimplementableObjectMethods: []string{"MimeType"},
|
||||||
|
QuickTestOK: true,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -125,6 +129,7 @@ func TestPolicy2(t *testing.T) {
|
||||||
},
|
},
|
||||||
UnimplementableFsMethods: []string{"OpenWriterAt", "DuplicateFiles"},
|
UnimplementableFsMethods: []string{"OpenWriterAt", "DuplicateFiles"},
|
||||||
UnimplementableObjectMethods: []string{"MimeType"},
|
UnimplementableObjectMethods: []string{"MimeType"},
|
||||||
|
QuickTestOK: true,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -146,5 +151,6 @@ func TestPolicy3(t *testing.T) {
|
||||||
},
|
},
|
||||||
UnimplementableFsMethods: []string{"OpenWriterAt", "DuplicateFiles"},
|
UnimplementableFsMethods: []string{"OpenWriterAt", "DuplicateFiles"},
|
||||||
UnimplementableObjectMethods: []string{"MimeType"},
|
UnimplementableObjectMethods: []string{"MimeType"},
|
||||||
|
QuickTestOK: true,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
|
@ -327,6 +327,7 @@ type Opt struct {
|
||||||
SkipFsCheckWrap bool // if set skip FsCheckWrap
|
SkipFsCheckWrap bool // if set skip FsCheckWrap
|
||||||
SkipObjectCheckWrap bool // if set skip ObjectCheckWrap
|
SkipObjectCheckWrap bool // if set skip ObjectCheckWrap
|
||||||
SkipInvalidUTF8 bool // if set skip invalid UTF-8 checks
|
SkipInvalidUTF8 bool // if set skip invalid UTF-8 checks
|
||||||
|
QuickTestOK bool // if set, run this test with make quicktest
|
||||||
}
|
}
|
||||||
|
|
||||||
// returns true if x is found in ss
|
// returns true if x is found in ss
|
||||||
|
@ -392,7 +393,7 @@ func Run(t *testing.T, opt *Opt) {
|
||||||
unwrappableFsMethods = []string{"Command"} // these Fs methods don't need to be wrapped ever
|
unwrappableFsMethods = []string{"Command"} // these Fs methods don't need to be wrapped ever
|
||||||
)
|
)
|
||||||
|
|
||||||
if strings.HasSuffix(os.Getenv("RCLONE_CONFIG"), "/notfound") && *fstest.RemoteName == "" {
|
if strings.HasSuffix(os.Getenv("RCLONE_CONFIG"), "/notfound") && *fstest.RemoteName == "" && !opt.QuickTestOK {
|
||||||
t.Skip("quicktest only")
|
t.Skip("quicktest only")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue