aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorMichael Muré <batolettre@gmail.com>2018-08-19 21:27:10 +0200
committerMichael Muré <batolettre@gmail.com>2018-08-19 21:27:10 +0200
commit8575abf285d1dd71990b619fbdf3cd44dbc48e75 (patch)
treee72375b9be4c4f9fa06e6301e560e9693c36e7e7 /tests
parent285e8394861765757a057ca1e16c36c9ca8227cb (diff)
downloadgit-bug-8575abf285d1dd71990b619fbdf3cd44dbc48e75.tar.gz
bug: add a benchmark for reading all bugs in a repo
Diffstat (limited to 'tests')
-rw-r--r--tests/read_bugs_test.go49
1 files changed, 49 insertions, 0 deletions
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) }