Browse Source

fix qa tests

v1.0.12-rc
Larry Ludlow 7 years ago
parent
commit
030ceb26c5
  1. 2
      ci_test.txt
  2. 24
      qa/hush/check-security-hardening.sh
  3. 0
      qa/hush/checksec.sh
  4. 6
      qa/hush/create_benchmark_archive.py
  5. 0
      qa/hush/create_wallet_200k_utxos.py
  6. 0
      qa/hush/ensure-no-dot-so-in-depends.py
  7. 4
      qa/hush/full-test-suite.sh
  8. 56
      qa/hush/performance-measurements.sh
  9. 0
      qa/hush/test-depends-sources-mirror.py
  10. 2
      qa/pull-tester/run-bitcoind-for-test.sh.in
  11. 4
      qa/pull-tester/tests-config.sh.in
  12. 4
      qa/rpc-tests/zapwallettxes.py

2
ci_test.txt

@ -1,2 +0,0 @@
testing
final test

24
qa/zcash/check-security-hardening.sh → qa/hush/check-security-hardening.sh

@ -5,19 +5,19 @@ set -e
REPOROOT="$(readlink -f "$(dirname "$0")"/../../)"
function test_rpath_runpath {
if "${REPOROOT}/qa/zcash/checksec.sh" --file "$1" | grep -q "No RPATH.*No RUNPATH"; then
if "${REPOROOT}/qa/hush/checksec.sh" --file "$1" | grep -q "No RPATH.*No RUNPATH"; then
echo PASS: "$1" has no RPATH or RUNPATH.
return 0
else
echo FAIL: "$1" has an RPATH or a RUNPATH.
"${REPOROOT}/qa/zcash/checksec.sh" --file "$1"
"${REPOROOT}/qa/hush/checksec.sh" --file "$1"
return 1
fi
}
function test_fortify_source {
if { "${REPOROOT}/qa/zcash/checksec.sh" --fortify-file "$1" | grep -q "FORTIFY_SOURCE support available.*Yes"; } &&
{ "${REPOROOT}/qa/zcash/checksec.sh" --fortify-file "$1" | grep -q "Binary compiled with FORTIFY_SOURCE support.*Yes"; }; then
if { "${REPOROOT}/qa/hush/checksec.sh" --fortify-file "$1" | grep -q "FORTIFY_SOURCE support available.*Yes"; } &&
{ "${REPOROOT}/qa/hush/checksec.sh" --fortify-file "$1" | grep -q "Binary compiled with FORTIFY_SOURCE support.*Yes"; }; then
echo PASS: "$1" has FORTIFY_SOURCE.
return 0
else
@ -29,18 +29,18 @@ function test_fortify_source {
# PIE, RELRO, Canary, and NX are tested by make check-security.
make -C "$REPOROOT/src" check-security
test_rpath_runpath "${REPOROOT}/src/zcashd"
test_rpath_runpath "${REPOROOT}/src/zcash-cli"
test_rpath_runpath "${REPOROOT}/src/zcash-gtest"
test_rpath_runpath "${REPOROOT}/src/zcash-tx"
test_rpath_runpath "${REPOROOT}/src/hushd"
test_rpath_runpath "${REPOROOT}/src/hush-cli"
test_rpath_runpath "${REPOROOT}/src/hush-gtest"
test_rpath_runpath "${REPOROOT}/src/hush-tx"
test_rpath_runpath "${REPOROOT}/src/test/test_bitcoin"
test_rpath_runpath "${REPOROOT}/src/zcash/GenerateParams"
# NOTE: checksec.sh does not reliably determine whether FORTIFY_SOURCE is
# enabled for the entire binary. See issue #915.
test_fortify_source "${REPOROOT}/src/zcashd"
test_fortify_source "${REPOROOT}/src/zcash-cli"
test_fortify_source "${REPOROOT}/src/zcash-gtest"
test_fortify_source "${REPOROOT}/src/zcash-tx"
test_fortify_source "${REPOROOT}/src/hushd"
test_fortify_source "${REPOROOT}/src/hush-cli"
test_fortify_source "${REPOROOT}/src/hush-gtest"
test_fortify_source "${REPOROOT}/src/hush-tx"
test_fortify_source "${REPOROOT}/src/test/test_bitcoin"
test_fortify_source "${REPOROOT}/src/zcash/GenerateParams"

0
qa/zcash/checksec.sh → qa/hush/checksec.sh

6
qa/zcash/create_benchmark_archive.py → qa/hush/create_benchmark_archive.py

@ -11,13 +11,13 @@ import sys
import tarfile
import time
ZCASH_CLI = './src/zcash-cli'
ZCASH_CLI = './src/hush-cli'
USAGE = """
Requirements:
- find
- xz
- %s (edit ZCASH_CLI in this script to alter the path)
- A running mainnet zcashd using the default datadir with -txindex=1
- A running mainnet hushd using the default datadir with -txindex=1
Example usage:
@ -26,7 +26,7 @@ virtualenv venv
. venv/bin/activate
pip install --global-option=build_ext --global-option="-L$(pwd)/src/leveldb/" --global-option="-I$(pwd)/src/leveldb/include/" plyvel
pip install progressbar2
LD_LIBRARY_PATH=src/leveldb python qa/zcash/create_benchmark_archive.py
LD_LIBRARY_PATH=src/leveldb python qa/hush/create_benchmark_archive.py
""" % ZCASH_CLI
def check_deps():

0
qa/zcash/create_wallet_200k_utxos.py → qa/hush/create_wallet_200k_utxos.py

0
qa/zcash/ensure-no-dot-so-in-depends.py → qa/hush/ensure-no-dot-so-in-depends.py

4
qa/zcash/full-test-suite.sh → qa/hush/full-test-suite.sh

@ -26,8 +26,8 @@ function run_test_phase
cd "${REPOROOT}"
# Test phases:
run_test_phase "${REPOROOT}/qa/zcash/check-security-hardening.sh"
run_test_phase "${REPOROOT}/qa/zcash/ensure-no-dot-so-in-depends.py"
run_test_phase "${REPOROOT}/qa/hush/check-security-hardening.sh"
run_test_phase "${REPOROOT}/qa/hush/ensure-no-dot-so-in-depends.py"
# If make check fails, show test-suite.log as part of our run_test_phase
# output (and fail the phase with false):

56
qa/zcash/performance-measurements.sh → qa/hush/performance-measurements.sh

@ -7,7 +7,7 @@ SHA256CMD="$(command -v sha256sum || echo shasum)"
SHA256ARGS="$(command -v sha256sum >/dev/null || echo '-a 256')"
function zcash_rpc {
./src/zcash-cli -datadir="$DATADIR" -rpcuser=user -rpcpassword=password -rpcport=5983 "$@"
./src/hush-cli -datadir="$DATADIR" -rpcuser=user -rpcpassword=password -rpcport=5983 "$@"
}
function zcash_rpc_slow {
@ -24,7 +24,7 @@ function zcash_rpc_wait_for_start {
zcash_rpc -rpcwait getinfo > /dev/null
}
function zcashd_generate {
function hushd_generate {
zcash_rpc generate 101 > /dev/null
}
@ -40,7 +40,7 @@ EOF
ARCHIVE_RESULT=1
fi
if [ $ARCHIVE_RESULT -ne 0 ]; then
zcashd_stop
hushd_stop
echo
echo "Please download it and place it in the base directory of the repository."
exit 1
@ -54,7 +54,7 @@ function use_200k_benchmark {
DATADIR="./benchmark-200k-UTXOs/node$1"
}
function zcashd_start {
function hushd_start {
case "$1" in
sendtoaddress|loadwallet)
case "$2" in
@ -65,7 +65,7 @@ function zcashd_start {
use_200k_benchmark 1
;;
*)
echo "Bad arguments to zcashd_start."
echo "Bad arguments to hushd_start."
exit 1
esac
;;
@ -74,17 +74,17 @@ function zcashd_start {
mkdir -p "$DATADIR/regtest"
touch "$DATADIR/zcash.conf"
esac
./src/zcashd -regtest -datadir="$DATADIR" -rpcuser=user -rpcpassword=password -rpcport=5983 -showmetrics=0 &
./src/hushd -regtest -datadir="$DATADIR" -rpcuser=user -rpcpassword=password -rpcport=5983 -showmetrics=0 &
ZCASHD_PID=$!
zcash_rpc_wait_for_start
}
function zcashd_stop {
function hushd_stop {
zcash_rpc stop > /dev/null
wait $ZCASHD_PID
}
function zcashd_massif_start {
function hushd_massif_start {
case "$1" in
sendtoaddress|loadwallet)
case "$2" in
@ -95,7 +95,7 @@ function zcashd_massif_start {
use_200k_benchmark 1
;;
*)
echo "Bad arguments to zcashd_massif_start."
echo "Bad arguments to hushd_massif_start."
exit 1
esac
;;
@ -105,28 +105,28 @@ function zcashd_massif_start {
touch "$DATADIR/zcash.conf"
esac
rm -f massif.out
valgrind --tool=massif --time-unit=ms --massif-out-file=massif.out ./src/zcashd -regtest -datadir="$DATADIR" -rpcuser=user -rpcpassword=password -rpcport=5983 -showmetrics=0 &
valgrind --tool=massif --time-unit=ms --massif-out-file=massif.out ./src/hushd -regtest -datadir="$DATADIR" -rpcuser=user -rpcpassword=password -rpcport=5983 -showmetrics=0 &
ZCASHD_PID=$!
zcash_rpc_wait_for_start
}
function zcashd_massif_stop {
function hushd_massif_stop {
zcash_rpc stop > /dev/null
wait $ZCASHD_PID
ms_print massif.out
}
function zcashd_valgrind_start {
function hushd_valgrind_start {
rm -rf "$DATADIR"
mkdir -p "$DATADIR/regtest"
touch "$DATADIR/zcash.conf"
rm -f valgrind.out
valgrind --leak-check=yes -v --error-limit=no --log-file="valgrind.out" ./src/zcashd -regtest -datadir="$DATADIR" -rpcuser=user -rpcpassword=password -rpcport=5983 -showmetrics=0 &
valgrind --leak-check=yes -v --error-limit=no --log-file="valgrind.out" ./src/hushd -regtest -datadir="$DATADIR" -rpcuser=user -rpcpassword=password -rpcport=5983 -showmetrics=0 &
ZCASHD_PID=$!
zcash_rpc_wait_for_start
}
function zcashd_valgrind_stop {
function hushd_valgrind_stop {
zcash_rpc stop > /dev/null
wait $ZCASHD_PID
cat valgrind.out
@ -144,9 +144,9 @@ EOF
ARCHIVE_RESULT=1
fi
if [ $ARCHIVE_RESULT -ne 0 ]; then
zcashd_stop
hushd_stop
echo
echo "Please generate it using qa/zcash/create_benchmark_archive.py"
echo "Please generate it using qa/hush/create_benchmark_archive.py"
echo "and place it in the base directory of the repository."
echo "Usage details are inside the Python script."
exit 1
@ -159,15 +159,15 @@ case "$1" in
*)
case "$2" in
verifyjoinsplit)
zcashd_start "${@:2}"
hushd_start "${@:2}"
RAWJOINSPLIT=$(zcash_rpc zcsamplejoinsplit)
zcashd_stop
hushd_stop
esac
esac
case "$1" in
time)
zcashd_start "${@:2}"
hushd_start "${@:2}"
case "$2" in
sleep)
zcash_rpc zcbenchmark sleep 10
@ -207,14 +207,14 @@ case "$1" in
zcash_rpc zcbenchmark loadwallet 10
;;
*)
zcashd_stop
hushd_stop
echo "Bad arguments to time."
exit 1
esac
zcashd_stop
hushd_stop
;;
memory)
zcashd_massif_start "${@:2}"
hushd_massif_start "${@:2}"
case "$2" in
sleep)
zcash_rpc zcbenchmark sleep 1
@ -251,15 +251,15 @@ case "$1" in
# The initial load is sufficient for measurement
;;
*)
zcashd_massif_stop
hushd_massif_stop
echo "Bad arguments to memory."
exit 1
esac
zcashd_massif_stop
hushd_massif_stop
rm -f massif.out
;;
valgrind)
zcashd_valgrind_start
hushd_valgrind_start
case "$2" in
sleep)
zcash_rpc zcbenchmark sleep 1
@ -290,18 +290,18 @@ case "$1" in
zcash_rpc zcbenchmark connectblockslow 1
;;
*)
zcashd_valgrind_stop
hushd_valgrind_stop
echo "Bad arguments to valgrind."
exit 1
esac
zcashd_valgrind_stop
hushd_valgrind_stop
rm -f valgrind.out
;;
valgrind-tests)
case "$2" in
gtest)
rm -f valgrind.out
valgrind --leak-check=yes -v --error-limit=no --log-file="valgrind.out" ./src/zcash-gtest
valgrind --leak-check=yes -v --error-limit=no --log-file="valgrind.out" ./src/hush-gtest
cat valgrind.out
rm -f valgrind.out
;;

0
qa/zcash/test-depends-sources-mirror.py → qa/hush/test-depends-sources-mirror.py

2
qa/pull-tester/run-bitcoind-for-test.sh.in

@ -12,7 +12,7 @@ touch "$DATADIR/regtest/debug.log"
tail -q -n 1 -F "$DATADIR/regtest/debug.log" | grep -m 1 -q "Done loading" &
WAITER=$!
PORT=`expr 10000 + $$ % 55536`
"@abs_top_builddir@/src/zcashd@EXEEXT@" -connect=0.0.0.0 -datadir="$DATADIR" -rpcuser=user -rpcpassword=pass -listen -keypool=3 -debug -debug=net -logtimestamps -checkmempool=0 -relaypriority=0 -port=$PORT -whitelist=127.0.0.1 -regtest -rpcport=`expr $PORT + 1` &
"@abs_top_builddir@/src/hushd@EXEEXT@" -connect=0.0.0.0 -datadir="$DATADIR" -rpcuser=user -rpcpassword=pass -listen -keypool=3 -debug -debug=net -logtimestamps -checkmempool=0 -relaypriority=0 -port=$PORT -whitelist=127.0.0.1 -regtest -rpcport=`expr $PORT + 1` &
BITCOIND=$!
#Install a watchdog.

4
qa/pull-tester/tests-config.sh.in

@ -13,6 +13,6 @@ EXEEXT="@EXEEXT@"
@ENABLE_ZMQ_TRUE@ENABLE_ZMQ=1
@ENABLE_PROTON_TRUE@ENABLE_PROTON=1
REAL_BITCOIND="$BUILDDIR/src/zcashd${EXEEXT}"
REAL_BITCOINCLI="$BUILDDIR/src/zcash-cli${EXEEXT}"
REAL_BITCOIND="$BUILDDIR/src/hushd${EXEEXT}"
REAL_BITCOINCLI="$BUILDDIR/src/hush-cli${EXEEXT}"

4
qa/rpc-tests/zapwallettxes.py

@ -53,7 +53,7 @@ class ZapWalletTXesTest (BitcoinTestFramework):
tx3 = self.nodes[0].gettransaction(txid3)
assert_equal(tx3['txid'], txid3) # tx3 must be available (unconfirmed)
# restart zcashd
# restart hushd
self.nodes[0].stop()
bitcoind_processes[0].wait()
self.nodes[0] = start_node(0,self.options.tmpdir)
@ -64,7 +64,7 @@ class ZapWalletTXesTest (BitcoinTestFramework):
self.nodes[0].stop()
bitcoind_processes[0].wait()
# restart zcashd with zapwallettxes
# restart hushd with zapwallettxes
self.nodes[0] = start_node(0,self.options.tmpdir, ["-zapwallettxes=1"])
aException = False

Loading…
Cancel
Save