From 07bc79dbdc039df1bd1ffa7549bb38b484df1728 Mon Sep 17 00:00:00 2001 From: Matt Joiner Date: Tue, 13 Oct 2020 13:34:05 +1100 Subject: [PATCH] Test both sqlite file and in-memory leecher storages --- test/transfer_test.go | 48 ++++++++++++++++++++++++++----------------- 1 file changed, 29 insertions(+), 19 deletions(-) diff --git a/test/transfer_test.go b/test/transfer_test.go index 3cd788c3..7462a547 100644 --- a/test/transfer_test.go +++ b/test/transfer_test.go @@ -271,6 +271,29 @@ func TestClientTransferSmallCacheDefaultReadahead(t *testing.T) { testClientTransferSmallCache(t, false, -1) } +func sqliteClientStorageFactory(connPathMaker func(dataDir string) string) storageFactory { + return func(dataDir string) storage.ClientImplCloser { + path := connPathMaker(dataDir) + log.Printf("opening sqlite db at %q", path) + conn, err := sqlite.OpenConn(path, 0) + if err != nil { + panic(err) + } + prov, err := sqliteStorage.NewProvider(conn) + if err != nil { + panic(err) + } + return struct { + storage.ClientImpl + io.Closer + }{ + storage.NewResourcePieces(prov), + conn, + } + + } +} + func TestClientTransferVarious(t *testing.T) { // Leecher storage for _, ls := range []struct { @@ -281,25 +304,12 @@ func TestClientTransferVarious(t *testing.T) { Wrapper: fileCachePieceResourceStorage, })}, {"Boltdb", storage.NewBoltDB}, - {"Sqlite", func(dataDir string) storage.ClientImplCloser { - path := filepath.Join(dataDir, "sqlite.db") - log.Printf("creating sqlite db at %q", path) - conn, err := sqlite.OpenConn(fmt.Sprintf("file:%s", path), 0) - if err != nil { - panic(err) - } - prov, err := sqliteStorage.NewProvider(conn) - if err != nil { - panic(err) - } - return struct { - storage.ClientImpl - io.Closer - }{ - storage.NewResourcePieces(prov), - conn, - } - }}, + {"SqliteFile", sqliteClientStorageFactory(func(dataDir string) string { + return "file:" + filepath.Join(dataDir, "sqlite.db") + })}, + {"SqliteMemory", sqliteClientStorageFactory(func(dataDir string) string { + return "file:memory:?mode=memory" + })}, } { t.Run(fmt.Sprintf("LeecherStorage=%s", ls.name), func(t *testing.T) { // Seeder storage -- 2.48.1