10 "github.com/stretchr/testify/assert"
11 "github.com/stretchr/testify/require"
13 "github.com/anacrolix/torrent/internal/testutil"
14 "github.com/anacrolix/torrent/storage"
17 func TestBoltPieceCompletionClosedWhenClientClosed(t *testing.T) {
18 cfg := TestingConfig(t)
19 pc, err := storage.NewBoltPieceCompletion(cfg.DataDir)
20 require.NoError(t, err)
21 ci := storage.NewFileWithCompletion(cfg.DataDir, pc)
23 cfg.DefaultStorage = ci
24 cl, err := NewClient(cfg)
25 require.NoError(t, err)
27 // And again, https://github.com/anacrolix/torrent/issues/158
28 cl, err = NewClient(cfg)
29 require.NoError(t, err)
33 func TestIssue335(t *testing.T) {
34 dir, mi := testutil.GreetingTestTorrent()
36 err := os.RemoveAll(dir)
38 t.Fatalf("removing torrent dummy data dir: %v", err)
41 cfg := TestingConfig(t)
45 comp, err := storage.NewBoltPieceCompletion(dir)
46 require.NoError(t, err)
48 cfg.DefaultStorage = storage.NewMMapWithCompletion(dir, comp)
49 cl, err := NewClient(cfg)
50 require.NoError(t, err)
52 tor, new, err := cl.AddTorrentSpec(TorrentSpecFromMetaInfo(mi))
53 require.NoError(t, err)
55 require.True(t, cl.WaitAll())
57 _, new, err = cl.AddTorrentSpec(TorrentSpecFromMetaInfo(mi))
58 require.NoError(t, err)
60 require.True(t, cl.WaitAll())