aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2015-05-04qt: English translation update before enabling translation for 0.11Wladimir J. van der Laan
2015-05-04Merge pull request #6085Wladimir J. van der Laan
b05a89b Non-grammatical language improvements (Luke Dashjr) 7e6d23b Bugfix: Grammar fixes (Corinne Dashjr)
2015-05-04Merge pull request #6096Wladimir J. van der Laan
3727cbb change AC_PACKAGE_BUGREPORT from info@bitcoin.org to github issue tracker URL (Jonas Schnelli)
2015-05-04Merge pull request #6094Wladimir J. van der Laan
2a22d4b Fix comptool send_message call when MAX_INV_SZ reached (Suhas Daftuar) 574db48 Fix potential race conditions in p2p testing framework (Suhas Daftuar) 5487975 Don't run invalidblockrequest.py in travis until race condition is fixed (Suhas Daftuar) ef32817 Fix mininode disconnections to work with select (Suhas Daftuar)
2015-05-02Non-grammatical language improvementsLuke Dashjr
2015-05-02change AC_PACKAGE_BUGREPORT from info@bitcoin.org to github issue tracker URLJonas Schnelli
Mentioned by wumpus: http://bitcoinstats.com/irc/bitcoin-dev/logs/2015/05/02#l1430543664 Details here: http://www.gnu.org/savannah-checkouts/gnu/autoconf/manual/autoconf-2.69/html_node/Initializing-configure.html
2015-05-01Fix comptool send_message call when MAX_INV_SZ reachedSuhas Daftuar
2015-05-01Fix potential race conditions in p2p testing frameworkSuhas Daftuar
Previously, each NodeConnCB had its own lock to synchronize data structures used by the testing thread and the networking thread, and NodeConn provided a separate additional lock for synchronizing access to each send buffer. This commit replaces those locks with a single global lock (mininode_lock) that we use to synchronize access to all data structures shared by the two threads. Updates comptool and maxblocksinflight to use the new synchronization semantics, eliminating previous race conditions within comptool, and re-enables invalidblockrequest.py in travis.
2015-05-01Change transifex slug to `translation-011x`Wladimir J. van der Laan
Ensure that translations are updated from the right place.
2015-05-01Bugfix: Grammar fixesCorinne Dashjr
2015-05-01Merge pull request #6064Wladimir J. van der Laan
f46a680 Better mruset unit test (Pieter Wuille) d4d5022 Use ring buffer of set iterators instead of deque of copies in mruset (Pieter Wuille) d81cff3 Replace mruset setAddrKnown with CRollingBloomFilter addrKnown (Gavin Andresen) 69a5f8b Rolling bloom filter class (Gavin Andresen)
2015-04-30Don't run invalidblockrequest.py in travis until race condition is fixedSuhas Daftuar
2015-04-30Fix mininode disconnections to work with selectSuhas Daftuar
2015-04-30Better mruset unit testPieter Wuille
2015-04-30Use ring buffer of set iterators instead of deque of copies in mrusetPieter Wuille
2015-04-30Replace mruset setAddrKnown with CRollingBloomFilter addrKnownGavin Andresen
Use a probabilistic bloom filter to keep track of which addresses we think we have given our peers, instead of a list. This uses much less memory, at the cost of sometimes failing to relay an address to a peer-- worst case if the bloom filter happens to be as full as it gets, 1-in-1,000. Measured memory usage of a full mruset setAddrKnown: 650Kbytes Constant memory usage of CRollingBloomFilter addrKnown: 37Kbytes. This will also help heap fragmentation, because the 37K of storage is allocated when a CNode is created (when a connection to a peer is established) and then there is no per-item-remembered memory allocation. I plan on testing by restarting a full node with an empty peers.dat, running a while with -debug=addrman and -debug=net, and making sure that the 'addr' message traffic out is reasonable. (suggestions for better tests welcome)
2015-04-30Rolling bloom filter classGavin Andresen
For when you need to keep track of the last N items you've seen, and can tolerate some false-positives. Rebased-by: Pieter Wuille <pieter.wuille@gmail.com>
2015-04-30Merge pull request #6022Wladimir J. van der Laan
b74dcb3 Separate CTranslationInterface from CClientUIInterface (Jorge Timón)
2015-04-30Merge pull request #6059Wladimir J. van der Laan
739d615 chainparams: use SeedSpec6's rather than CAddress's for fixed seeds (Cory Fields)
2015-04-30Merge pull request #5981Wladimir J. van der Laan
2703412 Fix default binary in p2p tests to use environment variable (Suhas Daftuar) 29bff0e Add some travis debugging for python scripts (Suhas Daftuar) d76412b Add script manipulation tools for use in mininode testing framework (Suhas Daftuar) b93974c Add comparison tool test runner, built on mininode (Suhas Daftuar) 6c1d1ba Python p2p testing framework (Suhas Daftuar)
2015-04-29Merge pull request #6081Wladimir J. van der Laan
7f386d2 DragonFlyBSD thread renaming. (sinetek)
2015-04-29Merge pull request #6082Wladimir J. van der Laan
55f55ec qt: disable qt tests when one of the checks for the gui fails (Wladimir J. van der Laan)
2015-04-29qt: disable qt tests when one of the checks for the gui failsWladimir J. van der Laan
2015-04-29Merge pull request #6041Wladimir J. van der Laan
2ccfc63 [REST] update documentation (Jonas Schnelli)
2015-04-29Merge pull request #6075Wladimir J. van der Laan
9fadf1c Add additional script edge condition tests. (Dave Collins)
2015-04-29Fix default binary in p2p tests to use environment variableSuhas Daftuar
2015-04-29DragonFlyBSD thread renaming.sinetek
2015-04-29Merge pull request #6032Wladimir J. van der Laan
688da79 QA: add --noshutdown option to prevent stopping nodes (dexX7) 2eadeb2 QA: stop nodes after RPC tests, even with --nocleanup (dexX7)
2015-04-29Merge pull request #5511Wladimir J. van der Laan
e9c3215 [Wallet] sort pending wallet transactions before reaccepting (dexX7)
2015-04-29Merge pull request #6074Wladimir J. van der Laan
d8f4cc3 Correct the PUSHDATA4 minimal encoding test. (Dave Collins)
2015-04-29Merge pull request #6076Wladimir J. van der Laan
8b08d95 wallet: fix boost::get usage with boost 1.58 (Cory Fields)
2015-04-28Add some travis debugging for python scriptsSuhas Daftuar
Adds printing to the console before/after calls to bitcoin-cli -rpcwait, if the PYTHON_DEBUG environment variable is initialized.
2015-04-28Add script manipulation tools for use in mininode testing frameworkSuhas Daftuar
script.py is modified from the code in python-bitcoinlib, and provides tools for manipulating and creating CScript objects. bignum.py is a dependency for script.py script_test.py is an example test that uses the script tools for running a test that compares the behavior of two nodes, in a comptool- style test, for each of the test cases in the bitcoin unit test script files, script_valid.json and script_invalid.json. (This test is very slow to run, but is a proof of concept for how we can write tests to compare consensus-critical behavior between different versions of bitcoind.) bipdersig-p2p.py is another example test in the comptool framework, which tests deployment of BIP DERSIG for a single node. It uses the script.py tools for manipulating signatures to be non-DER compliant.
2015-04-28Add comparison tool test runner, built on mininodeSuhas Daftuar
comptool.py creates a tool for running a test suite on top of the mininode p2p framework. It supports two types of tests: those for which we expect certain behavior (acceptance or rejection of a block or transaction) and those for which we are just comparing that the behavior of 2 or more nodes is the same. blockstore.py defines BlockStore and TxStore, which provide db-backed maps between block/tx hashes and the corresponding block or tx. blocktools.py defines utility functions for creating and manipulating blocks and transactions. invalidblockrequest.py is an example test in the comptool framework, which tests the behavior of a single node when sent two different types of invalid blocks (a block with a duplicated transaction and a block with a bad coinbase value).
2015-04-28Python p2p testing frameworkSuhas Daftuar
mininode.py provides a framework for connecting to a bitcoin node over the p2p network. NodeConn is the main object that manages connectivity to a node and provides callbacks; the interface for those callbacks is defined by NodeConnCB. Defined also are all data structures from bitcoin core that pass on the network (CBlock, CTransaction, etc), along with de-/serialization functions. maxblocksinflight.py is an example test using this framework that tests whether a node is limiting the maximum number of in-flight block requests. This also adds support to util.py for specifying the binary to use when starting nodes (for tests that compare the behavior of different bitcoind versions), and adds maxblocksinflight.py to the pull tester.
2015-04-28wallet: fix boost::get usage with boost 1.58Cory Fields
2015-04-28Merge pull request #5918Pieter Wuille
f7303f9 Use equivalent PoW for non-main-chain requests (Pieter Wuille)
2015-04-28Merge pull request #6054Pieter Wuille
d1af89e use const reference as param in ConnectThroughProxy/Socks5 (Philip Kaufmann)
2015-04-28use const reference as param in ConnectThroughProxy/Socks5Philip Kaufmann
- also ensure code style conformance by replacing bool static with static bool
2015-04-28Merge pull request #5971Wladimir J. van der Laan
351593b replace absolute sleep with conditional wait (pstratem)
2015-04-28Merge pull request #5662Wladimir J. van der Laan
00dcaf4 Change download logic to allow calling getheaders/getdata on inbound peers (Suhas Daftuar)
2015-04-28Merge pull request #5199Wladimir J. van der Laan
1ec900a Remove broken+useless lock/unlock log prints (Matt Corallo) 352ed22 Add merkle blocks test (Matt Corallo) 59ed61b Add RPC call to generate and verify merkle blocks (Matt Corallo) 30da90d Add CMerkleBlock constructor for tx set + block and an empty one (Matt Corallo)
2015-04-28qt: translation updateWladimir J. van der Laan
2015-04-28Add additional script edge condition tests.Dave Collins
This commit adds several tests to the script_invalid.json data which exercise some edge conditions that are not currently being tested. These are mainly being added to cover several cases a branch coverage analysis of btcd showed are not already being covered, but given more tests of edge conditions are always a good thing, I'm contributing them upstream.
2015-04-27Correct the PUSHDATA4 minimal encoding test.Dave Collins
The test which is intended to prove that the script engine is properly rejecting non-minimally encoded PUSHDATA4 data is using the wrong opcode and value. The test is using 0x4f, which is OP_1NEGATE instead of the desired 0x4e, which is OP_PUSHDATA4. Further, the push of data is intended to be 256 bytes, but the value the test is using is 0x00100000 (4096), instead of the desired 0x00010000 (256). This commit fixes both issues. This was found while examining the branch coverage in btcd against only these tests to help find missing branch coverage.
2015-04-27replace absolute sleep with conditional waitpstratem
2015-04-26Merge pull request #5696Wladimir J. van der Laan
691161d Consensus: Create consensus/consensus.h with some constants (jtimon)
2015-04-24chainparams: use SeedSpec6's rather than CAddress's for fixed seedsCory Fields
This negates the need for CAddress here at all
2015-04-24Merge pull request #6033Wladimir J. van der Laan
cd558b4 FreeBSD, OpenBSD thread renaming. (sinetek)
2015-04-24Merge pull request #6028Wladimir J. van der Laan
1d5b47a nLastTry is only used for addrman entries (Pieter Wuille)