]> Sergey Matveev's repositories - btrtrc.git/blobdiff - storage/sqlite/sqlite-storage_test.go
Drop anacrolix/squirrel cache blob usage
[btrtrc.git] / storage / sqlite / sqlite-storage_test.go
index ca1b617aecde64c3547583ee1c8c57df5bb1f0ca..00ab449b92efda2696f0a6a57aec2ecd5439b80d 100644 (file)
@@ -6,22 +6,38 @@ package sqliteStorage
 import (
        "errors"
        "fmt"
+       _ "github.com/anacrolix/envpprof"
+       "github.com/anacrolix/squirrel"
+       "github.com/dustin/go-humanize"
+       qt "github.com/frankban/quicktest"
        "path/filepath"
        "testing"
-       "time"
 
-       _ "github.com/anacrolix/envpprof"
-       "github.com/anacrolix/squirrel"
        "github.com/anacrolix/torrent/storage"
        test_storage "github.com/anacrolix/torrent/storage/test"
-       "github.com/dustin/go-humanize"
-       qt "github.com/frankban/quicktest"
+       "github.com/anacrolix/torrent/test"
 )
 
+func TestLeecherStorage(t *testing.T) {
+       test.TestLeecherStorage(t, test.LeecherStorageTestCase{
+               "SqliteDirect",
+               func(s string) storage.ClientImplCloser {
+                       path := filepath.Join(s, "sqlite3.db")
+                       var opts NewDirectStorageOpts
+                       opts.Path = path
+                       cl, err := NewDirectStorage(opts)
+                       if err != nil {
+                               panic(err)
+                       }
+                       return cl
+               },
+               0,
+       })
+}
+
 func BenchmarkMarkComplete(b *testing.B) {
        const pieceSize = test_storage.DefaultPieceSize
        const noTriggers = false
-       const noCacheBlobs = false
        var capacity int64 = test_storage.DefaultNumPieces * pieceSize / 2
        if noTriggers {
                // Since we won't push out old pieces, we have to mark them incomplete manually.
@@ -35,7 +51,6 @@ func BenchmarkMarkComplete(b *testing.B) {
                var opts squirrel.NewCacheOpts
                opts.Capacity = capacity
                opts.NoTriggers = noTriggers
-               opts.NoCacheBlobs = noCacheBlobs
                benchOpts := func(b *testing.B) {
                        opts.Path = filepath.Join(b.TempDir(), "storage.db")
                        ci, err := NewDirectStorage(opts)
@@ -51,10 +66,7 @@ func BenchmarkMarkComplete(b *testing.B) {
                                var opts NewDirectStorageOpts
                                opts.Memory = memory
                                opts.Capacity = capacity
-                               // opts.GcBlobs = true
-                               opts.BlobFlushInterval = time.Second
                                opts.NoTriggers = noTriggers
-                               opts.NoCacheBlobs = noCacheBlobs
                                directBench := func(b *testing.B) {
                                        opts.Path = filepath.Join(b.TempDir(), "storage.db")
                                        ci, err := NewDirectStorage(opts)