10 "github.com/anacrolix/torrent/internal/testutil"
11 "github.com/anacrolix/torrent/storage"
12 "github.com/stretchr/testify/assert"
13 "github.com/stretchr/testify/require"
16 func TestBoltPieceCompletionClosedWhenClientClosed(t *testing.T) {
17 cfg := TestingConfig(t)
18 pc, err := storage.NewBoltPieceCompletion(cfg.DataDir)
19 require.NoError(t, err)
20 ci := storage.NewFileWithCompletion(cfg.DataDir, pc)
22 cfg.DefaultStorage = ci
23 cl, err := NewClient(cfg)
24 require.NoError(t, err)
26 // And again, https://github.com/anacrolix/torrent/issues/158
27 cl, err = NewClient(cfg)
28 require.NoError(t, err)
32 func TestIssue335(t *testing.T) {
33 dir, mi := testutil.GreetingTestTorrent()
34 defer os.RemoveAll(dir)
35 cfg := TestingConfig(t)
39 comp, err := storage.NewBoltPieceCompletion(dir)
40 require.NoError(t, err)
42 cfg.DefaultStorage = storage.NewMMapWithCompletion(dir, comp)
43 cl, err := NewClient(cfg)
44 require.NoError(t, err)
46 tor, new, err := cl.AddTorrentSpec(TorrentSpecFromMetaInfo(mi))
47 require.NoError(t, err)
49 require.True(t, cl.WaitAll())
51 _, new, err = cl.AddTorrentSpec(TorrentSpecFromMetaInfo(mi))
52 require.NoError(t, err)
54 require.True(t, cl.WaitAll())