9 "github.com/anacrolix/torrent/internal/testutil"
10 "github.com/anacrolix/torrent/storage"
11 "github.com/stretchr/testify/assert"
12 "github.com/stretchr/testify/require"
15 func TestBoltPieceCompletionClosedWhenClientClosed(t *testing.T) {
16 cfg := TestingConfig(t)
17 pc, err := storage.NewBoltPieceCompletion(cfg.DataDir)
18 require.NoError(t, err)
19 ci := storage.NewFileWithCompletion(cfg.DataDir, pc)
21 cfg.DefaultStorage = ci
22 cl, err := NewClient(cfg)
23 require.NoError(t, err)
25 // And again, https://github.com/anacrolix/torrent/issues/158
26 cl, err = NewClient(cfg)
27 require.NoError(t, err)
31 func TestIssue335(t *testing.T) {
32 dir, mi := testutil.GreetingTestTorrent()
33 defer os.RemoveAll(dir)
34 cfg := TestingConfig(t)
38 comp, err := storage.NewBoltPieceCompletion(dir)
39 require.NoError(t, err)
41 cfg.DefaultStorage = storage.NewMMapWithCompletion(dir, comp)
42 cl, err := NewClient(cfg)
43 require.NoError(t, err)
45 tor, new, err := cl.AddTorrentSpec(TorrentSpecFromMetaInfo(mi))
46 require.NoError(t, err)
48 require.True(t, cl.WaitAll())
50 _, new, err = cl.AddTorrentSpec(TorrentSpecFromMetaInfo(mi))
51 require.NoError(t, err)
53 require.True(t, cl.WaitAll())