diff options
author | Michael Muré <batolettre@gmail.com> | 2018-09-06 14:08:43 +0200 |
---|---|---|
committer | Michael Muré <batolettre@gmail.com> | 2018-09-06 14:11:10 +0200 |
commit | 2adca224f055fe74ac714f9a102deff7380d783f (patch) | |
tree | 6f96c9f6f6a96bdeb1fa0913c338f44249b6cc62 /misc/random_bugs/create_random_bugs.go | |
parent | 62b57b008baa90b2e322cfb9c1cf997330429642 (diff) | |
download | git-bug-2adca224f055fe74ac714f9a102deff7380d783f.tar.gz |
random bugs: cleanup + generate random OperationPack as well
Diffstat (limited to 'misc/random_bugs/create_random_bugs.go')
-rw-r--r-- | misc/random_bugs/create_random_bugs.go | 60 |
1 files changed, 54 insertions, 6 deletions
diff --git a/misc/random_bugs/create_random_bugs.go b/misc/random_bugs/create_random_bugs.go index 46ca7964..87845b3c 100644 --- a/misc/random_bugs/create_random_bugs.go +++ b/misc/random_bugs/create_random_bugs.go @@ -29,11 +29,26 @@ func DefaultOptions() Options { } } -func GenerateRandomBugs(repo repository.Repo, opts Options) { - GenerateRandomBugsWithSeed(repo, opts, time.Now().UnixNano()) +func CommitRandomBugs(repo repository.Repo, opts Options) { + CommitRandomBugsWithSeed(repo, opts, time.Now().UnixNano()) } -func GenerateRandomBugsWithSeed(repo repository.Repo, opts Options, seed int64) { +func CommitRandomBugsWithSeed(repo repository.Repo, opts Options, seed int64) { + bugs := GenerateRandomBugsWithSeed(opts, seed) + + for _, b := range bugs { + err := b.Commit(repo) + if err != nil { + panic(err) + } + } +} + +func GenerateRandomBugs(opts Options) []*bug.Bug { + return GenerateRandomBugsWithSeed(opts, time.Now().UnixNano()) +} + +func GenerateRandomBugsWithSeed(opts Options, seed int64) []*bug.Bug { rand.Seed(seed) fake.Seed(seed) @@ -46,6 +61,8 @@ func GenerateRandomBugsWithSeed(repo repository.Repo, opts Options, seed int64) operations.Close, } + result := make([]*bug.Bug, opts.BugNumber) + for i := 0; i < opts.BugNumber; i++ { addedLabels = []string{} @@ -61,11 +78,42 @@ func GenerateRandomBugsWithSeed(repo repository.Repo, opts Options, seed int64) opsGenerators[index](b, randomPerson(opts.PersonNumber)) } - err = b.Commit(repo) - if err != nil { - panic(err) + result[i] = b + } + + return result +} + +func GenerateRandomOperationPacks(packNumber int, opNumber int) []*bug.OperationPack { + return GenerateRandomOperationPacksWithSeed(packNumber, opNumber, time.Now().UnixNano()) +} + +func GenerateRandomOperationPacksWithSeed(packNumber int, opNumber int, seed int64) []*bug.OperationPack { + // Note: this is a bit crude, only generate a Create + Comments + + rand.Seed(seed) + fake.Seed(seed) + + result := make([]*bug.OperationPack, packNumber) + + for i := 0; i < packNumber; i++ { + opp := &bug.OperationPack{} + + var op bug.Operation + + op = operations.NewCreateOp(randomPerson(5), fake.Sentence(), paragraphs(), nil) + + opp.Append(op) + + for j := 0; j < opNumber-1; j++ { + op = operations.NewAddCommentOp(randomPerson(5), paragraphs(), nil) + opp.Append(op) } + + result[i] = opp } + + return result } func person() bug.Person { |