Browse Source

Update development process README to reflect current reality

Gavin Andresen 8 years ago
1 changed files with 38 additions and 14 deletions
  1. 38

+ 38
- 14 View File

@@ -22,21 +22,45 @@ or are controversial.

The master branch is regularly built and tested, but is not guaranteed
to be completely stable. Tags are regularly created to indicate new
official, stable release versions of Bitcoin. If you would like to
help test the Bitcoin core, please contact
official, stable release versions of Bitcoin.

Feature branches are created when there are major new features being
worked on by several people.

From time to time a pull request will become outdated. If this occurs, and
the pull is no longer automatically mergeable; a comment on the pull will
be used to issue a warning of closure. The pull will be closed 15 days
after the warning if action is not taken by the author. Pull requests closed
in this manner will have their corresponding issue labeled 'stagnant'.
Testing and code review is the bottleneck for development; we get more
pull requests than we can review and test. Please be patient and help
out, and remember this is a security-critical project where any
mistake might cost people lots of money.

Issues with no commits will be given a similar warning, and closed after
15 days from their last activity. Issues closed in this manner will be
labeled 'stale'.
Automated Testing

Requests to reopen closed pull requests and/or issues can be submitted to
Developers are strongly encouraged to write unit tests for new code,
and to submit new unit tests for old code.

Unit tests for the core code are in src/test/
To compile and run them:
cd src; make -f makefile.linux test

Unit tests for the GUI code are in src/qt/test/
To compile and run them:
qmake BITCOIN_QT_TEST=1 -o Makefile.test
make -f Makefile.test

Every pull request is built for both Windows and
Linux on a dedicated server, and unit and sanity
tests are automatically run. The binaries
produced may be used for manual QA testing
(a link to them will appear in a comment on the pull request
from 'BitcoinPullTester').
See for the
build/test scripts.

Manual Quality Assurance (QA) Testing

Large changes should have a test plan, and should be tested
by somebody other than the developer who wrote the code.

See for how to create a test plan.