mirror of
https://github.com/dashpay/dash.git
synced 2024-12-25 03:52:49 +01:00
Merge pull request #4543 from Munkybooty/backports-0.19-pr4
Backports 0.19 pr4
This commit is contained in:
commit
05c133ef62
@ -34,6 +34,7 @@ BASE_CACHE ?= $(BASEDIR)/built
|
||||
SDK_PATH ?= $(BASEDIR)/SDKs
|
||||
NO_QT ?=
|
||||
NO_WALLET ?=
|
||||
NO_ZMQ ?=
|
||||
NO_UPNP ?=
|
||||
FALLBACK_DOWNLOAD_PATH ?= https://bitcoincore.org/depends-sources
|
||||
|
||||
@ -126,6 +127,7 @@ endif
|
||||
qt_packages_$(NO_QT) = $(qt_packages) $(qt_$(host_os)_packages) $(qt_$(host_arch)_$(host_os)_packages)
|
||||
wallet_packages_$(NO_WALLET) = $(wallet_packages)
|
||||
upnp_packages_$(NO_UPNP) = $(upnp_packages)
|
||||
zmq_packages_$(NO_ZMQ) = $(zmq_packages)
|
||||
|
||||
packages += $($(host_arch)_$(host_os)_packages) $($(host_os)_packages) $(qt_packages_) $(wallet_packages_) $(upnp_packages_)
|
||||
native_packages += $($(host_arch)_$(host_os)_native_packages) $($(host_os)_native_packages)
|
||||
@ -134,6 +136,10 @@ ifneq ($(qt_packages_),)
|
||||
native_packages += $(qt_native_packages)
|
||||
endif
|
||||
|
||||
ifneq ($(zmq_packages_),)
|
||||
packages += $(zmq_packages)
|
||||
endif
|
||||
|
||||
all_packages = $(packages) $(native_packages)
|
||||
|
||||
meta_depends = Makefile funcs.mk builders/default.mk hosts/default.mk hosts/$(host_os).mk builders/$(build_os).mk
|
||||
@ -193,6 +199,7 @@ $(host_prefix)/share/config.site : config.site.in $(host_prefix)/.stamp_$(final_
|
||||
-e 's|@CPPFLAGS@|$(strip $(host_CPPFLAGS) $(host_$(release_type)_CPPFLAGS))|' \
|
||||
-e 's|@LDFLAGS@|$(strip $(host_LDFLAGS) $(host_$(release_type)_LDFLAGS))|' \
|
||||
-e 's|@no_qt@|$(NO_QT)|' \
|
||||
-e 's|@no_zmq@|$(NO_ZMQ)|' \
|
||||
-e 's|@no_wallet@|$(NO_WALLET)|' \
|
||||
-e 's|@no_upnp@|$(NO_UPNP)|' \
|
||||
-e 's|@debug@|$(DEBUG)|' \
|
||||
|
@ -79,6 +79,8 @@ The following can be set when running make: `make FOO=bar`
|
||||
<dd>If a source file can't be fetched, try here before giving up</dd>
|
||||
<dt>NO_QT</dt>
|
||||
<dd>Don't download/build/cache qt and its dependencies</dd>
|
||||
<dt>NO_ZMQ</dt>
|
||||
<dd>Don't download/build/cache packages needed for enabling zeromq</dd>
|
||||
<dt>NO_WALLET</dt>
|
||||
<dd>Don't download/build/cache libs needed to enable the wallet</dd>
|
||||
<dt>NO_UPNP</dt>
|
||||
|
@ -43,6 +43,10 @@ if test -z $with_gui && test -n "@no_qt@"; then
|
||||
with_gui=no
|
||||
fi
|
||||
|
||||
if test -z $enable_zmq && test -n "@no_zmq@"; then
|
||||
enable_zmq=no
|
||||
fi
|
||||
|
||||
if test -n "@debug@" && test -z "@no_qt@" && test "x$with_gui" != xno; then
|
||||
with_gui=qt5_debug
|
||||
fi
|
||||
|
@ -1,4 +1,4 @@
|
||||
packages:=boost openssl libevent zeromq gmp bls-dash backtrace cmake immer
|
||||
packages:=boost openssl libevent gmp bls-dash backtrace cmake immer
|
||||
|
||||
qt_native_packages = native_protobuf
|
||||
qt_packages = qrencode protobuf zlib
|
||||
@ -10,6 +10,8 @@ qt_mingw32_packages=qt
|
||||
|
||||
wallet_packages=bdb
|
||||
|
||||
zmq_packages=zeromq
|
||||
|
||||
upnp_packages=miniupnpc
|
||||
|
||||
darwin_native_packages = native_biplist native_ds_store native_mac_alias
|
||||
|
@ -237,6 +237,7 @@ The list of files should be:
|
||||
dash-${VERSION}-aarch64-linux-gnu.tar.gz
|
||||
dash-${VERSION}-arm-linux-gnueabihf.tar.gz
|
||||
dash-${VERSION}-i686-pc-linux-gnu.tar.gz
|
||||
dash-${VERSION}-riscv64-linux-gnu.tar.gz
|
||||
dash-${VERSION}-x86_64-linux-gnu.tar.gz
|
||||
dash-${VERSION}-osx64.tar.gz
|
||||
dash-${VERSION}-osx.dmg
|
||||
|
@ -132,6 +132,7 @@ BITCOIN_TESTS =\
|
||||
test/cachemap_tests.cpp \
|
||||
test/cachemultimap_tests.cpp \
|
||||
test/coins_tests.cpp \
|
||||
test/compilerbug_tests.cpp \
|
||||
test/compress_tests.cpp \
|
||||
test/crypto_tests.cpp \
|
||||
test/cuckoocache_tests.cpp \
|
||||
|
@ -1395,6 +1395,19 @@
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="20" column="0">
|
||||
<spacer name="verticalSpacer_3">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>10</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</widget>
|
||||
|
43
src/test/compilerbug_tests.cpp
Normal file
43
src/test/compilerbug_tests.cpp
Normal file
@ -0,0 +1,43 @@
|
||||
// Copyright (c) 2019 The Bitcoin Core developers
|
||||
// Distributed under the MIT software license, see the accompanying
|
||||
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
||||
|
||||
#include <test/setup_common.h>
|
||||
#include <boost/test/unit_test.hpp>
|
||||
|
||||
BOOST_FIXTURE_TEST_SUITE(compilerbug_tests, BasicTestingSetup)
|
||||
|
||||
#if defined(__GNUC__)
|
||||
// This block will also be built under clang, which is fine (as it supports noinline)
|
||||
void __attribute__ ((noinline)) set_one(unsigned char* ptr)
|
||||
{
|
||||
*ptr = 1;
|
||||
}
|
||||
|
||||
int __attribute__ ((noinline)) check_zero(unsigned char const* in, unsigned int len)
|
||||
{
|
||||
for (unsigned int i = 0; i < len; ++i) {
|
||||
if (in[i] != 0) return 0;
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
void set_one_on_stack() {
|
||||
unsigned char buf[1];
|
||||
set_one(buf);
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(gccbug_90348) {
|
||||
// Test for GCC bug 90348. See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90348
|
||||
for (int i = 0; i <= 4; ++i) {
|
||||
unsigned char in[4];
|
||||
for (int j = 0; j < i; ++j) {
|
||||
in[j] = 0;
|
||||
set_one_on_stack(); // Apparently modifies in[0]
|
||||
}
|
||||
BOOST_CHECK(check_zero(in, i));
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
BOOST_AUTO_TEST_SUITE_END()
|
@ -2179,6 +2179,10 @@ static UniValue encryptwallet(const JSONRPCRequest& request)
|
||||
auto locked_chain = pwallet->chain().lock();
|
||||
LOCK(pwallet->cs_wallet);
|
||||
|
||||
if (pwallet->IsWalletFlagSet(WALLET_FLAG_DISABLE_PRIVATE_KEYS)) {
|
||||
throw JSONRPCError(RPC_WALLET_ENCRYPTION_FAILED, "Error: wallet does not contain private keys, nothing to encrypt.");
|
||||
}
|
||||
|
||||
if (pwallet->IsCrypted()) {
|
||||
throw JSONRPCError(RPC_WALLET_WRONG_ENC_STATE, "Error: running with an encrypted wallet, but encryptwallet was called.");
|
||||
}
|
||||
|
@ -42,7 +42,11 @@ class RawTransactionsTest(BitcoinTestFramework):
|
||||
def set_test_params(self):
|
||||
self.setup_clean_chain = True
|
||||
self.num_nodes = 3
|
||||
self.extra_args = [["-txindex"], ["-txindex"], ["-txindex"]]
|
||||
self.extra_args = [
|
||||
["-txindex"],
|
||||
["-txindex"],
|
||||
["-txindex"],
|
||||
]
|
||||
|
||||
def skip_test_if_missing_module(self):
|
||||
self.skip_if_no_wallet()
|
||||
@ -303,30 +307,30 @@ class RawTransactionsTest(BitcoinTestFramework):
|
||||
|
||||
# getrawtransaction tests
|
||||
# 1. valid parameters - only supply txid
|
||||
txHash = rawTx["txid"]
|
||||
assert_equal(self.nodes[0].getrawtransaction(txHash), rawTxSigned['hex'])
|
||||
txId = rawTx["txid"]
|
||||
assert_equal(self.nodes[0].getrawtransaction(txId), rawTxSigned['hex'])
|
||||
|
||||
# 2. valid parameters - supply txid and 0 for non-verbose
|
||||
assert_equal(self.nodes[0].getrawtransaction(txHash, 0), rawTxSigned['hex'])
|
||||
assert_equal(self.nodes[0].getrawtransaction(txId, 0), rawTxSigned['hex'])
|
||||
|
||||
# 3. valid parameters - supply txid and False for non-verbose
|
||||
assert_equal(self.nodes[0].getrawtransaction(txHash, False), rawTxSigned['hex'])
|
||||
assert_equal(self.nodes[0].getrawtransaction(txId, False), rawTxSigned['hex'])
|
||||
|
||||
# 4. valid parameters - supply txid and 1 for verbose.
|
||||
# We only check the "hex" field of the output so we don't need to update this test every time the output format changes.
|
||||
assert_equal(self.nodes[0].getrawtransaction(txHash, 1)["hex"], rawTxSigned['hex'])
|
||||
assert_equal(self.nodes[0].getrawtransaction(txId, 1)["hex"], rawTxSigned['hex'])
|
||||
|
||||
# 5. valid parameters - supply txid and True for non-verbose
|
||||
assert_equal(self.nodes[0].getrawtransaction(txHash, True)["hex"], rawTxSigned['hex'])
|
||||
assert_equal(self.nodes[0].getrawtransaction(txId, True)["hex"], rawTxSigned['hex'])
|
||||
|
||||
# 6. invalid parameters - supply txid and string "Flase"
|
||||
assert_raises_rpc_error(-1, "not a boolean", self.nodes[0].getrawtransaction, txHash, "Flase")
|
||||
assert_raises_rpc_error(-1, "not a boolean", self.nodes[0].getrawtransaction, txId, "Flase")
|
||||
|
||||
# 7. invalid parameters - supply txid and empty array
|
||||
assert_raises_rpc_error(-1, "not a boolean", self.nodes[0].getrawtransaction, txHash, [])
|
||||
assert_raises_rpc_error(-1, "not a boolean", self.nodes[0].getrawtransaction, txId, [])
|
||||
|
||||
# 8. invalid parameters - supply txid and empty dict
|
||||
assert_raises_rpc_error(-1, "not a boolean", self.nodes[0].getrawtransaction, txHash, {})
|
||||
assert_raises_rpc_error(-1, "not a boolean", self.nodes[0].getrawtransaction, txId, {})
|
||||
|
||||
inputs = [ {'txid' : "1d1d4e24ed99057e84c3f80fd8fbec79ed9e1acee37da269356ecea000000000", 'vout' : 1, 'sequence' : 1000}]
|
||||
outputs = { self.nodes[0].getnewaddress() : 1 }
|
||||
|
@ -88,4 +88,10 @@ elif PYTHONWARNINGS="ignore" flake8 --version | grep -q "Python 2"; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
PYTHONWARNINGS="ignore" git ls-files "*.py" | xargs flake8 --ignore=B,C,E,F,I,N,W --select=$(IFS=","; echo "${enabled[*]}")
|
||||
PYTHONWARNINGS="ignore" flake8 --ignore=B,C,E,F,I,N,W --select=$(IFS=","; echo "${enabled[*]}")$(
|
||||
if [[ $# == 0 ]]; then
|
||||
git ls-files "*.py"
|
||||
else
|
||||
echo "$@"
|
||||
fi
|
||||
)
|
||||
|
Loading…
Reference in New Issue
Block a user