]> Git Repo - VerusCoin.git/blame - README.md
Merge pull request #2847 from Diapolo/fix_QApplication_include
[VerusCoin.git] / README.md
CommitLineData
cba3a174 1Bitcoin integration/staging tree
20d59455
CD
2================================
3
4http://www.bitcoin.org
5
0c3ab26d 6Copyright (c) 2009-2013 Bitcoin Developers
20d59455
CD
7
8What is Bitcoin?
9----------------
10
11Bitcoin is an experimental new digital currency that enables instant payments to
12anyone, anywhere in the world. Bitcoin uses peer-to-peer technology to operate
13with no central authority: managing transactions and issuing money are carried
14out collectively by the network. Bitcoin is also the name of the open source
15software which enables the use of this currency.
16
17For more information, as well as an immediately useable, binary version of
18the Bitcoin client sofware, see http://www.bitcoin.org.
19
20License
21-------
22
23Bitcoin is released under the terms of the MIT license. See `COPYING` for more
24information or see http://opensource.org/licenses/MIT.
81b2d877 25
ae42d69d 26Development process
20d59455 27-------------------
81b2d877 28
20d59455
CD
29Developers work in their own trees, then submit pull requests when they think
30their feature or bug fix is ready.
cc558f06 31
20d59455
CD
32If it is a simple/trivial/non-controversial change, then one of the Bitcoin
33development team members simply pulls it.
cc558f06 34
20d59455
CD
35If it is a *more complicated or potentially controversial* change, then the patch
36submitter will be asked to start a discussion (if they haven't already) on the
37[mailing list](http://sourceforge.net/mailarchive/forum.php?forum_name=bitcoin-development).
cba3a174 38
20d59455
CD
39The patch will be accepted if there is broad consensus that it is a good thing.
40Developers should expect to rework and resubmit patches if the code doesn't
41match the project's coding conventions (see `doc/coding.txt`) or are
42controversial.
cba3a174 43
20d59455
CD
44The `master` branch is regularly built and tested, but is not guaranteed to be
45completely stable. [Tags](https://github.com/bitcoin/bitcoin/tags) are created
46regularly to indicate new official, stable release versions of Bitcoin.
cba3a174 47
b67b9e70 48Testing
20d59455
CD
49-------
50
51Testing and code review is the bottleneck for development; we get more pull
52requests than we can review and test. Please be patient and help out, and
53remember this is a security-critical project where any mistake might cost people
54lots of money.
55
56### Automated Testing
13945b2a 57
20d59455
CD
58Developers are strongly encouraged to write unit tests for new code, and to
59submit new unit tests for old code.
13945b2a 60
20d59455 61Unit tests for the core code are in `src/test/`. To compile and run them:
13945b2a 62
3770896e 63 cd src; make -f makefile.unix test
b67b9e70 64
20d59455 65Unit tests for the GUI code are in `src/qt/test/`. To compile and run them:
b67b9e70 66
20d59455
CD
67 qmake BITCOIN_QT_TEST=1 -o Makefile.test bitcoin-qt.pro
68 make -f Makefile.test
123acb9a 69 ./bitcoin-qt_test
b67b9e70 70
20d59455
CD
71Every pull request is built for both Windows and Linux on a dedicated server,
72and unit and sanity tests are automatically run. The binaries produced may be
da986f79
CLD
73used for manual QA testing — a link to them will appear in a comment on the
74pull request posted by [BitcoinPullTester](https://github.com/BitcoinPullTester). See https://github.com/TheBlueMatt/test-scripts
20d59455 75for the build/test scripts.
b67b9e70 76
20d59455 77### Manual Quality Assurance (QA) Testing
b67b9e70 78
20d59455
CD
79Large changes should have a test plan, and should be tested by somebody other
80than the developer who wrote the code.
b67b9e70 81
da986f79 82See https://github.com/bitcoin/QA/ for how to create a test plan.
This page took 0.11195 seconds and 4 git commands to generate.