bitcoin/contrib
MarcoFalke 7fcd61b261
Merge #10753: test: Check RPC argument mapping
77aa9e59e test: Check RPC argument mapping (Wladimir J. van der Laan)

Pull request description:

  Parse the dispatch tables from the server implementation files, and the conversion table from the client (see #10751).

  Perform the following consistency checks:

  - Arguments defined in conversion table, must be present in dispatch table. If not, it was probably forgotten to add them to the dispatch table, and they will not work.

  - Arguments defined in conversion table must have the same names as in the dispatch table. If not, they will not work.

  - All aliases for an argument must either be present in the conversion table, or not. Anything in between means an oversight and some aliases won't work.

  Any of these results in an error.

  It also performs a consistency check to see if the same named argument is sometimes converted, and sometimes not. E.g. one RPC call might have a 'verbose' argument that is converted,
  another RPC call might have one that is not converted. This is not necessarily wrong, but points at a possible error (as well as makes the API harder to memorize) - so it is emitted as a warning (could upgrade this to error).

  This test is added to travis and run when `CHECK_DOC`. Currently fails with the following output:
  ```
  * Checking consistency between dispatch tables and vRPCConvertParams
  ERROR: createrawtransaction argument 3 (named optintorbf in vRPCConvertParams) is not defined in dispatch table
  ERROR: getblock argument ['verbosity', 'verbose'] has conflicts in vRPCConvertParams conversion specifier [True, False]
  WARNING: conversion mismatch for argument named verbose ([('getblock', False), ('getblockheader', True), ('getmempoolancestors', True), ('getmempooldescendants', True), ('getrawmempool', True), ('getrawtransaction', True)])
  ```
  - ~#10698 fixes the first ERROR~
  - #10747 fixes the second ERROR, as well as the WARNING

  Update: #10698 was merged, leaving:
  ```
  * Checking consistency between dispatch tables and vRPCConvertParams
  ERROR: getblock argument ['verbosity', 'verbose'] has conflicts in vRPCConvertParams conversion specifier [True, False]
  WARNING: conversion mismatch for argument named verbose ([('getblock', False), ('getblockheader', True), ('getmempoolancestors', True), ('getmempooldescendants', True), ('getrawmempool', True), ('getrawtransaction', True)])
  ```

Tree-SHA512: feabebfbeda5d4613b2b9d5265aa6bde4e1a0235297ffd48fa415ad7edc531d9ed7913fe76d191ac60d481a915a326f216bc93de3c671e45e1d14e97d07dea7a
2017-09-13 20:16:59 +02:00
..
debian doc: spelling fixes 2017-08-16 00:24:39 +02:00
devtools Merge #10753: test: Check RPC argument mapping 2017-09-13 20:16:59 +02:00
gitian-descriptors gitian: quick hack to fix version string in releases 2017-08-20 00:31:05 -04:00
gitian-keys Add meshcollider gitian key 2017-08-26 18:23:55 +12:00
init Fix inconsistencies and grammar in various files 2017-06-27 19:59:07 +12:00
linearize Merge #10825: net: set regtest JSON-RPC port to 18443 to avoid conflict with testnet 18332 2017-09-06 01:18:35 +02:00
macdeploy Use with in macdeployqtplus script. 2017-04-25 09:18:08 +01:00
qos Add IPv6 support to qos.sh 2017-01-19 09:35:58 +00:00
rpm Merge #10825: net: set regtest JSON-RPC port to 18443 to avoid conflict with testnet 18332 2017-09-06 01:18:35 +02:00
seeds Use sys.exit(...) instead of exit(...): exit(...) should not be used in programs 2017-08-28 15:18:14 +02:00
testgen [tests] Remove unused and duplicate imports 2017-03-22 17:49:23 +01:00
verify-commits Update trusted-sha512-root-commit for new bad tree hash 2017-03-09 09:53:19 -05:00
verifybinaries Verify binaries from bitcoincore.org and bitcoin.org 2017-06-22 13:54:27 -04:00
windeploy release: add win detached sig creator and our cert chain 2017-01-10 18:58:09 -05:00
zmq Use sys.exit(...) instead of exit(...): exit(...) should not be used in programs 2017-08-28 15:18:14 +02:00
bitcoin-cli.bash-completion bash-completion: Adapt for 0.12 and 0.13 2016-07-07 07:52:59 -04:00
bitcoin-qt.pro Rename rpcconsole.ui => debugwindow.ui 2015-09-23 10:27:39 +02:00
bitcoin-tx.bash-completion bash-completion: Adapt for 0.12 and 0.13 2016-07-07 07:52:59 -04:00
bitcoind.bash-completion Fix inconsistencies and grammar in various files 2017-06-27 19:59:07 +12:00
filter-lcov.py Filter subtrees and and benchmarks from coverage report 2017-06-12 15:53:30 -07:00
gitian-build.sh Fix inconsistencies and grammar in various files 2017-06-27 19:59:07 +12:00
README.md Fix inconsistencies and grammar in various files 2017-06-27 19:59:07 +12:00
tidy_datadir.sh [copyright] add MIT license headers to .sh scripts where missing 2016-09-11 13:36:22 -06:00

Repository Tools

Developer tools

Specific tools for developers working on this repository. Contains the script github-merge.py for merging GitHub pull requests securely and signing them using GPG.

Verify-Commits

Tool to verify that every merge commit was signed by a developer using the above github-merge.py script.

Linearize

Construct a linear, no-fork, best version of the blockchain.

Qos

A Linux bash script that will set up traffic control (tc) to limit the outgoing bandwidth for connections to the Bitcoin network. This means one can have an always-on bitcoind instance running, and another local bitcoind/bitcoin-qt instance which connects to this node and receives blocks from it.

Seeds

Utility to generate the pnSeed[] array that is compiled into the client.

Build Tools and Keys

Debian

Contains files used to package bitcoind/bitcoin-qt for Debian-based Linux systems. If you compile bitcoind/bitcoin-qt yourself, there are some useful files here.

Gitian-descriptors

Notes on getting Gitian builds up and running using KVM.

Gitian-keys

PGP keys used for signing Bitcoin Core Gitian release results.

MacDeploy

Scripts and notes for Mac builds.

RPM

RPM spec file for building bitcoin-core on RPM based distributions.

Gitian-build

Script for running full Gitian builds.

Test and Verify Tools

TestGen

Utilities to generate test vectors for the data-driven Bitcoin tests.

Verify Binaries

This script attempts to download and verify the signature file SHA256SUMS.asc from bitcoin.org.