Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[0.17 MERGE] Merge up to Core 3832c25f176753b7ddb724c26ee7543fb1e1819e #502

Merged
merged 323 commits into from
Feb 12, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
323 commits
Select commit Hold shift + click to select a range
4cef8e0
Merge #13429: Return the script type from Solver
laanwj Aug 25, 2018
021dce9
Merge #13946: p2p: Clarify control flow in ProcessMessage
laanwj Aug 25, 2018
947133d
streams: Create VectorReader stream interface for vectors.
Jan 23, 2018
87f2d9e
streams: Unit test for VectorReader class.
Apr 12, 2018
fe943f9
streams: Implement BitStreamReader/Writer classes.
Jan 24, 2018
9b622dc
streams: Unit tests for BitStreamReader and BitStreamWriter.
Apr 17, 2018
c454f0a
blockfilter: Declare GCSFilter class for BIP 158 impl.
Jan 24, 2018
cf70b55
blockfilter: Implement GCSFilter constructors.
Jan 24, 2018
558c536
blockfilter: Implement GCSFilter Match methods.
Jan 24, 2018
53e7874
blockfilter: Simple test for GCSFilter construction and Match.
Jan 24, 2018
c1855f6
blockfilter: Construction of basic block filters.
Jan 24, 2018
cd09c79
blockfilter: Serialization methods on BlockFilter.
Jan 24, 2018
a4afb9c
blockfilter: Additional helper methods to compute hash and header.
Jan 24, 2018
97b64d6
blockfilter: Unit test against BIP 158 test vectors.
Jan 24, 2018
f33b717
blockfilter: Optimization on compilers with int128 support.
jimpo May 13, 2018
254c85b
bench: Benchmark GCS filter creation and matching.
jimpo May 14, 2018
6f5372a
Merge #13961: util: Replace boost::signals2 with std::function
laanwj Aug 25, 2018
f6eb85d
Merge #13707: tests: Add usage note to check-rpc-mappings.py
laanwj Aug 25, 2018
6516b36
Merge #12676: Show "bip125-replaceable" flag, when retrieving mempool…
laanwj Aug 25, 2018
9e0a514
Add compile time checking for all cs_main runtime locking assertions
practicalswift Aug 13, 2018
91186e5
Merge #13083: Add compile time checking for cs_main runtime locking a…
Aug 25, 2018
9e2de6b
Move cs_main locking annotations from .cpp to .h
practicalswift Aug 25, 2018
683838b
Merge #14063: Move cs_main locking annotations from .cpp to .h
Aug 26, 2018
737670c
Use assert when running from multithreaded code as BOOST_CHECK_* are …
skeees Aug 26, 2018
faf4a9b
qa: Stop txindex thread before calling destructor
Aug 26, 2018
1117283
Merge #14069: qa: Use assert not BOOST_CHECK_* from multithreaded tests
Aug 26, 2018
c775dc4
Merge #12254: BIP 158: Compact Block Filters for Light Clients
laanwj Aug 26, 2018
fad8afa
travis: Run unit tests --with-sanitizers=undefined
Aug 24, 2018
0b16f67
auto generate MSVC project files
ken2812221 Aug 25, 2018
427253c
Merge #14062: build: generate MSVC project files via python script
Aug 26, 2018
23db954
utils: run commands using utf-8 string on Windows
ken2812221 Aug 6, 2018
e806183
Merge #14071: qa: Stop txindex thread before calling destructor
Aug 27, 2018
deed63f
Merge #14056: Docs: Fix help message typo optiona -> optional
laanwj Aug 27, 2018
0ae15bd
Merge #14036: travis: Run unit tests --with-sanitizers=undefined
laanwj Aug 27, 2018
cb98eff
Merge #14031: Make IS_TRIVIALLY_CONSTRUCTIBLE consistent on GCC < 5, …
laanwj Aug 27, 2018
4f2f88c
move script sections info individual files and comply with shellcheck
scravy Aug 3, 2018
86d34f0
abort script in END_FOLD on non-zero exit code
scravy Aug 3, 2018
519e273
move lint stage up to resemble travis build ui
scravy Aug 3, 2018
272306e
number .travis/ script according to build lifecycle and add README to…
scravy Aug 3, 2018
506890b
move remaining travis build steps into individual files
scravy Aug 3, 2018
728c82d
make script exit if a command fails
scravy Aug 3, 2018
4143269
use export LC_ALL=C.UTF-8
scravy Aug 7, 2018
4a1a214
Merge #14030: Remove ambiguity in construction of prevector
laanwj Aug 27, 2018
e13a820
Merge #13861: test: Add testing of value_ret for SelectCoinsBnB
laanwj Aug 27, 2018
5778bf9
Report minfeefilter value in getpeerinfo rpc
ajtowns Jun 22, 2018
a9910d8
contrib: Adjust output to current test format
AkioNak Aug 6, 2018
6667490
Merge #13987: Report minfeefilter value in getpeerinfo rpc
Aug 27, 2018
51a73c9
Merge #13935: contrib: Adjust output to current test format
Aug 27, 2018
c410f41
[tests] Remove wallet accounts test
jnewbery Jul 27, 2018
ca4510c
Merge #13863: travis: move script sections to files in `.travis/` sub…
Aug 27, 2018
b2f49bd
Integration of property based testing into Bitcoin Core
Christewart Mar 24, 2018
c55c5f2
fix missing differentiation between UNIT and FUNCTIONAL tests in trav…
scravy Aug 27, 2018
794e55b
Merge #14081: travis: fix missing differentiation between UNIT and FU…
Aug 27, 2018
f0dc850
[wallet] Remove wallet account RPCs
jnewbery Jul 27, 2018
1f4b865
[wallet] Re-sort wallet RPC commands
jnewbery Jul 27, 2018
bb08423
[doc] Add release notes for 'account' API removal
jnewbery Aug 27, 2018
f180e81
Merge #14023: Remove accounts rpcs
laanwj Aug 27, 2018
f34c8c4
Make objects in range declarations immutable by default. Avoid unnece…
practicalswift Jun 18, 2018
1d9aa00
Explicitly initialize prevector _union
Empact Aug 23, 2018
1661a47
add unicode compatible file_lock for Windows
ken2812221 Jul 25, 2018
4c530e0
travis: add CXXFLAGS=-Wnopsabi at ARM job
ken2812221 Aug 4, 2018
dd34204
Merge #13769: Mark single-argument constructors "explicit"
Aug 27, 2018
fea4e9e
Merge #13767: Remove redundant assignments (dead stores)
Aug 27, 2018
0df9b0a
Merge #14042: travis: add CXXFLAGS=-Wno-psabi at ARM job
Aug 27, 2018
16e288a
test padding non micro timestamps
jnewbery Aug 27, 2018
df905e3
[rpc] Remove deprecated validateaddress usage.
jnewbery Feb 20, 2018
90c8340
[RPC] Remove warning about wallet addresses in createmultisig()
jnewbery Aug 6, 2018
f7e9e70
[rpc] Remove deprecated sigrawtransaction rpc method.
jnewbery Feb 20, 2018
8550f1f
Add README.md to linux release tarballs
hebasto Aug 23, 2018
4c3c9c3
Don't assert(...) with side effects
practicalswift Aug 28, 2018
ee9e6e7
Merge #14051: [Tests] Make combine_logs.py handle multi-line logs
laanwj Aug 28, 2018
ca1a093
Add regression test: Don't assert(...) with side effects
practicalswift Aug 28, 2018
aa39ca7
Merge #13723: PSBT key path cleanups
laanwj Aug 28, 2018
1cc5897
tests: Fix accidental trunction from int to bool
practicalswift Aug 28, 2018
e2ba043
Implements ParseNetwork unit test.
l2a5b1 Jul 15, 2018
7a208d9
Implements custom tolower and toupper functions.
l2a5b1 Aug 28, 2018
b193d5a
Removes the Boost case_conv.hpp dependency.
l2a5b1 Jul 25, 2018
8e9f851
Merge #14052: qa: Add some actual witness in rpc_rawtransaction
Aug 28, 2018
f055995
blockfilter: Omit empty scripts from filter contents.
jimpo Aug 26, 2018
5de338e
Merge #14055: fix walletcreatefundedpsbt deriv paths, add test
laanwj Aug 28, 2018
fa309dc
validation: Log FormatStateMessage on ConnectBlock error in ConnectTip
Aug 29, 2018
13887f4
Merge #14093: tests: Fix accidental trunction from int to bool
Aug 29, 2018
2ddce35
Merge #13862: utils: drop boost::interprocess::file_lock
laanwj Aug 29, 2018
5924dad
Merge #13671: Remove the boost/algorithm/string/case_conv.hpp dependency
laanwj Aug 29, 2018
b0eb8f7
Merge #14028: Explicitly initialize prevector _union
laanwj Aug 29, 2018
1361f8b
Merge #14020: Add tests for RPC help
Aug 29, 2018
cceedbc
Don't close old debug log file handle prematurely when trying to re-o…
practicalswift May 3, 2018
75ea00f
Remove unused fsbridge::freopen
practicalswift May 3, 2018
888acef
Merge #13792: tx pool: Avoid passing redundant hash into addUnchecked…
laanwj Aug 29, 2018
4e9a6f8
Merge #14097: validation: Log FormatStateMessage on ConnectBlock erro…
laanwj Aug 29, 2018
749ba35
scripted-diff: Pass node into p2p_segwit acceptance tests
Aug 29, 2018
b4d3309
scripted-diff: Use named arguments in feature_block
Aug 29, 2018
fa782a3
qa: Use named args in some tests
Aug 29, 2018
db5e9d3
Add missing locks (cs_args)
practicalswift Aug 27, 2018
d58dc9f
Add lock annotations (cs_args)
practicalswift Aug 29, 2018
1e29379
Fix potential deadlock
practicalswift Aug 30, 2018
be301a5
Merge #14103: docs: Fix broken Doxygen comments
laanwj Aug 30, 2018
6c7cfc8
Merge #13126: util: Add Clang thread safety annotations for variables…
Aug 30, 2018
a66c0f7
util: Report parse errors in configuration file
laanwj Aug 30, 2018
c9c32e6
[wallet] Kill accounts
jnewbery Jul 31, 2018
07033a8
Merge #13825: [wallet] Kill accounts
laanwj Aug 30, 2018
b602c9b
tests: Add missing locking annotations and locks
practicalswift Aug 30, 2018
946107a
Only log "Using PATH_TO_bitcoin.conf" message on startup if conf file…
leishman Aug 24, 2018
b57d7d9
macOS fix: Avoid mapfile due to ancient version of bash shipped with …
practicalswift Aug 30, 2018
ec4d57b
macOS fix: Work around empty (sub)expression error when using BSD grep
practicalswift Aug 30, 2018
908a559
macOS fix: Add excludes for checks added in the newer shellcheck vers…
practicalswift Aug 30, 2018
341f7c7
macOS fix: Check for correct version of flake8 to avoid spurious warn…
practicalswift Aug 30, 2018
48ed386
Merge #13724: [contrib] Support ARM and RISC-V symbol check
laanwj Aug 31, 2018
0c9bea5
Merge #14037: Add README.md to linux release tarballs
laanwj Aug 31, 2018
104aad1
Merge #14101: qa: Use named args in validation acceptance tests
laanwj Aug 31, 2018
bb02778
Merge #13159: Don't close old debug log file handle prematurely when …
laanwj Aug 31, 2018
3f96908
Merge #14073: blockfilter: Avoid out-of-bounds script access.
laanwj Aug 31, 2018
62b6f0f
Add EXCLUSIVE_LOCKS_REQUIRED to CWallet::ListCoins
ryanofsky Aug 31, 2018
bdbd654
Merge #14108: tests: Add missing locking annotations and locks (g_cs_…
Aug 31, 2018
709a15b
Merge #14088: tests: Don't assert(...) with side effects
laanwj Aug 31, 2018
b9babc8
utils: Use _wfopen and _wreopen on Windows
ken2812221 Jul 26, 2018
b012bbe
Merge #10605: Add AssertLockHeld assertions in CWallet::ListCoins
Aug 31, 2018
fb97437
added note that control port must be enabled and how to do that in to…
JBaczuk Jul 17, 2018
190bf62
scripted-diff: Small locking rename
ryanofsky Nov 3, 2017
385ad11
Merge #11640: Make LOCK, LOCK2, TRY_LOCK work with CWaitableCriticalS…
laanwj Aug 31, 2018
fac3e22
qa: Read reject reasons from debug log, not p2p messages
Aug 24, 2018
59ecacf
Merge #11599: scripted-diff: Small locking rename
laanwj Aug 31, 2018
83d5305
Switch nPrevNodeCount to vNodesSize.
pstratem Aug 31, 2018
8dfc2f3
Test rpc_help.py failed: Check whether ZMQ is enabled or not.
Kvaciral Aug 31, 2018
2070a54
Merge #14122: Test rpc_help.py failed: Check whether ZMQ is enabled o…
laanwj Sep 1, 2018
9256f7d
build: avoid getifaddrs when unavailable
theuni Jul 19, 2018
c7f7fa4
Trivial: update clang thread-safety docs url
Empact Sep 2, 2018
68f3c7e
Merge #14120: Notes about control port and read access to cookie
laanwj Sep 2, 2018
5d62dcf
lint: Make sure we read the command line inputs using utf-8 decoding …
ken2812221 Sep 1, 2018
ee3a494
gui: Favor macOS show / hide action in dock menu
promag Sep 2, 2018
68bfc0b
doc: correct GetDifficulty doc after #13288
fanquake Sep 3, 2018
fa462b3
wallet: Set encrypted_batch to nullptr after delete. Avoid double fre…
practicalswift Sep 3, 2018
e4a79b4
appveyor: Use clcache to speed up build
ken2812221 Aug 26, 2018
8ecaee1
Increase signal to noise in appveyor build output by reducing the MSV…
practicalswift Aug 28, 2018
e1b776e
Merge #14140: [Net] Switch nPrevNodeCount to vNodesSize
laanwj Sep 4, 2018
788b8a2
Merge #14135: doc: correct GetDifficulty doc after #13288
laanwj Sep 4, 2018
281feee
Merge #14129: Trivial: update clang thread-safety docs url
laanwj Sep 4, 2018
fa61627
Merge #14128: lint: Make sure we read the command line inputs using u…
laanwj Sep 4, 2018
564385f
Merge #14094: refactoring: Remove unreferenced local variables
laanwj Sep 4, 2018
0f34dac
Merge #14013: [doc] Add new regtest ports in man following #10825 por…
laanwj Sep 4, 2018
ada3562
Fix typos reported by codespell
practicalswift Aug 14, 2018
f8a81f7
lint: Add spell check linter (codespell)
practicalswift Aug 13, 2018
bdfeb5d
Merge #14133: gui: Favor macOS show / hide action in dock menu
laanwj Sep 4, 2018
5c24d3b
Merge #13249: Make objects in range declarations immutable by default…
laanwj Sep 4, 2018
fab5267
doxygen: Remove misleading checkpoints comment in CMainParams
Sep 4, 2018
c39fa34
Merge #14086: appveyor: Use clcache to speed up build
Sep 4, 2018
e9a78e9
doc: Change documentation for =0 for non-boolean options
laanwj Aug 29, 2018
97ccd2b
Merge #14115: lint: Make all linters work under the default macOS dev…
Sep 5, 2018
9254ffc
Add descriptor reference documentation
sipa Aug 28, 2018
89709db
Adjust TODO link
sipa Aug 28, 2018
2b5d6f8
Replace duplcate reference with reference to reference doc
sipa Sep 5, 2018
95d731d
Merge #14100: doc: Change documentation for =0 for non-boolean options
Sep 5, 2018
a6f16f1
Docs: Add disable-wallet section to OSX build instructions
bitstein Sep 5, 2018
e351a16
Remove reference to deprecated RPC call in build instructions
bitstein Sep 5, 2018
adf27b5
Merge #13954: Warn (don't fail!) on spelling errors. Fix typos report…
Sep 5, 2018
ed2332a
test: Add test for config file parsing errors
Sep 6, 2018
a6aca8d
Merge #14105: util: Report parse errors in configuration file
laanwj Sep 6, 2018
35d7d94
Merge #14096: Add reference documentation for descriptors language
laanwj Sep 6, 2018
2f7ae35
Merge #14149: doc: Remove misleading checkpoints comment in CMainParams
laanwj Sep 6, 2018
dd031e3
noui: Move handlers to header file
Sep 6, 2018
fa7e969
qt: Also log and print messages or questions like bitcoind
Sep 6, 2018
4799b09
Merge #12490: [Wallet] [RPC] Remove deprecated wallet rpc features fr…
Sep 7, 2018
fa14b54
p2p: Disable BIP 61 by default
Aug 31, 2018
dc287c9
Squashed 'src/univalue/' changes from 51d3ab34ba..7890db99d6
Sep 7, 2018
faad55a
Update univalue subtree
Sep 7, 2018
b8cf492
Merge #14153: Docs: Add disable-wallet section to OSX build instructi…
Sep 7, 2018
faa1a74
tx pool: Use class methods to hide raw map iterator impl details
Jul 29, 2018
fb06eb4
Merge #13662: Explain when reindex-chainstate can be used instead of …
Sep 7, 2018
3076556
[build] Move dummy wallet into its own .cpp file.
jnewbery Sep 7, 2018
eea87ef
Merge #12775: Integration of property based testing into Bitcoin Core
laanwj Sep 8, 2018
cb25cd6
Merge #14119: qa: Read reject reasons from debug log, not p2p messages
laanwj Sep 8, 2018
e7a7245
Scripts and tools: increased timeout downloading
cisba Sep 9, 2018
faea5bf
doc: release notes for -enablebip61 default change
Sep 9, 2018
7177e09
depends: Remove unused Qt 4 dependencies
ken2812221 Sep 10, 2018
bc8aa2b
don't translate command line options
HashUnlimited Sep 10, 2018
ae251fa
Merge #14186: bitcoin-cli: don't translate command line options
Sep 10, 2018
fbfa2e4
Merge #14057: [Logging] Only log "Using config file PATH_TO_bitcoin.c…
laanwj Sep 10, 2018
793d2b7
Merge #14164: Update univalue subtree
Sep 10, 2018
e5eb8ba
Merge #14183: depends: Remove unused Qt 4 dependencies
laanwj Sep 10, 2018
3210756
Merge #14054: p2p: Disable BIP 61 by default
laanwj Sep 10, 2018
6eeac2e
Merge #14138: wallet: Set encrypted_batch to nullptr after delete. Av…
laanwj Sep 10, 2018
7c7bb6e
Merge #14127: build: avoid getifaddrs when unavailable
laanwj Sep 10, 2018
838b85e
Merge #14008: Preserve a format of RPC command definitions
laanwj Sep 10, 2018
e0a4f9d
Merge #13793: tx pool: Use class methods to hide raw map iterator imp…
laanwj Sep 10, 2018
13c842e
Merge #9332: Let wallet importmulti RPC accept labels for standard sc…
laanwj Sep 10, 2018
fa263bc
qa: Fix silent merge conflict in wallet_importmulti
Sep 10, 2018
eb2f1bd
Merge #14189: qa: Fix silent merge conflict in wallet_importmulti
Sep 10, 2018
7d038dc
[build] remove ENABLE_WALLET ifdef from httprpc.cpp
jnewbery Sep 7, 2018
e221368
utils: Convert fs error messages from multibyte to utf-8
ken2812221 Sep 10, 2018
faa669c
qa: Premine to deterministic address with -disablewallet
Sep 10, 2018
fac9539
qa: Run all tests even if wallet is not compiled
Sep 9, 2018
da74db0
Drop unused GetType() from CSizeComputer
Empact Jun 22, 2018
893628b
Drop minor GetSerializeSize template
Empact Jun 15, 2018
7ab2837
Merge #14162: gui: Also log and print messages or questions like bitc…
laanwj Sep 11, 2018
3783b13
Merge #13866: utils: Use _wfopen and _wfreopen on Windows
laanwj Sep 11, 2018
bcffd87
Merge #13558: Drop unused GetType() from CSizeComputer
laanwj Sep 11, 2018
e3fec3c
Merge #13419: [tests] Speed up knapsack_solver_test by not recreating…
laanwj Sep 11, 2018
0de0abc
Merge #14184: Scripts and tools: increased timeout downloading
laanwj Sep 11, 2018
3625187
Merge #13734: gui: Drop boost::scoped_array and use wchar_t API expli…
laanwj Sep 11, 2018
d38bf91
Call unicode API on Windows
ken2812221 Aug 6, 2018
4103cc3
Merge #14168: Remove ENABLE_WALLET from libbitcoin_server.a
Sep 11, 2018
b6a2533
Remove redundant BIP174 test from rpc_psbt.json
Sep 11, 2018
e0664f7
build: Move interfaces/* to libbitcoin_server
laanwj Sep 12, 2018
1c12cf6
Merge #13886: utils: run commands using utf-8 string on Windows
laanwj Sep 12, 2018
8f46454
Merge #14204: build: Move interfaces/* to libbitcoin_server
laanwj Sep 12, 2018
fae3fbd
logging: Replace LogPrint macros with regular functions
Sep 12, 2018
d0b1cee
doc: `-help-debug` implies `-help`
laanwj Sep 12, 2018
1bfcc06
Merge #14209: logging: Replace LogPrint macros with regular functions
laanwj Sep 13, 2018
9a565a8
Pass export privkey DER compression flag correctly
fingera Sep 12, 2018
81b3f3c
Merge #14195: Pass privkey export DER compression flag correctly
laanwj Sep 13, 2018
477f258
Merge #14207: doc: `-help-debug` implies `-help`
laanwj Sep 13, 2018
37b836a
Merge #13888: Call unicode API on Windows
laanwj Sep 13, 2018
288ddf4
Merge #14180: qa: Run all tests even if wallet is not compiled
laanwj Sep 13, 2018
ef425f6
Merge #14199: [psbt]Remove redundant BIP174 test from rpc_psbt.json
laanwj Sep 13, 2018
b9ed2fd
Merge #13310: Report progress in ReplayBlocks while rolling forward
laanwj Sep 13, 2018
e413c2d
qa: Fix codespell error and have lint-spelling error instead of warn
Sep 11, 2018
fa8433e
qa: Remove unneded import_deterministic_coinbase_privkeys overwrite, …
Sep 13, 2018
962c302
Merge #13983: rpc: Return more specific reject reason for submitblock
Sep 13, 2018
e4ef4b4
[build] remove #ifdef ENABLE_WALLET from interfaces/node
jnewbery Sep 12, 2018
49fd485
Merge #14208: [build] Actually remove ENABLE_WALLET
laanwj Sep 13, 2018
14b29a7
Fix reference to lint-locale-dependence.sh
hebasto Sep 13, 2018
d73205e
Merge #14192: utils: Convert fs::filesystem_error messages from local…
laanwj Sep 13, 2018
f0a6a92
Merge #14213: Docs: Fix reference to lint-locale-dependence.sh
Sep 13, 2018
cccc362
build: Remove libssl from LDADD unless gui
Sep 13, 2018
9dcb676
[qa] Use correct python index slices in example test
sdaftuar Sep 13, 2018
efb11d7
Merge #14179: qa: Fixups to "Run all tests even if wallet is not comp…
Sep 13, 2018
a098245
Merge #14215: [qa] Use correct python index slices in example test
Sep 13, 2018
f09bc7e
Merge #12493: [wallet] Reopen CDBEnv after encryption instead of shut…
laanwj Sep 14, 2018
8e1c13e
doc: Document -checklevel levels
laanwj Sep 12, 2018
de89eec
Merge #14206: doc: Document -checklevel levels
laanwj Sep 15, 2018
c53e083
Merge #14212: build: Remove libssl from LDADD unless gui
Sep 15, 2018
c0d947d
tests: Reorder tests and move most of extended tests up to normal tests
ken2812221 Sep 15, 2018
d641c29
travis: Run feature_dbcrash functional tests in cron job
ken2812221 Sep 15, 2018
3832c25
Merge #14225: tests: Reorder tests and move most of extended tests up…
Sep 16, 2018
c62fab2
UPSTREAM MERGE BROKEN: Merge commit '3832c25f176753b7ddb724c26ee7543f…
instagibbs Jan 28, 2019
51584e7
MERGE-FIX: various compilation fixes
instagibbs Jan 28, 2019
90f7d18
MERGE-FIX: functional tests
instagibbs Jan 28, 2019
0179972
MERGE FIX: fixup travis bitcoin_functional run
instagibbs Jan 28, 2019
4202671
MERGE FIX: spelling linter fixes
instagibbs Jan 28, 2019
e0a8aba
MERGE FIX: Properly parse sendtomainchain args from -cli
instagibbs Jan 29, 2019
80857b3
MERGE FIX: TEST: fixup bitcoin functional
instagibbs Jan 29, 2019
4f4fe8f
MERGE FIX: ConnectTip: ub fix for bench
instagibbs Jan 29, 2019
c73e564
MERGE FIX: instantiate consensus.has_parent_chain for all chains
instagibbs Jan 29, 2019
9494052
MERGE FIX: enable parent chain in fedpeg-based unit tests
instagibbs Jan 29, 2019
7c97d6a
MERGE FIX: sync up bitcoin_functional
instagibbs Jan 29, 2019
9d9ee3d
MERGE FIX: Adapt bitcoin_functional sync to regtest2
instagibbs Jan 29, 2019
a36ee6c
MERGE FIX: Augment IsValidPeginWitness with err string return
instagibbs Jan 29, 2019
6c1c652
MERGE FIX: move pegin witness test to beginning to maybe avoid dirtyi…
instagibbs Jan 31, 2019
c42c823
MERGE FIX: Pegin witness test cleanup
instagibbs Jan 31, 2019
634e395
MERGE FIX: Prevent mainnet unit tests from thinking they have signed …
instagibbs Jan 31, 2019
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
123 changes: 47 additions & 76 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,19 +5,19 @@ language: minimal
cache:
ccache: true
directories:
- depends/built
- depends/sdk-sources
- $HOME/.ccache
- depends/built
- depends/sdk-sources
- $HOME/.ccache
stages:
- lint
- test
env:
global:
- MAKEJOBS=-j3
- RUN_TESTS=false
- RUN_UNIT_TESTS=true
- RUN_FUNCTIONAL_TESTS=true
- RUN_BENCH=false # Set to true for any one job that has debug enabled, to quickly check bench is not crashing or hitting assertions
- DOCKER_NAME_TAG=ubuntu:18.04
- LC_ALL=C.UTF-8
- BOOST_TEST_RANDOM=1$TRAVIS_BUILD_ID
- CCACHE_SIZE=100M
- CCACHE_TEMPDIR=/tmp/.ccache-temp
Expand All @@ -28,63 +28,50 @@ env:
- WINEDEBUG=fixme-all
- DOCKER_PACKAGES="build-essential libtool autotools-dev automake pkg-config bsdmainutils curl git ca-certificates ccache"
before_install:
- export PATH=$(echo $PATH | tr ':' "\n" | sed '/\/opt\/python/d' | tr "\n" ":" | sed "s|::|:|g")
- BEGIN_FOLD () { echo ""; CURRENT_FOLD_NAME=$1; echo "travis_fold:start:${CURRENT_FOLD_NAME}"; }
- END_FOLD () { RET=$?; echo "travis_fold:end:${CURRENT_FOLD_NAME}"; return $RET; }
- set -o errexit; source .travis/test_03_before_install.sh
install:
- travis_retry docker pull $DOCKER_NAME_TAG
- env | grep -E '^(CCACHE_|WINEDEBUG|LC_ALL|BOOST_TEST_RANDOM|CONFIG_SHELL)' | tee /tmp/env
- if [[ $HOST = *-mingw32 ]]; then DOCKER_ADMIN="--cap-add SYS_ADMIN"; fi
- DOCKER_ID=$(docker run $DOCKER_ADMIN -idt --mount type=bind,src=$TRAVIS_BUILD_DIR,dst=$TRAVIS_BUILD_DIR --mount type=bind,src=$CCACHE_DIR,dst=$CCACHE_DIR -w $TRAVIS_BUILD_DIR --env-file /tmp/env $DOCKER_NAME_TAG)
- DOCKER_EXEC () { docker exec $DOCKER_ID bash -c "cd $PWD && $*"; }
- if [ -n "$DPKG_ADD_ARCH" ]; then DOCKER_EXEC dpkg --add-architecture "$DPKG_ADD_ARCH" ; fi
- travis_retry DOCKER_EXEC apt-get update
- travis_retry DOCKER_EXEC apt-get install --no-install-recommends --no-upgrade -qq $PACKAGES $DOCKER_PACKAGES
- set -o errexit; source .travis/test_04_install.sh
before_script:
- DOCKER_EXEC echo \> \$HOME/.bitcoin # Make sure default datadir does not exist and is never read by creating a dummy file
- mkdir -p depends/SDKs depends/sdk-sources
- if [ -n "$OSX_SDK" -a ! -f depends/sdk-sources/MacOSX${OSX_SDK}.sdk.tar.gz ]; then curl --location --fail $SDK_URL/MacOSX${OSX_SDK}.sdk.tar.gz -o depends/sdk-sources/MacOSX${OSX_SDK}.sdk.tar.gz; fi
- if [ -n "$OSX_SDK" -a -f depends/sdk-sources/MacOSX${OSX_SDK}.sdk.tar.gz ]; then tar -C depends/SDKs -xf depends/sdk-sources/MacOSX${OSX_SDK}.sdk.tar.gz; fi
- if [[ $HOST = *-mingw32 ]]; then DOCKER_EXEC update-alternatives --set $HOST-g++ \$\(which $HOST-g++-posix\); fi
- if [ -z "$NO_DEPENDS" ]; then DOCKER_EXEC CONFIG_SHELL= make $MAKEJOBS -C depends HOST=$HOST $DEP_OPTS; fi
- set -o errexit; source .travis/test_05_before_script.sh
script:
- export TRAVIS_COMMIT_LOG=`git log --format=fuller -1`
- OUTDIR=$BASE_OUTDIR/$TRAVIS_PULL_REQUEST/$TRAVIS_JOB_NUMBER-$HOST
- BITCOIN_CONFIG_ALL="--disable-dependency-tracking --prefix=$TRAVIS_BUILD_DIR/depends/$HOST --bindir=$OUTDIR/bin --libdir=$OUTDIR/lib"
- if [ -z "$NO_DEPENDS" ]; then DOCKER_EXEC ccache --max-size=$CCACHE_SIZE; fi
- BEGIN_FOLD autogen; test -n "$CONFIG_SHELL" && DOCKER_EXEC "$CONFIG_SHELL" -c "./autogen.sh" || DOCKER_EXEC ./autogen.sh; END_FOLD
- mkdir build && cd build
- BEGIN_FOLD configure; DOCKER_EXEC ../configure --cache-file=config.cache $BITCOIN_CONFIG_ALL $BITCOIN_CONFIG || ( cat config.log && false); END_FOLD
- BEGIN_FOLD distdir; DOCKER_EXEC make distdir VERSION=$HOST; END_FOLD
- cd bitcoin-$HOST
- BEGIN_FOLD configure; DOCKER_EXEC ./configure --cache-file=../config.cache $BITCOIN_CONFIG_ALL $BITCOIN_CONFIG || ( cat config.log && false); END_FOLD
- BEGIN_FOLD build; DOCKER_EXEC make $MAKEJOBS $GOAL || ( echo "Build failure. Verbose build follows." && DOCKER_EXEC make $GOAL V=1 ; false ); END_FOLD
- if [ "$RUN_TESTS" = "true" ]; then BEGIN_FOLD unit-tests; DOCKER_EXEC LD_LIBRARY_PATH=$TRAVIS_BUILD_DIR/depends/$HOST/lib make $MAKEJOBS check VERBOSE=1; END_FOLD; fi
- if [ "$RUN_BENCH" = "true" ]; then BEGIN_FOLD bench; DOCKER_EXEC LD_LIBRARY_PATH=$TRAVIS_BUILD_DIR/depends/$HOST/lib $OUTDIR/bin/bench_bitcoin -scaling=0.001 ; END_FOLD; fi
- if [ "$TRAVIS_EVENT_TYPE" = "cron" ]; then extended="--extended --exclude feature_pruning,feature_dbcrash"; fi
- if [ "$RUN_TESTS" = "true" ]; then BEGIN_FOLD functional-tests; DOCKER_EXEC test/functional/test_runner.py --combinedlogslen=4000 --coverage --quiet --failfast ${extended}; END_FOLD; fi
- if [ "$RUN_BITCOIN_TESTS" = "true" ]; then BEGIN_FOLD bitcoin-functional-tests; DOCKER_EXEC test/bitcoin_functional/functional/test_runner.py --combinedlogslen=4000 --coverage --quiet --failfast ${extended}; END_FOLD; fi
- set -o errexit; source .travis/test_06_script.sh
after_script:
- echo $TRAVIS_COMMIT_RANGE
- echo $TRAVIS_COMMIT_LOG
- echo $TRAVIS_COMMIT_RANGE
- echo $TRAVIS_COMMIT_LOG
jobs:
include:
# lint stage
- stage: lint
env:
sudo: false
cache: false
language: python
python: '3.6'
install:
- set -o errexit; source .travis/lint_04_install.sh
before_script:
- set -o errexit; source .travis/lint_05_before_script.sh
script:
- set -o errexit; source .travis/lint_06_script.sh
# ARM
- stage: test
env: >-
HOST=arm-linux-gnueabihf
PACKAGES="g++-arm-linux-gnueabihf"
DEP_OPTS="NO_QT=1"
RUN_UNIT_TESTS=false
RUN_FUNCTIONAL_TESTS=false
GOAL="install"
BITCOIN_CONFIG="--enable-glibc-back-compat --enable-reduce-exports"
# -Wno-psabi is to disable ABI warnings: "note: parameter passing for argument of type ... changed in GCC 7.1"
# This could be removed once the ABI change warning does not show up by default
BITCOIN_CONFIG="--enable-glibc-back-compat --enable-reduce-exports CXXFLAGS=-Wno-psabi"
# Win32
- stage: test
env: >-
HOST=i686-w64-mingw32
DPKG_ADD_ARCH="i386"
DEP_OPTS="NO_QT=1"
PACKAGES="python3 nsis g++-mingw-w64-i686 wine-binfmt wine32"
RUN_TESTS=true
GOAL="install"
BITCOIN_CONFIG="--enable-reduce-exports"
# Win64
Expand All @@ -93,7 +80,6 @@ jobs:
HOST=x86_64-w64-mingw32
DEP_OPTS="NO_QT=1"
PACKAGES="python3 nsis g++-mingw-w64-x86-64 wine-binfmt wine64"
RUN_TESTS=true
GOAL="install"
BITCOIN_CONFIG="--enable-reduce-exports"
# 32-bit + dash
Expand All @@ -102,7 +88,6 @@ jobs:
HOST=i686-pc-linux-gnu
PACKAGES="g++-multilib python3-zmq"
DEP_OPTS="NO_QT=1"
RUN_TESTS=true
GOAL="install"
BITCOIN_CONFIG="--enable-zmq --enable-glibc-back-compat --enable-reduce-exports LDFLAGS=-static-libstdc++"
CONFIG_SHELL="/bin/dash"
Expand All @@ -112,35 +97,32 @@ jobs:
HOST=x86_64-unknown-linux-gnu
PACKAGES="python3-zmq qtbase5-dev qttools5-dev-tools protobuf-compiler libdbus-1-dev libharfbuzz-dev libprotobuf-dev"
DEP_OPTS="NO_QT=1 NO_UPNP=1 DEBUG=1 ALLOW_HOST_PACKAGES=1"
RUN_TESTS=true
RUN_BENCH=true
GOAL="install"
BITCOIN_CONFIG="--enable-zmq --with-gui=qt5 --enable-glibc-back-compat --enable-reduce-exports --enable-debug CXXFLAGS=\"-g0 -O2\""
# x86_64 Linux (Qt5 & system libs)
# x86_64 Linux (no depends, only system libs)
- stage: test
env: >-
HOST=x86_64-unknown-linux-gnu
PACKAGES="python3-zmq qtbase5-dev qttools5-dev-tools libssl1.0-dev libevent-dev bsdmainutils libboost-system-dev libboost-filesystem-dev libboost-chrono-dev libboost-test-dev libboost-thread-dev libdb5.3++-dev libminiupnpc-dev libzmq3-dev libprotobuf-dev protobuf-compiler libqrencode-dev"
NO_DEPENDS=1
RUN_TESTS=true
GOAL="install"
BITCOIN_CONFIG="--enable-zmq --with-incompatible-bdb --enable-glibc-back-compat --enable-reduce-exports --with-gui=qt5 CPPFLAGS=-DDEBUG_LOCKORDER"
# x86_64 Linux w/ Bitcoin functional tests (Qt5 & system libs)
# x86_64 Linux (sanitizers)
- stage: test
env: >-
HOST=x86_64-unknown-linux-gnu
PACKAGES="python3-zmq qtbase5-dev qttools5-dev-tools libssl1.0-dev libevent-dev bsdmainutils libboost-system-dev libboost-filesystem-dev libboost-chrono-dev libboost-test-dev libboost-thread-dev libdb5.3++-dev libminiupnpc-dev libzmq3-dev libprotobuf-dev protobuf-compiler libqrencode-dev"
PACKAGES="clang python3-zmq qtbase5-dev qttools5-dev-tools libssl1.0-dev libevent-dev bsdmainutils libboost-system-dev libboost-filesystem-dev libboost-chrono-dev libboost-test-dev libboost-thread-dev libdb5.3++-dev libminiupnpc-dev libzmq3-dev libprotobuf-dev protobuf-compiler libqrencode-dev"
NO_DEPENDS=1
RUN_BITCOIN_TESTS=true
RUN_BENCH=true
RUN_FUNCTIONAL_TESTS=false # Disabled for now, can be combined with the other x86_64 linux NO_DEPENDS job when functional tests pass the sanitizers
GOAL="install"
BITCOIN_CONFIG="--enable-zmq --with-incompatible-bdb --enable-glibc-back-compat --enable-reduce-exports --with-gui=qt5 CPPFLAGS=-DDEBUG_LOCKORDER"
BITCOIN_CONFIG="--enable-zmq --with-incompatible-bdb --enable-glibc-back-compat --enable-reduce-exports --with-gui=qt5 CPPFLAGS=-DDEBUG_LOCKORDER --with-sanitizers=undefined CC=clang CXX=clang++"
# x86_64 Linux, No wallet
- stage: test
env: >-
HOST=x86_64-unknown-linux-gnu
PACKAGES="python3"
DEP_OPTS="NO_WALLET=1"
RUN_TESTS=true
GOAL="install"
BITCOIN_CONFIG="--enable-glibc-back-compat --enable-reduce-exports"
# Cross-Mac
Expand All @@ -149,28 +131,17 @@ jobs:
HOST=x86_64-apple-darwin14
PACKAGES="cmake imagemagick libcap-dev librsvg2-bin libz-dev libbz2-dev libtiff-tools python-dev python3-setuptools-git"
OSX_SDK=10.11
RUN_UNIT_TESTS=false
RUN_FUNCTIONAL_TESTS=false
GOAL="all deploy"
BITCOIN_CONFIG="--enable-gui --enable-reduce-exports --enable-werror"
- stage: lint
env:
sudo: false
cache: false
language: python
python: '3.6'
install:
- travis_retry pip install flake8==3.5.0
before_script:
- git fetch --unshallow
script:
- if [ "$TRAVIS_EVENT_TYPE" = "pull_request" ]; then test/lint/commit-script-check.sh $TRAVIS_COMMIT_RANGE; fi
- test/lint/git-subtree-check.sh src/crypto/ctaes
- test/lint/git-subtree-check.sh src/secp256k1
- test/lint/git-subtree-check.sh src/univalue
- test/lint/git-subtree-check.sh src/leveldb
- test/lint/check-doc.py
- test/lint/check-rpc-mappings.py .
- test/lint/lint-all.sh
- if [ "$TRAVIS_REPO_SLUG" = "bitcoin/bitcoin" -a "$TRAVIS_EVENT_TYPE" = "cron" ]; then
while read LINE; do travis_retry gpg --keyserver hkp://subset.pool.sks-keyservers.net --recv-keys $LINE; done < contrib/verify-commits/trusted-keys &&
travis_wait 50 contrib/verify-commits/verify-commits.py;
fi

# x86_64 Linux w/ Bitcoin functional tests (Qt5 & system libs)
- stage: test
env: >-
HOST=x86_64-unknown-linux-gnu
PACKAGES="python3-zmq qtbase5-dev qttools5-dev-tools libssl1.0-dev libevent-dev bsdmainutils libboost-system-dev libboost-filesystem-dev libboost-chrono-dev libboost-test-dev libboost-thread-dev libdb5.3++-dev libminiupnpc-dev libzmq3-dev libprotobuf-dev protobuf-compiler libqrencode-dev"
NO_DEPENDS=1
RUN_BITCOIN_TESTS=true
GOAL="install"
BITCOIN_CONFIG="--enable-zmq --with-incompatible-bdb --enable-glibc-back-compat --enable-reduce-exports --with-gui=qt5 CPPFLAGS=-DDEBUG_LOCKORDER"
8 changes: 8 additions & 0 deletions .travis/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
## travis build scripts

The `.travis` directory contains scripts for each build step in each build stage.
Currently the travis build defines two stages `lint` and `test`. Each stage has
it's own [lifecycle](https://docs.travis-ci.com/user/customizing-the-build/#the-build-lifecycle).
Every script in here is named and numbered according to which stage and lifecycle
step it belongs to.

10 changes: 10 additions & 0 deletions .travis/lint_04_install.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
#!/usr/bin/env bash
#
# Copyright (c) 2018 The Bitcoin Core developers
# Distributed under the MIT software license, see the accompanying
# file COPYING or http://www.opensource.org/licenses/mit-license.php.

export LC_ALL=C

travis_retry pip install codespell==1.13.0
travis_retry pip install flake8==3.5.0
9 changes: 9 additions & 0 deletions .travis/lint_05_before_script.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
#!/usr/bin/env bash
#
# Copyright (c) 2018 The Bitcoin Core developers
# Distributed under the MIT software license, see the accompanying
# file COPYING or http://www.opensource.org/licenses/mit-license.php.

export LC_ALL=C

git fetch --unshallow
24 changes: 24 additions & 0 deletions .travis/lint_06_script.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
#!/usr/bin/env bash
#
# Copyright (c) 2018 The Bitcoin Core developers
# Distributed under the MIT software license, see the accompanying
# file COPYING or http://www.opensource.org/licenses/mit-license.php.

export LC_ALL=C

if [ "$TRAVIS_EVENT_TYPE" = "pull_request" ]; then
test/lint/commit-script-check.sh $TRAVIS_COMMIT_RANGE
fi

test/lint/git-subtree-check.sh src/crypto/ctaes
test/lint/git-subtree-check.sh src/secp256k1
test/lint/git-subtree-check.sh src/univalue
test/lint/git-subtree-check.sh src/leveldb
test/lint/check-doc.py
test/lint/check-rpc-mappings.py .
test/lint/lint-all.sh

if [ "$TRAVIS_REPO_SLUG" = "bitcoin/bitcoin" -a "$TRAVIS_EVENT_TYPE" = "cron" ]; then
while read -r LINE; do travis_retry gpg --keyserver hkp://subset.pool.sks-keyservers.net --recv-keys $LINE; done < contrib/verify-commits/trusted-keys &&
travis_wait 50 contrib/verify-commits/verify-commits.py;
fi
25 changes: 25 additions & 0 deletions .travis/test_03_before_install.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
#!/usr/bin/env bash
#
# Copyright (c) 2018 The Bitcoin Core developers
# Distributed under the MIT software license, see the accompanying
# file COPYING or http://www.opensource.org/licenses/mit-license.php.

export LC_ALL=C.UTF-8

PATH=$(echo $PATH | tr ':' "\n" | sed '/\/opt\/python/d' | tr "\n" ":" | sed "s|::|:|g")
export PATH

BEGIN_FOLD () {
echo ""
CURRENT_FOLD_NAME=$1
echo "travis_fold:start:${CURRENT_FOLD_NAME}"
}

END_FOLD () {
RET=$?
echo "travis_fold:end:${CURRENT_FOLD_NAME}"
if [ $RET != 0 ]; then
echo "${CURRENT_FOLD_NAME} failed with status code ${RET}"
fi
}

26 changes: 26 additions & 0 deletions .travis/test_04_install.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
#!/usr/bin/env bash
#
# Copyright (c) 2018 The Bitcoin Core developers
# Distributed under the MIT software license, see the accompanying
# file COPYING or http://www.opensource.org/licenses/mit-license.php.

export LC_ALL=C.UTF-8

travis_retry docker pull "$DOCKER_NAME_TAG"
env | grep -E '^(CCACHE_|WINEDEBUG|LC_ALL|BOOST_TEST_RANDOM|CONFIG_SHELL)' | tee /tmp/env
if [[ $HOST = *-mingw32 ]]; then
DOCKER_ADMIN="--cap-add SYS_ADMIN"
fi
DOCKER_ID=$(docker run $DOCKER_ADMIN -idt --mount type=bind,src=$TRAVIS_BUILD_DIR,dst=$TRAVIS_BUILD_DIR --mount type=bind,src=$CCACHE_DIR,dst=$CCACHE_DIR -w $TRAVIS_BUILD_DIR --env-file /tmp/env $DOCKER_NAME_TAG)

DOCKER_EXEC () {
docker exec $DOCKER_ID bash -c "cd $PWD && $*"
}

if [ -n "$DPKG_ADD_ARCH" ]; then
DOCKER_EXEC dpkg --add-architecture "$DPKG_ADD_ARCH"
fi

travis_retry DOCKER_EXEC apt-get update
travis_retry DOCKER_EXEC apt-get install --no-install-recommends --no-upgrade -qq $PACKAGES $DOCKER_PACKAGES

25 changes: 25 additions & 0 deletions .travis/test_05_before_script.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
#!/usr/bin/env bash
#
# Copyright (c) 2018 The Bitcoin Core developers
# Distributed under the MIT software license, see the accompanying
# file COPYING or http://www.opensource.org/licenses/mit-license.php.

export LC_ALL=C.UTF-8

DOCKER_EXEC echo \> \$HOME/.bitcoin # Make sure default datadir does not exist and is never read by creating a dummy file

mkdir -p depends/SDKs depends/sdk-sources

if [ -n "$OSX_SDK" -a ! -f depends/sdk-sources/MacOSX${OSX_SDK}.sdk.tar.gz ]; then
curl --location --fail $SDK_URL/MacOSX${OSX_SDK}.sdk.tar.gz -o depends/sdk-sources/MacOSX${OSX_SDK}.sdk.tar.gz
fi
if [ -n "$OSX_SDK" -a -f depends/sdk-sources/MacOSX${OSX_SDK}.sdk.tar.gz ]; then
tar -C depends/SDKs -xf depends/sdk-sources/MacOSX${OSX_SDK}.sdk.tar.gz
fi
if [[ $HOST = *-mingw32 ]]; then
DOCKER_EXEC update-alternatives --set $HOST-g++ \$\(which $HOST-g++-posix\)
fi
if [ -z "$NO_DEPENDS" ]; then
DOCKER_EXEC CONFIG_SHELL= make $MAKEJOBS -C depends HOST=$HOST $DEP_OPTS
fi

Loading