xlab-si / emmy

Library for zero-knowledge proof based applications (like anonymous credentials)
Apache License 2.0
233 stars 54 forks source link

Improve test coverage #67

Open mancabizjak opened 6 years ago

mancabizjak commented 6 years ago

Running go test -cover github.com/xlab-si/emmy/... produces the following output:

?       github.com/xlab-si/emmy [no test files]
?       github.com/xlab-si/emmy/cli     [no test files]
ok      github.com/xlab-si/emmy/client  35.640s coverage: 82.1% of statements
?       github.com/xlab-si/emmy/client/compatibility    [no test files]
?       github.com/xlab-si/emmy/config  [no test files]
ok      github.com/xlab-si/emmy/crypto/commitments      16.089s coverage: 37.2% of statements
ok      github.com/xlab-si/emmy/crypto/common   17.141s coverage: 60.6% of statements
ok      github.com/xlab-si/emmy/crypto/encryption       3.872s  coverage: 54.7% of statements
ok      github.com/xlab-si/emmy/crypto/groups   3.391s  coverage: 17.4% of statements
?       github.com/xlab-si/emmy/crypto/secretsharing    [no test files]
ok      github.com/xlab-si/emmy/crypto/signatures       2.374s  coverage: 89.0% of statements
ok      github.com/xlab-si/emmy/crypto/zkp/primitives/commitments       36.600s coverage: 96.6% of statements
ok      github.com/xlab-si/emmy/crypto/zkp/primitives/dlogproofs        15.144s coverage: 90.1% of statements
ok      github.com/xlab-si/emmy/crypto/zkp/primitives/preimage  1.149s  coverage: 32.9% of statements
?       github.com/xlab-si/emmy/crypto/zkp/primitives/qrproofs  [no test files]
ok      github.com/xlab-si/emmy/crypto/zkp/primitives/representationproofs      1.784s  coverage: 91.4% of statements
?       github.com/xlab-si/emmy/crypto/zkp/protocoltypes        [no test files]
?       github.com/xlab-si/emmy/crypto/zkp/schemes/pseudonymsys [no test files]
ok      github.com/xlab-si/emmy/log     0.016s  coverage: 28.6% of statements
?       github.com/xlab-si/emmy/protobuf        [no test files]
?       github.com/xlab-si/emmy/server  [no test files]
?       github.com/xlab-si/emmy/storage [no test files]

I think we should make an effort to improve our test coverage across several packages. Even for many of the packages that do have tests, the coverage is quite low. According to Codeship's best practices for Go, the minimal test coverage should be no less than 80%.