mirror of
https://github.com/MichaelMure/git-bug.git
synced 2024-12-15 10:12:06 +03:00
76 lines
1.4 KiB
Go
76 lines
1.4 KiB
Go
package tests
|
|
|
|
import (
|
|
"io/ioutil"
|
|
"log"
|
|
"testing"
|
|
|
|
"github.com/MichaelMure/git-bug/bug"
|
|
"github.com/MichaelMure/git-bug/misc/random_bugs"
|
|
"github.com/MichaelMure/git-bug/repository"
|
|
)
|
|
|
|
func createRepo(bare bool) *repository.GitRepo {
|
|
dir, err := ioutil.TempDir("", "")
|
|
if err != nil {
|
|
log.Fatal(err)
|
|
}
|
|
|
|
// fmt.Println("Creating repo:", dir)
|
|
|
|
var creator func(string) (*repository.GitRepo, error)
|
|
|
|
if bare {
|
|
creator = repository.InitBareGitRepo
|
|
} else {
|
|
creator = repository.InitGitRepo
|
|
}
|
|
|
|
repo, err := creator(dir)
|
|
if err != nil {
|
|
log.Fatal(err)
|
|
}
|
|
|
|
return repo
|
|
}
|
|
|
|
func createFilledRepo(bugNumber int) repository.ClockedRepo {
|
|
repo := createRepo(false)
|
|
|
|
var seed int64 = 42
|
|
options := random_bugs.DefaultOptions()
|
|
|
|
options.BugNumber = bugNumber
|
|
|
|
random_bugs.CommitRandomBugsWithSeed(repo, options, seed)
|
|
return repo
|
|
}
|
|
|
|
func TestReadBugs(t *testing.T) {
|
|
repo := createFilledRepo(15)
|
|
bugs := bug.ReadAllLocalBugs(repo)
|
|
for b := range bugs {
|
|
if b.Err != nil {
|
|
t.Fatal(b.Err)
|
|
}
|
|
}
|
|
}
|
|
|
|
func benchmarkReadBugs(bugNumber int, t *testing.B) {
|
|
repo := createFilledRepo(bugNumber)
|
|
t.ResetTimer()
|
|
|
|
for n := 0; n < t.N; n++ {
|
|
bugs := bug.ReadAllLocalBugs(repo)
|
|
for b := range bugs {
|
|
if b.Err != nil {
|
|
t.Fatal(b.Err)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
func BenchmarkReadBugs5(b *testing.B) { benchmarkReadBugs(5, b) }
|
|
func BenchmarkReadBugs25(b *testing.B) { benchmarkReadBugs(25, b) }
|
|
func BenchmarkReadBugs150(b *testing.B) { benchmarkReadBugs(150, b) }
|