This repository has been archived by the owner on Apr 1, 2020. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 7
/
Copy pathtest.sh
executable file
·78 lines (61 loc) · 1.79 KB
/
test.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
#!/usr/bin/env bash
set -eo pipefail
if [ -f /.dockerenv ]; then
export PATH=${PATH}:/bitcoin/bin:/liquid/bin
source /root/.cargo/env
fi
DATADIR=${DATADIR:-~/tmp/test_gdk_rpc}
EXEC_NODE=${EXEC_NODE:-bitcoind}
EXEC_CLI=${EXEC_CLI:-bitcoin-cli}
TEST_MODE=${TEST_MODE:-bitcoinregtest}
CLI_CMD="$EXEC_CLI -rpcwait -datadir=$DATADIR"
if [ "x$TEST_MODE" = "xbitcoinregtest" ]
then
CLI_CMD="$CLI_CMD -regtest"
elif [ "x$TEST_MODE" = "xelementsregtest" ]
then
CLI_CMD="$CLI_CMD -chain=elementsregtest"
fi
echo "Killing existing nodes..."
$CLI_CMD stop || true
sleep 1
echo "Removing datadir..."
rm -fr "$DATADIR"
mkdir -p "$DATADIR"
echo "Starting daemon..."
if [ "x$TEST_MODE" = "xbitcoinregtest" ]
then
EXTRA_ARGS="-regtest"
elif [ "x$TEST_MODE" = "xelementsregtest" ]
then
EXTRA_ARGS="-chain=elementsregtest -minrelaytxfee=0 -blockmintxfee=0 -validatepegin=0 -con_blocksubsidy=5000000000"
fi
$EXEC_NODE -server=1 -daemon -datadir=$DATADIR $EXTRA_ARGS
echo "Mining blocks..."
ADDR=$($CLI_CMD getnewaddress)
echo "Mining 200 blocks to $ADDR..."
$CLI_CMD generatetoaddress 200 $ADDR
echo "Running tests..."
# we capture the return value so that we can run the teardown commands
set +e
if [ "x$TEST_MODE" = "xbitcoinregtest" ]
then
BITCOIND_DIR="$DATADIR/regtest" \
TEST_MODE="bitcoinregtest" \
cargo test --features stderr_logger --all -- --test-threads=1
elif [ "x$TEST_MODE" = "xelementsregtest" ]
then
BITCOIND_DIR="$DATADIR/elementsregtest" \
BITCOIND_URL="http://127.0.0.1:7040" \
GDK_RPC_NETWORK="elementsregtest-cookie" \
TEST_MODE="elementsregtest" \
cargo test --features stderr_logger --all -- --test-threads=1
fi
RET=$?
make tests/c-test && ./tests/c-test
echo "Stopping daemon..."
$CLI_CMD stop
sleep 1
echo "Removing datadir..."
rm -fr "$DATADIR"
exit $RET