aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGavin Andresen <gavinandresen@gmail.com>2013-01-09 15:55:47 -0500
committerGavin Andresen <gavinandresen@gmail.com>2013-01-14 14:31:10 -0500
commitb67b9e7077e982ab1d24a5f807a38f0ad88bf961 (patch)
treeb92eedd5a34faead6c5b823cb2ce6b0f741404fb
parent429915bd0dfcdb03b13d9a3c2fb82d5401ef70ce (diff)
Update development process README to reflect current reality
-rw-r--r--README.md52
1 files changed, 38 insertions, 14 deletions
diff --git a/README.md b/README.md
index 0c475ea6c4..1ecb8c7efe 100644
--- a/README.md
+++ b/README.md
@@ -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 QA@BitcoinTesting.org.
+official, stable release versions of Bitcoin.
-Feature branches are created when there are major new features being
-worked on by several people.
+Testing
+=======
-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
-QA@BitcoinTesting.org. \ No newline at end of file
+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 bitcoin-qt.pro
+ make -f Makefile.test
+ ./Bitcoin-Qt
+
+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 https://github.com/TheBlueMatt/test-scripts 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 https://github.com/bitcoin/QA/ for how to create a test plan.