mattn / goveralls

MIT License
789 stars 140 forks source link

Ignoring example packages doesn't seem to affect total coverage #125

Open vektah opened 5 years ago

vektah commented 5 years ago

I'm building a graphql server that generates lots of code, and the test coverage of the generated code in examples isn't particularly interesting so I want to exclude it from the reports.

What I'm currently trying:

go test -coverprofile=/tmp/coverage.out -coverpkg=./... ./...
goveralls -coverprofile=/tmp/coverage.out -service=circle-ci -repotoken=snip

Without any -ingore specified it looks like this: image

Notice 16490 relevant lines?

Adding ignore like this:

goveralls -coverprofile=/tmp/coverage.out -service=circle-ci -repotoken=snip -ignore='example/*/*,example/*/*/*,integration/*,integration/*/*,codegen/testserver/*'

Generates coverage like this: image

Relevant lines stays the same, so the total coverage is unaffected, even though those packages have been removed.

I also tried running coveralls without a coverprofile, but it didn't seem to cover anything

goveralls -show -service=circle-ci -repotoken=snip -ignore='example/*/*.go,example/*/*/*.go,integration/*,integration/*/*,codegen/testserver/*'  

image

No files in the list, but same coverage.

What am I doing wrong?

mattn commented 5 years ago

I'm not sure yet, It seems that -ignore option does not work expectedly.

vektah commented 5 years ago

Any update? This is blocking coverage for https://github.com/99designs/gqlgen

nbaztec commented 3 years ago

@vektah The ignore seems to be working correctly on goveralls's side.

From your example and checking the build history seems you tried to push the coverage on the same build number, so it's entirely possible that coveralls does not update the coverage accordingly. Subsequent builds seem to have fixed it going forward