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