Merge pull request #1425 from corda/clint-ghtemplate

Added pull request and issue templates for GitHub.
This commit is contained in:
Clinton 2017-09-05 17:43:59 +01:00 committed by GitHub
commit 3ae56a00b2
4 changed files with 68 additions and 1 deletions

8
.github/ISSUE_TEMPLATE.md vendored Normal file
View File

@ -0,0 +1,8 @@
Thank you for choosing to report an issue with Corda.
When reporting an issue please make sure it contains;
* A clear description of the issue
* Any logs or stack traces that you can provide (use a site like [pastebin](https://pastebin.com)for larger logs)
* Steps to reproduce the issue
* The version/tag/release or commit hash it occured on

17
.github/PULL_REQUEST_TEMPLATE.md vendored Normal file
View File

@ -0,0 +1,17 @@
Thank you for choosing to contribute to Corda.
## PR Process
Your PR must be approved by one or more reviewers and all tests must be passed on [TeamCity CI](https://ci.corda.r3cev.com)
in order to be merged.
Once you have submitted a PR you are responsible for keeping it up to date until the time it is merged.
## PR Checklist
1. Ensure any new code is tested as described [here](https://docs.corda.net/testing.html)
2. Ensure you have done any relevant automated testing and manual testing
3. Add your changes to `docs/source/changelog.rst`
4. Update any documentation in `docs/source` relating to your changes and learn how to build them [here](https://docs.corda.net/building-the-docs.html)
5. If you are contributing for the first time please read the agreement in [CONTRIBUTING](../contributing.md) now
and add to this Pull Request that you have read, and agreed to, the agreement.

View File

@ -6,4 +6,5 @@ Release process
release-notes
changelog
codestyle
codestyle
testing

41
docs/source/testing.rst Normal file
View File

@ -0,0 +1,41 @@
Testing Corda
=============
Automated Tests
---------------
Corda has a maintained suite of tests that any contributing developers must maintain and add to if new code has been added.
There are several distinct test suites each with a different purpose;
**Unit tests**: These are traditional unit tests that should only test a single code unit, typically a method or class.
**Integration tests**: These tests should test the integration of small numbers of units, preferably with mocked out services.
**Smoke tests**: These are full end to end tests which start a full set of Corda nodes and verify broader behaviour.
**Other**: These include tests such as performance tests, stress tests, etc, and may be in an external repo.
These tests are mostly written with JUnit and can be run via ``gradle``. On windows run ``gradlew test integrationTest
smokeTest`` and on unix run ``./gradlw test integrationTest smokeTest`` or any combination of these three arguments.
Before creating a pull request please make sure these pass.
Manual Testing
--------------
Manual testing would ideally be done for every set of changes merged into master, but practically you should manually test
anything that would be impacted by your changes. The areas that usually need to be manually tested and when are below;
**Node startup** - changes in the ``node`` or ``node:capsule`` project in both the Kotlin or gradle or the ``cordformation`` gradle plugin.
**Sample project** - changes in the ``samples`` project. eg; changing the IRS demo means you should manually test the IRS demo.
**Explorer** - changes to the ``tools/explorer`` project.
**Demobench** - changes to the ``tools/demobench`` project.
How to manually test each of these areas differs and is currently not fully specified. For now the best thing to do is
ensure the program starts, that you can interact with it, and that no exceptions are generated in normal operation.
TODO: Add instructions on manual testing