aboutsummaryrefslogtreecommitdiff
path: root/contrib/devtools
AgeCommit message (Collapse)Author
2017-09-14contrib: Ignore historical release notes for whitespace checkWladimir J. van der Laan
Lint checks should not test these, they are historical documents, and we don't want to encourage silly changes to them to satisfy a checker. Hopefully makes travis pass again on master. Tree-SHA512: 37e6716c4fd5e8a4e579f9b84042e6b0ac224836b6c851cd1ca3f7d46611ffd3003bed0ae08dd0457f69d6eaa485a0d21c631e7ef16b14bdb0f2f78ea700332d
2017-09-14Add tab char lint check and exclude imported dependenciesMeshCollider
2017-09-14Add a lint check for trailing whitespace.Evan Klitzke
This adds a new CHECK_DOC check that looks for newly introduced trailing whitespace. Existing trailing whitespace (of which there is plenty!) will not trigger an error. This is written in a generic way so that new lint-*.sh scripts can be added to contrib/devtools/, as I'd like to contribute additional lint checks in the future.
2017-09-13Merge #10753: test: Check RPC argument mappingMarcoFalke
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-08Add -usehd to excluded args in check-doc.pyMeshCollider
2017-09-07test: Check RPC argument mappingWladimir J. van der Laan
Parse the dispatch tables from the server implementation files, and the conversion table from the client. 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).
2017-09-05github-merge: Coalesce git fetchesWladimir J. van der Laan
Fetch the destination branch as well as PR in one go. Saves a few seconds (as well as one ssh authentication, when using a yubikey) when using github-merge.py.
2017-08-28Use print(...) instead of undefined printf(...)practicalswift
2017-08-28Use sys.exit(...) instead of exit(...): exit(...) should not be used in programspracticalswift
2017-08-03Add undocumented -forcecompactdb to force LevelDB compactionsPieter Wuille
2017-07-10Add PR description to merge commit in github-merge.pyPieter Wuille
2017-06-26Random db flush crash simulatorPieter Wuille
2017-06-18doc: Remove outdated minrelaytxfee commentMarcoFalke
2017-06-13Merge #10480: Improve commit-check-script.shWladimir J. van der Laan
5432fc3 Fail on commit with VERIFY SCRIPT but no scripted-diff (Pieter Wuille) Tree-SHA512: 687b6c825f6f882f9c8e9d301bc893383710bad70216fa40b95f7e24d83a7148f9c759c3e4bd905a6cd26960829f8f6bd03106dc6c83ac312bf34ad239917018
2017-05-31devtools: Retry after signing fails in github-mergeWladimir J. van der Laan
When signing fails, go back to the sign/exit prompt instead of exiting the script.
2017-05-30Fail on commit with VERIFY SCRIPT but no scripted-diffPieter Wuille
2017-05-11Merge #10317: Remove unused Python importsWladimir J. van der Laan
0c60c63 Remove unused Python imports (practicalswift) Tree-SHA512: c7ae6a8ae2c751b771804960498bf270ab022c80fa9e1b39118d5986d890c8cdfc27a3cc24bf28c080d8088ddc11facd1f2881ba2c209cdd819675fda4689d83
2017-05-04devtools: add script to verify scriptable changesCory Fields
2017-05-02Remove unused Python importspracticalswift
2017-04-21contrib: github-merge improvementsWladimir J. van der Laan
Some minor github-merge improvements I've made over time: User interface: - Print merge details again before signing off, to refresh your memory - usually I'll have done lots of different things in the shell so this will have scrolled out a long time ago. - Require a valid answer on the prompts. One of the requested answers must be typed, if not, the prompt will re-ask. This prevents accidentally rejecting. Efficiency: - Condense "accept merge" and "sign off" prompts. There's no reason to have this as two separate prompts, both are just opportunities to skip out on the merge, no action is performed in between. Merging: - Strip spaces from github title. This avoids redundant spaces surrounding it from getting into the commit message.
2017-03-20Rename rpc-tests directory to functionalJohn Newbery
2017-03-20Rename qa directory to testJohn Newbery
2017-03-13devtools: Make github-merge compute SHA512 from git, instead of worktreeWladimir J. van der Laan
This changes tree_sha512sum() to requests the objects for hashing from git instead of from the working tree. The change should make the process more deterministic (it hashes what will be pushed) and hopefully avoids the frequent miscomputed SHA512's that happen now.
2017-03-07Merge #9602: Remove coin age priority and free transactions - implementationWladimir J. van der Laan
b421e6d Update example bitcoin.conf (Alex Morcos) 7d4e950 Allow setting minrelaytxfee to 0 (Alex Morcos) 359e8a0 [cleanup] Remove coin age priority completely. (Alex Morcos) f9b9371 [rpc] Remove priorityDelta from prioritisetransaction (Alex Morcos) 49be7e1 [rpc] Remove priority information from mempool RPC calls (Alex Morcos) 0315888 [test] Remove priority from tests (Alex Morcos) f838005 No longer allow "free" transactions (Alex Morcos) ad727f4 [rpc] sendrawtransaction no longer bypasses minRelayTxFee (Alex Morcos) fe282ac [cleanup] Remove estimatePriority and estimateSmartPriority (Alex Morcos) 400b151 [debug] Change -printpriority option (Alex Morcos) 272b25a [mining] Remove -blockprioritysize. (Alex Morcos) 12839cd [rpc] Remove estimatepriority and estimatesmartpriority. (Alex Morcos) ddf58c7 wallet: Remove sendfree (MarcoFalke) Tree-SHA512: a9a4499405923ce794ef18f9e334dbbd59dfc73a3dc2df6f85cc9c62af6f353ec2eed9c2d5e58e904f918d0d7ab738f403dd4939d9bc2276136864fe63710782
2017-03-07devtools: Fix a syntax error typoWladimir J. van der Laan
Fix a typo introduced in #9880 causing the script to not even parse.
2017-03-06Merge #9880: Verify Tree-SHA512s in merge commits, enforce sigs are not SHA1Wladimir J. van der Laan
bbd7579 Fix regsig checking for subkey sigs in verify-commits (Matt Corallo) d025bc7 Allow any subkey in verify-commits (Matt Corallo) eddc77a Add comment re: why SHA1 is disabled (Peter Todd) d9c450f Verify Tree-SHA512s in merge commits, enforce sigs are not SHA1 (Matt Corallo) be908a6 Fail merge if there are any symlinks (Matt Corallo) Tree-SHA512: bb66c59cc1c6b1c86d7d8be7adb0769c6598c0e28ad927409941f30af87d390521e82fc13700ee22e92db1bd571db3e19a152ec7b2c0349c6e06f5de62c0b65f
2017-03-03[contrib] gh-merge: Move second sha512 check to before signingMarcoFalke
2017-03-01Fail merge if there are any symlinksMatt Corallo
2017-02-27wallet: Remove sendfreeMarcoFalke
This removes the option from the wallet to not pay a fee on "small" transactions which spend "old" inputs. This code is no longer worth keeping around, as almost all miners prefer not to include transactions which pay no fee at all.
2017-02-26Add SHA512 tree hash to merge commitsPieter Wuille
2017-02-16Merge #9675: Fix typo and spelling inconsistency in CONTRIBUTING.mdWladimir J. van der Laan
36164fa Fix typo and spelling inconsistency in CONTRIBUTING.md (Koki Takahashi)
2017-02-10devtools: Handle Qt formatting characters edge-case in update-translations.pyWladimir J. van der Laan
If both numeric format specifiers and "others" are used, assume we're dealing with a Qt-formatted message. In the case of Qt formatting (see https://doc.qt.io/qt-5/qstring.html#arg) only numeric formats are replaced at all. This means "(percentage: %1%)" is valid (which was introduced in #9461), without needing any kind of escaping that would be necessary for strprintf. Without this, this function would wrongly detect '%)' as a printf format specifier.
2017-02-09Fix typo and spelling inconsistency in CONTRIBUTING.mdKoki Takahashi
Fix spellings of GitHub Remove unnecessary changes Fix GitHub spelling on doc/translation_process.md
2017-01-28[doc] Remove unused clang format dev scriptMarcoFalke
Also, update the clang format file to reflect the current coding style mentioned in the developer notes.
2017-01-20Remove redundant semicolons in Python codepracticalswift
2017-01-13Remove unused Python importspracticalswift
2016-12-31Increment MIT Licence copyright header year on files modified in 2016isle2983
Edited via: $ contrib/devtools/copyright_header.py update .
2016-11-06[copyright] copyright header style uniformisle2983
Three categories of modifications: 1) 1 instance of 'The Bitcoin Core developers \n', 1 instance of 'the Bitcoin Core developers\n', 3 instances of 'Bitcoin Core Developers\n', and 12 instances of 'The Bitcoin developers\n' are made uniform with the 443 instances of 'The Bitcoin Core developers\n' 2) 3 instances of 'BitPay, Inc\.\n' are made uniform with the other 6 instances of 'BitPay Inc\.\n' 3) 4 instances where there was no '(c)' between the 'Copyright' and the year where it deviates from the style of the local directory.
2016-11-02Merge #8674: tools for analyzing, updating and adding copyright headers in ↵Wladimir J. van der Laan
source files 159597a [devtools] script support for managing source file copyright headers (isle2983)
2016-09-26Merge #8249: Enable (and check for) 64-bit ASLR on WindowsWladimir J. van der Laan
62c2915 build: supply `-Wl,--high-entropy-va` (Wladimir J. van der Laan) 9a75d29 devtools: Check for high-entropy ASLR in 64-bit PE executables (Wladimir J. van der Laan)
2016-09-26devtools: Check for high-entropy ASLR in 64-bit PE executablesWladimir J. van der Laan
check_PE_PIE only checked for DYNAMIC_BASE, this is not enough for (secure) ASLR on 64-bit.
2016-09-20Merge #8700: [copyright] add MIT license headers to .sh scripts where missingWladimir J. van der Laan
0766d1c [copyright] add MIT license headers to .sh scripts where missing (isle2983)
2016-09-19Merge #8676: Add missing copyright headersWladimir J. van der Laan
783e930 [copyright] Add missing copyright headers (isle2983)
2016-09-19Merge #8702: [copyright] add MIT License copyright header to remaining ↵Wladimir J. van der Laan
Python files 4677b19 [copyright] add MIT License copyright header to remaining Python files (isle2983)
2016-09-13Merge #8608: Install manpages via make install, also add some autogenerated ↵Wladimir J. van der Laan
manpages d19583f improved gen-manpages.sh, includes bitcoin-tx and strips commit tag, now also runs binaries from build dir by default, added variables for more control (nomnombtc) 09546ca regenerated all manpages with commit tag stripped, also add bitcoin-tx (nomnombtc) ae6e754 change help string --enable-man to --disable-man (nomnombtc) a32c102 add conditional for --enable-man, default is yes (nomnombtc) dc84b6f add doc/man to subdir if configure flag --enable-man is set (nomnombtc) 00dba72 add doc/man/Makefile.am to include manpages (nomnombtc) eb5643b add autogenerated manpages by help2man (nomnombtc) 6edf2fd add gen-manpages.sh description to README.md (nomnombtc) d2cd9c0 add script to generate manpages with help2man (nomnombtc)
2016-09-11[copyright] add MIT License copyright header to remaining Python filesisle2983
2016-09-11[copyright] Add missing copyright headersisle2983
2016-09-11[copyright] add MIT license headers to .sh scripts where missingisle2983
Years are set according to 'git log' history
2016-09-10[devtools] script support for managing source file copyright headersisle2983
Three subcommands to this script: 1) ./copyright_header.py report Examines git-tracked files with extensions that match: INCLUDE = ['*.h', '*.cpp', '*.cc', '*.c', '*.py'] Helps to: -> Identify source files without copyright -> Identify source files added with something other than "The Bitcoin Core developers" holder so we can be sure it is appropriate -> Identify unintentional typos in the copyright line 2) ./copyright_header.py update Replaces fix-copyright-headers.py. It does file editing in native python rather than subprocessing out to perl as was the case with fix-copyright-headers.py. It also shares code with the 'report' functions. 3) ./copyright_header.py insert Inserts a copyright header into a source file with the proper format and dates.
2016-09-01improved gen-manpages.sh, includes bitcoin-tx and strips commit tag, now ↵nomnombtc
also runs binaries from build dir by default, added variables for more control