[gitfame] Add tests.

This commit is contained in:
Arseny Balobanov 2021-03-01 01:46:24 +03:00
parent d9af0a8118
commit c7486767c2
53 changed files with 90 additions and 4 deletions

View file

@ -33,7 +33,7 @@ func TestGitFame(t *testing.T) {
require.NoError(t, err) require.NoError(t, err)
bundlesDir := path.Join("./testdata", "bundles") bundlesDir := path.Join("./testdata", "bundles")
testsDir := path.Join("./testdata", "good") testsDir := path.Join("./testdata", "tests")
files, err := ioutil.ReadDir(testsDir) files, err := ioutil.ReadDir(testsDir)
require.NoError(t, err) require.NoError(t, err)
@ -58,9 +58,14 @@ func TestGitFame(t *testing.T) {
cmd.Stderr = ioutil.Discard cmd.Stderr = ioutil.Discard
output, err := cmd.Output() output, err := cmd.Output()
if !tc.Error {
require.NoError(t, err) require.NoError(t, err)
require.Equal(t, string(tc.Expected), string(output)) require.Equal(t, string(tc.Expected), string(output))
} else {
require.Error(t, err)
_, ok := err.(*exec.ExitError)
require.True(t, ok)
}
}) })
} }
} }
@ -85,6 +90,7 @@ type TestDescription struct {
Name string `yaml:"name"` Name string `yaml:"name"`
Args []string `yaml:"args"` Args []string `yaml:"args"`
Bundle string `yaml:"bundle"` Bundle string `yaml:"bundle"`
Error bool `yaml:"error"`
} }
func ReadTestDescription(t *testing.T, path string) *TestDescription { func ReadTestDescription(t *testing.T, path string) *TestDescription {

View file

@ -0,0 +1,5 @@
# go-cmp, HEAD, extensions
name: go-cmp HEAD extensions
args: [--format, csv, --extensions, '.yml,.json,.md']
bundle: go-cmp.bundle

View file

@ -0,0 +1,5 @@
Name,Lines,Commits,Files
Joe Tsai,92,4,3
Ross Light,2,1,1
Tobias Klauser,2,1,1
ferhat elmas,1,1,1

View file

@ -0,0 +1,5 @@
# go-cmp, HEAD, languages
name: go-cmp HEAD languages
args: [--format, csv, --languages, 'yaml,c++,markdown,gopher']
bundle: go-cmp.bundle

View file

@ -0,0 +1,5 @@
Name,Lines,Commits,Files
Joe Tsai,92,4,3
Ross Light,2,1,1
Tobias Klauser,2,1,1
ferhat elmas,1,1,1

View file

@ -0,0 +1,5 @@
# go-cmp, HEAD, exclude
name: go-cmp HEAD exclude
args: [--format, csv, --exclude, 'cmp/cmpopts/*,cmp/internal/testprotos/*,cmp/testdata/*,gopher/*']
bundle: go-cmp.bundle

View file

@ -0,0 +1,14 @@
Name,Lines,Commits,Files
Joe Tsai,10087,90,46
A. Ishikawa,36,1,1
178inaba,11,2,4
Kyle Lemons,11,1,1
Christian Muehlhaeuser,4,3,3
Ernest Galbrun,3,1,1
ferhat elmas,2,1,2
Dmitri Shuralyov,2,1,1
Ross Light,2,1,1
Tobias Klauser,2,1,1
Chris Morrow,1,1,1
Fiisio,1,1,1
LMMilewski,1,1,1

View file

@ -0,0 +1,5 @@
# go-cmp, HEAD, restrict to
name: go-cmp HEAD restrict-to
args: [--format, csv, --restrict-to, 'cmp/cmpopts/*,cmp/internal/testprotos/*,cmp/testdata/*,gopher/*']
bundle: go-cmp.bundle

View file

@ -0,0 +1,12 @@
Name,Lines,Commits,Files
Joe Tsai,3731,29,8
colinnewell,130,1,1
Roger Peppe,59,1,2
A. Ishikawa,56,1,1
Tobias Klauser,33,1,2
178inaba,16,1,1
Dmitri Shuralyov,6,1,1
k.nakada,5,1,3
ferhat elmas,5,1,2
LMMilewski,4,1,1
Christian Muehlhaeuser,2,1,1

View file

@ -0,0 +1,5 @@
# go-cmp, HEAD, exclude and restrict to the same dir
name: go-cmp HEAD exclude restrict-to
args: [--format, csv, --restrict-to, 'cmp/cmpopts/*', --exclude, 'cmp/cmpopts/*']
bundle: go-cmp.bundle

View file

@ -0,0 +1,6 @@
# bad format
name: bad format
args: [--format, yson, --revision, v1.0]
bundle: simple.bundle
error: true

View file

@ -0,0 +1,6 @@
# bad sort order
name: bad sort oder
args: [--order-by, time, --revision, v1.0]
bundle: simple.bundle
error: true

View file

@ -0,0 +1,6 @@
# bad revision
name: bad revision
args: [--revision, head]
bundle: simple.bundle
error: true

View file

@ -0,0 +1 @@
Name,Lines,Commits,Files