]> Sergey Matveev's repositories - btrtrc.git/blob - client-nowasm_test.go
Remove old-style build tags
[btrtrc.git] / client-nowasm_test.go
1 //go:build !wasm
2
3 package torrent
4
5 import (
6         "os"
7         "testing"
8
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"
13 )
14
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)
20         defer ci.Close()
21         cfg.DefaultStorage = ci
22         cl, err := NewClient(cfg)
23         require.NoError(t, err)
24         cl.Close()
25         // And again, https://github.com/anacrolix/torrent/issues/158
26         cl, err = NewClient(cfg)
27         require.NoError(t, err)
28         cl.Close()
29 }
30
31 func TestIssue335(t *testing.T) {
32         dir, mi := testutil.GreetingTestTorrent()
33         defer os.RemoveAll(dir)
34         cfg := TestingConfig(t)
35         cfg.Seed = false
36         cfg.Debug = true
37         cfg.DataDir = dir
38         comp, err := storage.NewBoltPieceCompletion(dir)
39         require.NoError(t, err)
40         defer comp.Close()
41         cfg.DefaultStorage = storage.NewMMapWithCompletion(dir, comp)
42         cl, err := NewClient(cfg)
43         require.NoError(t, err)
44         defer cl.Close()
45         tor, new, err := cl.AddTorrentSpec(TorrentSpecFromMetaInfo(mi))
46         require.NoError(t, err)
47         assert.True(t, new)
48         require.True(t, cl.WaitAll())
49         tor.Drop()
50         _, new, err = cl.AddTorrentSpec(TorrentSpecFromMetaInfo(mi))
51         require.NoError(t, err)
52         assert.True(t, new)
53         require.True(t, cl.WaitAll())
54 }