github.com/hugh712/snapd@v0.0.0-20200910133618-1a99902bd583/CONTRIBUTING.md (about) 1 Before contributing you should sign [Canonical's contributor agreement][1], 2 it’s the easiest way for you to give us permission to use your contributions. 3 4 ## Pull Requests and tests 5 6 We need to verify that the code functionality and quality is not degraded 7 by additions before merging any changes to snapd's codebase. For each PR 8 we run checks in three different groups: static, unit and spread. 9 10 Static test use several code analysis tools present in the GoLang ecosystem 11 (go vet, go lint and go fmt) to make sure that the code always aligns with 12 the standards. They also check the markdown format of documentation files. 13 All the existing unit tests are also executed, and the coverage info is 14 reported to coveralls. Regarding [spread](https://github.com/snapcore/spread), 15 we use it to verify the integrity of the product exercising it as a whole, 16 both from an end user standpoint (eg. all kind of interactions with the 17 snap tool from the command line) and from a more systemic approach (testing 18 upgrades, for instance). 19 20 We do not set as a requirement the addition of spread and unit tests for a PR 21 to be merged, but encourage the contributors to add them so that the expected 22 behaviour is explained and verified through the tests and the review process 23 can be made on the solid base of a working system after the addition of the 24 changes. If any tests need to be added for a PR to be merged it will be denoted 25 during the review process. 26 27 [1]: http://www.ubuntu.com/legal/contributors