Commit graph

18455 commits

Author SHA1 Message Date
practicalswift
0089905361 Add compile time checking for cs_main locks which we assert at run time 2018-10-10 11:28:43 +02:00
MarcoFalke
be992701b0
Merge #14373: Consistency fixes for RPC descriptions
b8edb9810a [rpc] Descriptions: Textual consistency fixes (Jon Layton)

Pull request description:

Tree-SHA512: fa22ddac94e95672579cc84309f1c3ea3a2dbf762e45a8ae9c121c4c5188bf8c19ff9458d49dd7ef760c3ae4226487612a2954e9a1a0e8b720116afeb718b46b
2018-10-10 00:59:57 -03:00
MarcoFalke
dc8e6d04ea
Merge #14455: build: unbreak make clean
a48e44bd4f Fix CLEAN_BITCOIN_TEST to remove .log files for all BITCOIN_TESTS files (James O'Beirne)

Pull request description:

  My preferred alternative to https://github.com/bitcoin/bitcoin/pull/14440 (I'm too lazy to review an entire file move). This just applies a `.log` suffix addition to all `BITCOIN_TESTS` files for the purposes of cleaning, and thus doesn't erroneously remove test/scriptnum10.h.

Tree-SHA512: 06a0d9fb2c4851f4e74215aa4bca9cf81f49787f16c46b0172e5c1cf18ca744d747c5b0c1564cac433e0dea29b0afabd2d95f0f58a0157d1e05b2b7cb7800e00
2018-10-10 00:40:16 -03:00
James O'Beirne
a48e44bd4f Fix CLEAN_BITCOIN_TEST to remove .log files for all BITCOIN_TESTS files 2018-10-09 22:31:51 -04:00
Jon Layton
b8edb9810a [rpc] Descriptions: Textual consistency fixes
'Must be one of' should always end in a ':'

'hex encoded' is now always 'hex-encoded'

Remove redundant '(defaults to CONSERVATIVE)' text from estimatesmartfee

Consistent spacing for options '( verbose )' and '( verbosity )'

'BIP125 replaceable' is now always 'BIP125-replaceable'

JSON-RPC example is now always 'As a JSON-RPC call'
2018-10-09 08:42:19 -05:00
MarcoFalke
1d1417430c
Merge #13115: addrman: Add Clang thread safety annotations for variables guarded by CAddrMan.cs
3e9f6c821b Add missing locks and locking annotations for CAddrMan (practicalswift)

Pull request description:

  * Add Clang thread safety annotations for variables guarded by `CAddrMan.cs `
  * Add missing `CAddrMan.cs ` locks

Tree-SHA512: c78d56d56eb63a4469333c04c95317545a8f97d5e3a36ff2699ee4a91a6433d416221eed6c5ff168e1e31f6936c2ae101a4c60b635f2b2309f40e3d66a727322
2018-10-09 00:54:30 -03:00
practicalswift
3e9f6c821b Add missing locks and locking annotations for CAddrMan 2018-10-08 17:19:25 +02:00
MarcoFalke
4de0b5f39c
Merge #14385: depends: qt: avoid system harfbuzz and bz2
f149e31ea2 depends: qt: avoid system harfbuzz and bz2 (Cory Fields)

Pull request description:

  Should fix #14367.

  Gitian builds end up with this config implicitly due to missing harfbuzz system lib, this change explicitly disables the use of the lib completely, even if present.

  We may eventually want to break out harfbuzz and build it in depends, but for now just ensure that runtime dependencies don't depend on whether or not harfbuzz was present on the builder.

  @real-or-random Can you confirm that this fixes your issue?

Tree-SHA512: 1ad3dd572c1f2004ec80ebaf3b6831327b0267fb3dc1895e77bd04785cd6e32bafc931932195462bbae807289bc565f0ea740f4050d26f0233ddcd62bfdb0685
2018-10-08 05:27:28 -03:00
MarcoFalke
a89896fadb
Merge #13649: test: allow arguments to be forwarded to flake8 in lint-python.sh
854c85ae90 test: allow arguments to be forwarded to flake8 in lint-python.sh (James O'Beirne)

Pull request description:

  In order to use `lint-python.sh` from within various in-editor linting frameworks (e.g. [ALE](https://github.com/w0rp/ale), [flycheck](https://github.com/flycheck/flycheck)), we need to allow its arguments to be forwarded to the wrapped flake8 invocation.

  For what it's worth, here's my bitcoin-specific ALE vim config for doing so (requires this changeset):
  ```vim
  $ grep python /home/james/src/bitcoin/.exrc

  let g:ale_python_flake8_executable="/home/james/src/bitcoin/test/lint/lint-python.sh"
  ```

Tree-SHA512: 0d5500238ea5fde26ee9c21f6518a3a3dc8409c77ad1271ff7e7a94ef45a8c8d2e1b8ad3df3075dd4062ee0fff534625b1bc79613f869cd3c2d9260814ffc7ee
2018-10-08 05:25:46 -03:00
MarcoFalke
da32bd80bf
Merge #14253: Build: during 'make clean', remove some files that are currently missed.
3f5ac27205 Include some files currently missed by 'make distclean'. (murrayn)

Pull request description:

  `make clean` currently leaves behind some cache and test log files that should be removed.

Tree-SHA512: a1877e776e24232f6dd1468d7f392ea0bd1e93fdd975e623897d48c4b23a080a2e84ebb199f5482abd6b8c9ddd036850325e7b7ed07e2f9fe7a32f83cc99da4a
2018-10-08 04:32:48 -03:00
MarcoFalke
d6189ff200
Merge #14390: docs: release process: RPC documentation
3b706212ad doc: RPC documentation (Karel Bílek)

Pull request description:

  The auto-generated RPC docs seem to work so far ( https://bitcoincore.org/en/doc/ + 0.17.0 https://github.com/bitcoin-core/bitcoincore.org/pull/618 ). There are some problems (the design of the list on the right is not ideal, and apparently the huge list of pages slows down jekyll), but that can be fixed later; people are already linking to the docs now and looking for them there

  So I am adding the RPC docs to the release process.

  The script is here and it is written in golang, since I am most confident in the language; if necessary, I can try to rewrite to python, which is more common in bitcoin tooling

  https://github.com/bitcoin-core/bitcoincore.org/tree/master/contrib/doc-gen

Tree-SHA512: ba1b7696bb7ceb6cee4ff222b006b8c18768dd9283a4130751714a782d75ea2ca33f8d9fc4a5263d85a2f001c254daa0cee3b09cc7cba7366c66c5a115d8352a
2018-10-08 03:01:34 -03:00
MarcoFalke
35e12e336b
Merge #14428: docs: Fix macOS files description in qt/README.md
0bd64dc6d6 Fix macOS files description (Hennadii Stepanov)

Pull request description:

Tree-SHA512: 9547bda4e2bcd2c823b6c344e8d34ebc24770b2926bbec0f5c11f192407386cddf5daaa4fc154f769df708319262ead72e699dab211afa5762a2def6203445fe
2018-10-08 02:54:56 -03:00
MarcoFalke
d12e3d9acc
Merge #14324: qa: Run more tests with wallet disabled
faa4043c66 qa: Run more tests with wallet disabled (MarcoFalke)

Pull request description:

  Instead of skipping the whole test, only skip the wallet specific section of a test if the wallet is not compiled in. This is mostly an indentation change, so can be reviewed with `--ignore-all-space`.

Tree-SHA512: 5941a8b6b00dca5cf9438c5f6f010ba812115188a69e427d7ade4c1ab8cfe7a57c73daf52c66235dbb24b1cd9ab7c7a17c49bc23d931e041b605d79116a71f66
2018-10-08 01:42:02 -03:00
MarcoFalke
ab660c8e50
Merge #14413: tests: Allow closed rpc handler in assert_start_raises_init_error
62c304ea48 tests: Allow closed http server in assert_start_raises_init_error (Chun Kuan Lee)

Pull request description:

  The rpc handler may be unregistered when http server haven't been closed yet. So it may be allowable to get -342 `non-JSON HTTP response with \'%i %s\' from server` (503 Service Unavailable)

  See https://ci.appveyor.com/project/DrahtBot/bitcoin/build/master.2001. It shows "Rejecting request while shutting down" between "RPC stopped" and "Stopped HTTP server"

Tree-SHA512: e1f50ab9096cf23494ccc2850c01516c4a75f112c99108759157b22fce2011682a4b88216f206702f6a56e960182c00098053ad75f13aa0eafe27046adae63da
2018-10-08 01:29:22 -03:00
Chun Kuan Lee
62c304ea48 tests: Allow closed http server in assert_start_raises_init_error 2018-10-08 11:48:19 +08:00
MarcoFalke
d9acd8648e
Merge #14241: appveyor: script improvement
59a50c2179 appveyor: trivial build cache modifications (Chun Kuan Lee)

Pull request description:

  - Reduce cache size from 1.55GB to 170MB by disabling whole program optimization.
  - The `*.iobj` `*.ipdb` cache is no longer required because of above change.
  - Clearing cache hit stats instead of deleting clcache stats.txt file
  - Enable access time on Windows so clcache would work correctly
  - Reduce max cache size from 2GB to 512MB (Uncompressed)
  - Remove unnecessary `boost-interprocess` vcpkg package
  - Split some command into multiple lines to make it easier to know what commands do.

Tree-SHA512: 070b3ee05cd4323cef6fdab5ca0f223a5aa178f09b64d41fa39d0495f9bf3a387eadd10f5b72a2cd5b6f91579f19f595450fcf0afc05d7c5f6059a79fefaadc0
2018-10-08 00:36:31 -03:00
MarcoFalke
02a0242455
Merge #14419: [tests] Remove rpc_zmq.py
42a995ae48 [tests] Remove rpc_zmq.py (John Newbery)

Pull request description:

  rpc_zmq.py is racy and fails intermittently. Remove that test file and
  move the getzmqnotifications RPC test into interface_zmq.py.

Tree-SHA512: 666c8f252f8a392deda1bd531e84fdc04bdae4eab09407657ade2b5fc0aeffa247735e20314236f56e4e3402476673f3b7538d6e09f5af6976021ba2377ce63c
2018-10-07 23:49:43 -03:00
MarcoFalke
2a747337ae
Merge #14398: tests: Don't access out of bounds array index: array[sizeof(array)]
b09c81454e Don't access out of bounds array entry array[sizeof(array)] (Ben Woosley)

Pull request description:

  Split from #13525

Tree-SHA512: bf44609fc5d497cd1894b85dce33a55977b3e0f3d03b986333a85967c1f3aa89089461f830939072bbb4d2477ccce26b9caeb627215bfb86a331f58d3466a4bd
2018-10-07 23:34:50 -03:00
MarcoFalke
53f26cd11d
Merge #14421: Fix path to doc/descriptors.md in 0.17 release notes
64937fda62 [docs] path to descriptors.md fixed (Damian Mee)

Pull request description:

  Trivial fix for a missing slash in `0.17.0` release docs.

  <!-- Reviewable:start -->
  ---
  This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/bitcoin/bitcoin/14421)
  <!-- Reviewable:end -->

Tree-SHA512: 8d7ec0e997c609f19b981743a0042ff8bbd64b20aea81895ed59f2c112ca3120b7a9a1616bb6573506d9fdbcbd6de30bd63a3d45f13e8875d2b90bba4437d2e6
2018-10-07 23:12:12 -03:00
MarcoFalke
60a61611f6
Merge #13883: utils: Convert Windows args to utf-8 string
380c843217 utils: Convert Windows args to utf-8 string (Chun Kuan Lee)

Pull request description:

  Create a new class `WinCmdLineArgs` when building for Windows. It converts all command line arguments to utf8 string.

Tree-SHA512: f098520fd123a8a452bc84a55dc8c0b88f0c475410efe57f2ccc393f86c396eed59ea1575ddc1b920323792e390fdb092061d80cdcd9b682f0ac79a22a22ff82
2018-10-07 22:47:17 -03:00
Hennadii Stepanov
0bd64dc6d6
Fix macOS files description 2018-10-08 00:41:40 +03:00
Damian Mee
64937fda62
[docs] path to descriptors.md fixed 2018-10-07 11:16:22 +09:00
John Newbery
42a995ae48 [tests] Remove rpc_zmq.py
rpc_zmq.py is racy and fails intermittently. Remove that test file and
move the getzmqnotifications RPC test into interface_zmq.py
2018-10-07 09:32:50 +09:00
Ben Woosley
b09c81454e
Don't access out of bounds array entry array[sizeof(array)] 2018-10-05 16:48:16 +09:00
Chun Kuan Lee
59a50c2179 appveyor: trivial build cache modifications 2018-10-05 13:46:40 +08:00
MarcoFalke
f504a1402a
Merge #14395: Fix typos and cleanup
4a9f064ea1 Fix typos (Dimitris Apostolou)

Pull request description:

Tree-SHA512: 011133fb524c3c3cfd272aad0fe9103192b1cc00ac8b14d5b224368fffdb3893e8a19fe281e59ea1aba81bd5e5ab4b7b2de5c3f269e4a7aee66959727cd82cec
2018-10-04 20:58:02 -03:00
MarcoFalke
4ad560dba9
Merge #14393: doc: add missing apt-get install
86eddd466e doc: miss install (poiuty)

Pull request description:

Tree-SHA512: 2d9a3a5be1f68584e97c7429eb04514456c859422452a2d16bb35b8b1b54a0e4d059444a981d5c753d063bc8edfbe1a3c49740fa96998f0818e3ef5c6c6ff7d5
2018-10-04 18:49:29 -03:00
Dimitris Apostolou
4a9f064ea1
Fix typos 2018-10-04 21:58:24 +03:00
poiuty
86eddd466e
doc: miss install 2018-10-04 18:49:05 +03:00
Karel Bílek
3b706212ad
doc: RPC documentation 2018-10-04 16:43:10 +09:00
MarcoFalke
4b4e9486af
Merge #14389: travis: set codespell version to avoid breakage
d10f2cd7d8 travis: set codespell version to avoid breakage (MarcoFalke)

Pull request description:

  codespell changes the behaviour across version, so just hardcode the version to avoid warnings when they bump the version.

Tree-SHA512: f1a4d078d28c088cf0036f5160bfd79d5e4ccda061e535c066a74cd3d54d41b43ffa4df87a00d1941957ce0b5b60cb69135f6eee85e3e38bd496808fdf36743f
2018-10-04 04:16:20 -03:00
MarcoFalke
69a29b5a8e
Merge #14264: doc: Split depends installation instructions per arch
fad95e8da6 doc: Split build linux dependencies (MarcoFalke)
0000009015 doc: Split depends installation instructions per arch (MarcoFalke)

Pull request description:

  The current depends installation instructions fail on bionic with

  ```
  E: Unable to locate package g++-4.8-aarch64-linux-gnu
  E: Unable to locate package gcc-4.8-aarch64-linux-gnu
  E: Unable to locate package g++-4.8-arm-linux-gnueabihf
  E: Unable to locate package gcc-4.8-arm-linux-gnueabihf
  ```

  Also, they fail due to missing dependencies `make automake cmake pkg-config python3`

  Fix this by removing the explicit version and splitting them into common instructions and instructions per linux architecture.

Tree-SHA512: 25d5efa7450a0b1bbd569f431158f5a25bf4fe34f6adc32ebdfd6b6db9447ce083f555f20ff5b9f7c458864986c15d65219a31a1cd2b18bad9965ece2ea5e3be
2018-10-04 00:58:08 -03:00
MarcoFalke
bfaeb84f0b
Merge #14381: test: Add missing call to skip_if_no_cli()
ff94da7887 tests: Make appveyor run with --usecli (practicalswift)
db01839361 test: Add missing call to skip_if_no_cli() (practicalswift)

Pull request description:

  Add missing call to `skip_if_no_cli()` as suggested by @MarcoFalke in #14365.

Tree-SHA512: b0a2ddfad0f81cc9544f63c4e490fb983d833a47c23522549d1200ea6a8a132b2cd4bf0d66b862ef3a548d8471128b80aea3525fb5dec65221e23f32a8d46746
2018-10-03 22:31:31 -03:00
MarcoFalke
d10f2cd7d8 travis: set codespell version to avoid breakage 2018-10-03 18:59:03 -03:00
Cory Fields
f149e31ea2 depends: qt: avoid system harfbuzz and bz2
We may eventually want to break out harfbuzz and build it in depends, but
for now just ensure that runtime dependencies don't depend on whether or not
harfbuzz was present on the builder.
2018-10-03 16:50:42 -04:00
Wladimir J. van der Laan
1f59c6f3eb
doc: Remove "temporary file" notice from 0.17.0 release notes
not that temporary anymore

Tree-SHA512: c44bfca71573b3d70001d339138715fc6fbceae2e370f2e1e8ba5bdfdb19e8ec4b0a59d45ff8565e0f784d4659f51e8089a6d892a73362b428d8a98097fc8532
2018-10-03 12:47:17 +02:00
practicalswift
ff94da7887 tests: Make appveyor run with --usecli 2018-10-03 11:36:54 +02:00
Wladimir J. van der Laan
5aaf1a0473
doc: Add historical release notes for 0.17.0
Tree-SHA512: 3b33d2e261b7c94a6556f55fa7854be06c4104276266e5af1870e815703a241c95b9508793ece4a91e447ade8b141326d1be965fdd6b3609a7aeec3127fab6e8
2018-10-03 11:16:29 +02:00
practicalswift
db01839361 test: Add missing call to skip_if_no_cli() 2018-10-03 10:10:35 +02:00
Wladimir J. van der Laan
1e8f88e071
Merge #14325: [gitian] use versioned unsigned tarballs instead of generically named ones
d813266db1 [gitian] use versioned unsigned tarballs instead of generically named ones (Andrew Chow)

Pull request description:

  Instead of re-naming the tarballs used for the code signing step to the generically named tarball that is used, keep the versioned naming. Only copy them to the correct filename when they are needed at build time.

  This makes it easier to handle situations when multiple different releases are being built simultaneously as the version that the code signatures are applied to will actually be the correct version and not require a rebuild to get the correct tarball.

Tree-SHA512: 434f721485521c6f7487038705a5d2e48ac2eb79cfad5f92a93b7ea9c91e1fb33702ce7aeed4d840c61ec43e808af5cc15a553b6e16e2ed1d7ac697485019204
2018-10-01 12:53:41 +02:00
murrayn
3f5ac27205 Include some files currently missed by 'make distclean'. 2018-10-01 02:17:44 -07:00
MarcoFalke
011c39c296
Merge #14331: doxygen: Fix member comments
fa69ac7614 doxygen: Fix member comments (MarcoFalke)

Pull request description:

  Trailing comments must be indicted with the caret `//!<`.

  Not all places do this right now, see for example https://dev.visucore.com/bitcoin/doxygen/txmempool_8h.html#a2bc6653552b5871101b6cbefdbaf251f, but they can be fixed with an almost-scripted-diff:

  ```
  sed -i --regexp-extended -e 's/((,|;) *\/\/!) /\1< /g' $(git grep --extended-regexp -l  '(,|;)\s*//!\s')
  ```

  (Same as  [doxygen] Fix member comments #7793)

Tree-SHA512: 451077008353ccc6fcc795f34094b2d022feb7a171b562a07ba4de0dcb0aebc137e12b03970764bd81e2da386751d042903db4c4831900f43c0cfde804c81b2b
2018-09-30 22:15:37 -03:00
Chun Kuan Lee
380c843217 utils: Convert Windows args to utf-8 string 2018-09-30 15:08:16 +08:00
Wladimir J. van der Laan
c9327306b5
Merge #14348: depends: fix bitcoin-qt back-compat with older freetype versions at runtime
430bf6c7a1 depends: fix bitcoin-qt back-compat with older freetype versions at runtime (Cory Fields)

Pull request description:

  Fixes #14339. Thanks to @fanquake for confirming.

  A few years ago, libfreetype introduced ```FT_Get_Font_Format()``` as an alias for ```FT_Get_X11_Font_Format()```, but ```FT_Get_X11_Font_Format()``` was kept for abi backwards-compatibility.

  Our qt bump to 5.9 introduced a call to```FT_Get_Font_Format()```. Replace it with ```FT_Get_X11_Font_Format()``` in order to remain compatibile with older freetype, which is still used by e.g. Ubuntu Trusty.

  Needs 0.17 backport.

Tree-SHA512: 89c7b268c7d397c5195f5fb6f27473dbf5bdd6c85f7c6f6b35b49c719df1dbc117e105275f1d31bc2b80fecf5f8a852dc89247c4e4537a788f8e76ad34c72d64
2018-09-29 14:23:21 +02:00
Wladimir J. van der Laan
0809e68a90
doc: Add historical release notes for 0.14.3 and 0.15.2
Tree-SHA512: 56c4293a9536a3d6cf747c911cb605f5509707f0a43b19574e9c3038c6717465a69c9225cf654eb1f31ee6e8e2b319bb6ec537a4dc579775d087e96c432b245c
2018-09-28 17:27:46 +02:00
Cory Fields
430bf6c7a1 depends: fix bitcoin-qt back-compat with older freetype versions at runtime
A few years ago, libfreetype introduced FT_Get_Font_Format() as an alias for
FT_Get_X11_Font_Format(), but FT_Get_X11_Font_Format() was kept for abi
backwards-compatibility.

Our qt bump to 5.9 introduced a call to FT_Get_Font_Format(). Replace it with
FT_Get_X11_Font_Format() in order to remain compatibile with older freetype,
which is still used by e.g. Ubuntu Trusty.
2018-09-28 09:04:13 -04:00
MarcoFalke
af4b8a327a
Merge #14217: doc: Add GitHub pr template
fae9e84cbb doc: Add GitHub pr template (MarcoFalke)

Pull request description:

  Bitcoin Core has a very thorough review process and even the most trivial change needs to pass a lot of eyes and requires non-zero or even substantial time effort to review. There is a huge lack of active reviewers on the project, so patches often sit for a long time.

  Authors should provide clear motivation for patches and explain how it improves Bitcoin Core user experience or Bitcoin Core developer experience significantly.

Tree-SHA512: 83b379d75934089f13ba173e6ec847845f954f10f83e406ef9722836aa093170c612b4214f22cd5939d59f66a50f5d0e52aa0059423e8e7261bb176f1c546a08
2018-09-28 07:53:49 -04:00
MarcoFalke
9b8bb5f140
Merge #14316: tests: exclude all tests with difference parameters in --exclude list
c7b3e487f2 tests: exclude all tests with difference parameters (Chun Kuan Lee)

Pull request description:

  Fix broken exclusion list in functional tests. See https://github.com/bitcoin/bitcoin/pull/14007#pullrequestreview-158309105

Tree-SHA512: b6c2b86fef13e3c00c695adaeeb3e47ee9b48877c71bc605d24201ce931b2ef3ae9f5f199071fa1ec5de2d7aadc478410094c380cc297922e683e9b2569cda03
2018-09-27 12:16:15 -04:00
MarcoFalke
134b42a409
Merge #14244: amount: Move CAmount CENT to unit test header
fa84723e73 amount: Move CAmount CENT to unit test header (MarcoFalke)

Pull request description:

  `CAmount` is currently not type-safe. Exporting a constant (`CENT`) that is commonly not referred to by that name might be confusing. `CENT` is only used in two places prior to this commit (`ParseMoney` and `MIN_CHANGE`). So replace these with constants relative to `COIN` and move `CENT` to the unit test header.

Tree-SHA512: 5273e96d8664ced6ae211abde2e20bc763e6e99f89404eec02c621f29e1d235e5f9b1ade933743843fae16fc24b643f883deda9221e3d9fd31229d2ab63a914f
2018-09-27 12:02:17 -04:00
MarcoFalke
01211cea71
Merge #14307: Consolidate redundant implementations of ParseHashStr
9c5af58d51 Consolidate redundant implementations of ParseHashStr (Ben Woosley)

Pull request description:

  This change:
  * adds a length check to all calls to `ParseHashStr`, appropriate given its use to populate
    a 256-bit number from a hex str
  * allows the caller to handle the failure, which allows for the more
    appropriate `JSONRPCError` on failure in `prioritisetransaction` rpc

  Relative to #14288

Tree-SHA512: baa791147e5ceb3c30c70df3981aaf807bf7d4a90a0be3625540b59aa4b9a9d303a452bfef18bf167cbb833ef9591b4ef5948bf4a1ce67b421d804ae8d20ea53
2018-09-27 11:26:29 -04:00