From 8575abf285d1dd71990b619fbdf3cd44dbc48e75 Mon Sep 17 00:00:00 2001 From: Michael Muré Date: Sun, 19 Aug 2018 21:27:10 +0200 Subject: bug: add a benchmark for reading all bugs in a repo --- tests/read_bugs_test.go | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 tests/read_bugs_test.go diff --git a/tests/read_bugs_test.go b/tests/read_bugs_test.go new file mode 100644 index 00000000..e0f708a5 --- /dev/null +++ b/tests/read_bugs_test.go @@ -0,0 +1,49 @@ +package tests + +import ( + "testing" + + "github.com/MichaelMure/git-bug/bug" + "github.com/MichaelMure/git-bug/misc/random_bugs" + "github.com/MichaelMure/git-bug/repository" +) + +func createFilledRepo(bugNumber int) repository.Repo { + repo := createRepo(false) + + var seed int64 = 42 + options := random_bugs.DefaultOptions() + + options.BugNumber = bugNumber + + random_bugs.GenerateRandomBugsWithSeed(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) } -- cgit