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()
35 defer os.RemoveAll(dir)
36 cfg := TestingConfig(t)
40 comp, err := storage.NewBoltPieceCompletion(dir)
41 require.NoError(t, err)
43 cfg.DefaultStorage = storage.NewMMapWithCompletion(dir, comp)
44 cl, err := NewClient(cfg)
45 require.NoError(t, err)
47 tor, new, err := cl.AddTorrentSpec(TorrentSpecFromMetaInfo(mi))
48 require.NoError(t, err)
50 require.True(t, cl.WaitAll())
52 _, new, err = cl.AddTorrentSpec(TorrentSpecFromMetaInfo(mi))
53 require.NoError(t, err)
55 require.True(t, cl.WaitAll())