| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- // Package testutil contains stuff for testing torrent-related behaviour.
- //
- // "greeting" is a single-file torrent of a file called "greeting" that
- // "contains "hello, world\n".
- package testutil
- import (
- "os"
- "path/filepath"
- "github.com/anacrolix/torrent/metainfo"
- )
- var Greeting = Torrent{
- Files: []File{{
- Data: GreetingFileContents,
- }},
- Name: GreetingFileName,
- }
- const (
- // A null in the middle triggers an error if SQLite stores data as text instead of blob.
- GreetingFileContents = "hello,\x00world\n"
- GreetingFileName = "greeting"
- )
- func CreateDummyTorrentData(dirName string) string {
- f, _ := os.Create(filepath.Join(dirName, "greeting"))
- defer f.Close()
- f.WriteString(GreetingFileContents)
- return f.Name()
- }
- func GreetingMetaInfo() *metainfo.MetaInfo {
- return Greeting.Metainfo(5)
- }
- // Gives a temporary directory containing the completed "greeting" torrent,
- // and a corresponding metainfo describing it. The temporary directory can be
- // cleaned away with os.RemoveAll.
- func GreetingTestTorrent() (tempDir string, metaInfo *metainfo.MetaInfo) {
- tempDir, err := os.MkdirTemp(os.TempDir(), "")
- if err != nil {
- panic(err)
- }
- CreateDummyTorrentData(tempDir)
- metaInfo = GreetingMetaInfo()
- return
- }
|