Merge branch 'master' into develop

This commit is contained in:
Ethan Buchman 2017-10-28 00:09:03 -04:00
commit 128e2a1d9e
10 changed files with 238 additions and 239 deletions

View File

@ -27,24 +27,23 @@ BUG FIXES:
- Graceful handling/recovery for apps that have non-determinism or fail to halt - Graceful handling/recovery for apps that have non-determinism or fail to halt
- Graceful handling/recovery for violations of safety, or liveness - Graceful handling/recovery for violations of safety, or liveness
## 0.12.0 (TBD) ## 0.12.0 (October 27, 2017)
BREAKING CHANGES: BREAKING CHANGES:
- rpc/client: websocket ResultsCh and ErrorsCh unified in ResponsesCh. - rpc/client: websocket ResultsCh and ErrorsCh unified in ResponsesCh.
- rpc/client: ABCIQuery no longer takes `prove` - rpc/client: ABCIQuery no longer takes `prove`
- state: remove GenesisDoc from state. - state: remove GenesisDoc from state.
- consensus: new binary WAL format provides efficiency and uses checksums to detect corruption - consensus: new binary WAL format provides efficiency and uses checksums to detect corruption
- see scripts/wal2json to convert to json for debugging - use scripts/wal2json to convert to json for debugging
FEATURES: FEATURES:
- new `certifiers` pkg contains the tendermint light-client library! - new `certifiers` pkg contains the tendermint light-client library (name subject to change)!
- rpc: `/genesis` includes the `app_options` . - rpc: `/genesis` includes the `app_options` .
- rpc: `/abci_query` takes an additional `height` parameter to support historical queries. - rpc: `/abci_query` takes an additional `height` parameter to support historical queries.
- rpc/client: new ABCIQueryWithOptions supports options like `trusted` (set false to get a proof`) and `height` to query a historical height. - rpc/client: new ABCIQueryWithOptions supports options like `trusted` (set false to get a proof) and `height` to query a historical height.
IMPROVEMENTS: IMPROVEMENTS:
- genesis doc: added `app_options` field, which, along with the other fields, - rpc: `/genesis` result includes `app_options`
will be returned upon `/genesis` rpc call.
- rpc/lib/client: add jitter to reconnects. - rpc/lib/client: add jitter to reconnects.
- rpc/lib/types: `RPCError` satisfies the `error` interface. - rpc/lib/types: `RPCError` satisfies the `error` interface.
@ -52,6 +51,7 @@ BUG FIXES:
- rpc/client: fix ws deadlock after stopping - rpc/client: fix ws deadlock after stopping
- blockchain: fix panic on AddBlock when peer is nil - blockchain: fix panic on AddBlock when peer is nil
- mempool: fix sending on TxsAvailable when a tx has been invalidated - mempool: fix sending on TxsAvailable when a tx has been invalidated
- consensus: dont run WAL catchup if we fast synced
## 0.11.1 (October 10, 2017) ## 0.11.1 (October 10, 2017)

24
glide.lock generated
View File

@ -1,8 +1,8 @@
hash: 58d209dee0c21d507226d6b56f7b7f49d24f60090ef9a6c1d89bc27ff00f90e4 hash: 0f9ba99fd411afaaf90993037b0067c5f9f873554f407a6ae9afa0e2548343c5
updated: 2017-10-26T00:04:10.142172009-04:00 updated: 2017-10-27T22:34:38.187149434-04:00
imports: imports:
- name: github.com/btcsuite/btcd - name: github.com/btcsuite/btcd
version: c7588cbf7690cd9f047a28efa2dcd8f2435a4e5e version: 8cea3866d0f7fb12d567a20744942c0d078c7d15
subpackages: subpackages:
- btcec - btcec
- name: github.com/ebuchman/fail-test - name: github.com/ebuchman/fail-test
@ -10,7 +10,7 @@ imports:
- name: github.com/fsnotify/fsnotify - name: github.com/fsnotify/fsnotify
version: 4da3e2cfbabc9f751898f250b49f2439785783a1 version: 4da3e2cfbabc9f751898f250b49f2439785783a1
- name: github.com/go-kit/kit - name: github.com/go-kit/kit
version: 4dc7be5d2d12881735283bcab7352178e190fc71 version: e2b298466b32c7cd5579a9b9b07e968fc9d9452c
subpackages: subpackages:
- log - log
- log/level - log/level
@ -98,7 +98,7 @@ imports:
- leveldb/table - leveldb/table
- leveldb/util - leveldb/util
- name: github.com/tendermint/abci - name: github.com/tendermint/abci
version: a0e38dc58374f485481ea07b23659d85f670a694 version: dc33aad9b4e514a2322725ef68f27f72d955c537
subpackages: subpackages:
- client - client
- example/counter - example/counter
@ -106,23 +106,23 @@ imports:
- server - server
- types - types
- name: github.com/tendermint/ed25519 - name: github.com/tendermint/ed25519
version: 1f52c6f8b8a5c7908aff4497c186af344b428925 version: d8387025d2b9d158cf4efb07e7ebf814bcce2057
subpackages: subpackages:
- edwards25519 - edwards25519
- extra25519 - extra25519
- name: github.com/tendermint/go-crypto - name: github.com/tendermint/go-crypto
version: 311e8c1bf00fa5868daad4f8ea56dcad539182c0 version: dd20358a264c772b4a83e477b0cfce4c88a7001d
- name: github.com/tendermint/go-wire - name: github.com/tendermint/go-wire
version: 5f88da3dbc1a72844e6dfaf274ce87f851d488eb version: 2baffcb6b690057568bc90ef1d457efb150b979a
subpackages: subpackages:
- data - data
- data/base58 - data/base58
- name: github.com/tendermint/iavl - name: github.com/tendermint/iavl
version: 595f3dcd5b6cd4a292e90757ae6d367fd7a6e653 version: 594cc0c062a7174475f0ab654384038d77067917
subpackages: subpackages:
- iavl - iavl
- name: github.com/tendermint/tmlibs - name: github.com/tendermint/tmlibs
version: b30e3ba26d4077edeed83c50a4e0c38b0ec9ddb3 version: d9525c0fb671204450b160807480e1263053fb20
subpackages: subpackages:
- autofile - autofile
- cli - cli
@ -147,7 +147,7 @@ imports:
- ripemd160 - ripemd160
- salsa20/salsa - salsa20/salsa
- name: golang.org/x/net - name: golang.org/x/net
version: 4b14673ba32bee7f5ac0f990a48f033919fd418b version: c73622c77280266305273cb545f54516ced95b93
subpackages: subpackages:
- context - context
- http2 - http2
@ -157,7 +157,7 @@ imports:
- lex/httplex - lex/httplex
- trace - trace
- name: golang.org/x/sys - name: golang.org/x/sys
version: 176de7413414c01569163271c745672ff04a7267 version: b98136db334ff9cb24f28a68e3be3cb6608f7630
subpackages: subpackages:
- unix - unix
- name: golang.org/x/text - name: golang.org/x/text

View File

@ -18,23 +18,23 @@ import:
- package: github.com/spf13/viper - package: github.com/spf13/viper
version: v1.0.0 version: v1.0.0
- package: github.com/tendermint/abci - package: github.com/tendermint/abci
version: develop version: ~0.7.0
subpackages: subpackages:
- client - client
- example/dummy - example/dummy
- types - types
- package: github.com/tendermint/go-crypto - package: github.com/tendermint/go-crypto
version: ~0.3.0 version: ~0.4.1
- package: github.com/tendermint/go-wire - package: github.com/tendermint/go-wire
version: ~0.6.2 version: ~0.7.1
subpackages: subpackages:
- data - data
- package: github.com/tendermint/iavl - package: github.com/tendermint/iavl
version: develop version: ~0.2.0
subpackages: subpackages:
- iavl - iavl
- package: github.com/tendermint/tmlibs - package: github.com/tendermint/tmlibs
version: develop version: ~0.4.0
subpackages: subpackages:
- autofile - autofile
- cli - cli

View File

@ -1,4 +1,3 @@
killall tendermint killall tendermint
killall dummy killall abci-cli
killall counter
rm -rf ~/.tendermint_app rm -rf ~/.tendermint_app

View File

@ -2,7 +2,7 @@
set -e set -e
function toHex() { function toHex() {
echo -n $1 | hexdump -ve '1/1 "%.2X"' | awk '{print "0x" $0}' echo -n $1 | hexdump -ve '1/1 "%.2X"' | awk '{print "0x" $0}'
} }
@ -32,9 +32,9 @@ RESPONSE=`abci-cli query \"$KEY\"`
set +e set +e
A=`echo $RESPONSE | grep "$VALUE"` A=`echo $RESPONSE | grep "$VALUE"`
if [[ $? != 0 ]]; then if [[ $? != 0 ]]; then
echo "Failed to find $VALUE for $KEY. Response:" echo "Failed to find $VALUE for $KEY. Response:"
echo "$RESPONSE" echo "$RESPONSE"
exit 1 exit 1
fi fi
set -e set -e
@ -43,9 +43,9 @@ RESPONSE=`abci-cli query \"$VALUE\"`
set +e set +e
A=`echo $RESPONSE | grep $VALUE` A=`echo $RESPONSE | grep $VALUE`
if [[ $? == 0 ]]; then if [[ $? == 0 ]]; then
echo "Found '$VALUE' for $VALUE when we should not have. Response:" echo "Found '$VALUE' for $VALUE when we should not have. Response:"
echo "$RESPONSE" echo "$RESPONSE"
exit 1 exit 1
fi fi
set -e set -e
@ -62,9 +62,9 @@ RESPONSE=`echo $RESPONSE | jq .result.response.log`
set +e set +e
A=`echo $RESPONSE | grep 'exists'` A=`echo $RESPONSE | grep 'exists'`
if [[ $? != 0 ]]; then if [[ $? != 0 ]]; then
echo "Failed to find 'exists' for $KEY. Response:" echo "Failed to find 'exists' for $KEY. Response:"
echo "$RESPONSE" echo "$RESPONSE"
exit 1 exit 1
fi fi
set -e set -e
@ -74,9 +74,9 @@ RESPONSE=`echo $RESPONSE | jq .result.response.log`
set +e set +e
A=`echo $RESPONSE | grep 'exists'` A=`echo $RESPONSE | grep 'exists'`
if [[ $? == 0 ]]; then if [[ $? == 0 ]]; then
echo "Found 'exists' for $VALUE when we should not have. Response:" echo "Found 'exists' for $VALUE when we should not have. Response:"
echo "$RESPONSE" echo "$RESPONSE"
exit 1 exit 1
fi fi
set -e set -e

View File

@ -11,118 +11,118 @@ set -e
export TMHOME=$HOME/.tendermint_app export TMHOME=$HOME/.tendermint_app
function dummy_over_socket(){ function dummy_over_socket(){
rm -rf $TMHOME rm -rf $TMHOME
tendermint init tendermint init
echo "Starting dummy_over_socket" echo "Starting dummy_over_socket"
dummy > /dev/null & abci-cli dummy > /dev/null &
pid_dummy=$! pid_dummy=$!
tendermint node > tendermint.log & tendermint node > tendermint.log &
pid_tendermint=$! pid_tendermint=$!
sleep 5 sleep 5
echo "running test" echo "running test"
bash dummy_test.sh "Dummy over Socket" bash dummy_test.sh "Dummy over Socket"
kill -9 $pid_dummy $pid_tendermint kill -9 $pid_dummy $pid_tendermint
} }
# start tendermint first # start tendermint first
function dummy_over_socket_reorder(){ function dummy_over_socket_reorder(){
rm -rf $TMHOME rm -rf $TMHOME
tendermint init tendermint init
echo "Starting dummy_over_socket_reorder (ie. start tendermint first)" echo "Starting dummy_over_socket_reorder (ie. start tendermint first)"
tendermint node > tendermint.log & tendermint node > tendermint.log &
pid_tendermint=$! pid_tendermint=$!
sleep 2 sleep 2
dummy > /dev/null & abci-cli dummy > /dev/null &
pid_dummy=$! pid_dummy=$!
sleep 5 sleep 5
echo "running test" echo "running test"
bash dummy_test.sh "Dummy over Socket" bash dummy_test.sh "Dummy over Socket"
kill -9 $pid_dummy $pid_tendermint kill -9 $pid_dummy $pid_tendermint
} }
function counter_over_socket() { function counter_over_socket() {
rm -rf $TMHOME rm -rf $TMHOME
tendermint init tendermint init
echo "Starting counter_over_socket" echo "Starting counter_over_socket"
counter --serial > /dev/null & abci-cli counter --serial > /dev/null &
pid_counter=$! pid_counter=$!
tendermint node > tendermint.log & tendermint node > tendermint.log &
pid_tendermint=$! pid_tendermint=$!
sleep 5 sleep 5
echo "running test" echo "running test"
bash counter_test.sh "Counter over Socket" bash counter_test.sh "Counter over Socket"
kill -9 $pid_counter $pid_tendermint kill -9 $pid_counter $pid_tendermint
} }
function counter_over_grpc() { function counter_over_grpc() {
rm -rf $TMHOME rm -rf $TMHOME
tendermint init tendermint init
echo "Starting counter_over_grpc" echo "Starting counter_over_grpc"
counter --serial --abci grpc > /dev/null & abci-cli counter --serial --abci grpc > /dev/null &
pid_counter=$! pid_counter=$!
tendermint node --abci grpc > tendermint.log & tendermint node --abci grpc > tendermint.log &
pid_tendermint=$! pid_tendermint=$!
sleep 5 sleep 5
echo "running test" echo "running test"
bash counter_test.sh "Counter over GRPC" bash counter_test.sh "Counter over GRPC"
kill -9 $pid_counter $pid_tendermint kill -9 $pid_counter $pid_tendermint
} }
function counter_over_grpc_grpc() { function counter_over_grpc_grpc() {
rm -rf $TMHOME rm -rf $TMHOME
tendermint init tendermint init
echo "Starting counter_over_grpc_grpc (ie. with grpc broadcast_tx)" echo "Starting counter_over_grpc_grpc (ie. with grpc broadcast_tx)"
counter --serial --abci grpc > /dev/null & abci-cli counter --serial --abci grpc > /dev/null &
pid_counter=$! pid_counter=$!
sleep 1 sleep 1
GRPC_PORT=36656 GRPC_PORT=36656
tendermint node --abci grpc --rpc.grpc_laddr tcp://localhost:$GRPC_PORT > tendermint.log & tendermint node --abci grpc --rpc.grpc_laddr tcp://localhost:$GRPC_PORT > tendermint.log &
pid_tendermint=$! pid_tendermint=$!
sleep 5 sleep 5
echo "running test" echo "running test"
GRPC_BROADCAST_TX=true bash counter_test.sh "Counter over GRPC via GRPC BroadcastTx" GRPC_BROADCAST_TX=true bash counter_test.sh "Counter over GRPC via GRPC BroadcastTx"
kill -9 $pid_counter $pid_tendermint kill -9 $pid_counter $pid_tendermint
} }
cd $GOPATH/src/github.com/tendermint/tendermint/test/app cd $GOPATH/src/github.com/tendermint/tendermint/test/app
case "$1" in case "$1" in
"dummy_over_socket") "dummy_over_socket")
dummy_over_socket dummy_over_socket
;; ;;
"dummy_over_socket_reorder") "dummy_over_socket_reorder")
dummy_over_socket_reorder dummy_over_socket_reorder
;; ;;
"counter_over_socket") "counter_over_socket")
counter_over_socket counter_over_socket
;; ;;
"counter_over_grpc") "counter_over_grpc")
counter_over_grpc counter_over_grpc
;; ;;
"counter_over_grpc_grpc") "counter_over_grpc_grpc")
counter_over_grpc_grpc counter_over_grpc_grpc
;; ;;
*) *)
echo "Running all" echo "Running all"
dummy_over_socket dummy_over_socket
echo "" echo ""
dummy_over_socket_reorder dummy_over_socket_reorder
echo "" echo ""
counter_over_socket counter_over_socket
echo "" echo ""
counter_over_grpc counter_over_grpc
echo "" echo ""
counter_over_grpc_grpc counter_over_grpc_grpc
esac esac

View File

@ -9,66 +9,66 @@ tendermint init
RPC_ADDR="$(pwd)/rpc.sock" RPC_ADDR="$(pwd)/rpc.sock"
TM_CMD="tendermint node --log_level=debug --rpc.laddr=unix://$RPC_ADDR" # &> tendermint_${name}.log" TM_CMD="tendermint node --log_level=debug --rpc.laddr=unix://$RPC_ADDR" # &> tendermint_${name}.log"
DUMMY_CMD="dummy --persist $TMHOME/dummy" # &> dummy_${name}.log" DUMMY_CMD="abci-cli dummy --persist $TMHOME/dummy" # &> dummy_${name}.log"
function start_procs(){ function start_procs(){
name=$1 name=$1
indexToFail=$2 indexToFail=$2
echo "Starting persistent dummy and tendermint" echo "Starting persistent dummy and tendermint"
if [[ "$CIRCLECI" == true ]]; then if [[ "$CIRCLECI" == true ]]; then
$DUMMY_CMD & $DUMMY_CMD &
else else
$DUMMY_CMD &> "dummy_${name}.log" & $DUMMY_CMD &> "dummy_${name}.log" &
fi fi
PID_DUMMY=$! PID_DUMMY=$!
# before starting tendermint, remove the rpc socket # before starting tendermint, remove the rpc socket
rm $RPC_ADDR rm $RPC_ADDR
if [[ "$indexToFail" == "" ]]; then if [[ "$indexToFail" == "" ]]; then
# run in background, dont fail # run in background, dont fail
if [[ "$CIRCLECI" == true ]]; then if [[ "$CIRCLECI" == true ]]; then
$TM_CMD & $TM_CMD &
else else
$TM_CMD &> "tendermint_${name}.log" & $TM_CMD &> "tendermint_${name}.log" &
fi fi
PID_TENDERMINT=$! PID_TENDERMINT=$!
else else
# run in foreground, fail # run in foreground, fail
if [[ "$CIRCLECI" == true ]]; then if [[ "$CIRCLECI" == true ]]; then
FAIL_TEST_INDEX=$indexToFail $TM_CMD FAIL_TEST_INDEX=$indexToFail $TM_CMD
else else
FAIL_TEST_INDEX=$indexToFail $TM_CMD &> "tendermint_${name}.log" FAIL_TEST_INDEX=$indexToFail $TM_CMD &> "tendermint_${name}.log"
fi fi
PID_TENDERMINT=$! PID_TENDERMINT=$!
fi fi
} }
function kill_procs(){ function kill_procs(){
kill -9 "$PID_DUMMY" "$PID_TENDERMINT" kill -9 "$PID_DUMMY" "$PID_TENDERMINT"
wait "$PID_DUMMY" wait "$PID_DUMMY"
wait "$PID_TENDERMINT" wait "$PID_TENDERMINT"
} }
# wait for port to be available # wait for port to be available
function wait_for_port() { function wait_for_port() {
port=$1 port=$1
# this will succeed while port is bound # this will succeed while port is bound
nc -z 127.0.0.1 $port nc -z 127.0.0.1 $port
ERR=$? ERR=$?
i=0 i=0
while [ "$ERR" == 0 ]; do while [ "$ERR" == 0 ]; do
echo "... port $port is still bound. waiting ..." echo "... port $port is still bound. waiting ..."
sleep 1 sleep 1
nc -z 127.0.0.1 $port nc -z 127.0.0.1 $port
ERR=$? ERR=$?
i=$((i + 1)) i=$((i + 1))
if [[ $i == 10 ]]; then if [[ $i == 10 ]]; then
echo "Timed out waiting for port to be released" echo "Timed out waiting for port to be released"
exit 1 exit 1
fi fi
done done
echo "... port $port is free!" echo "... port $port is free!"
} }
@ -77,47 +77,47 @@ fails=$(grep -r "fail.Fail" --include \*.go . | wc -l)
failsEnd=$((fails-1)) failsEnd=$((fails-1))
for failIndex in $(seq $failsStart $failsEnd); do for failIndex in $(seq $failsStart $failsEnd); do
echo "" echo ""
echo "* Test FailIndex $failIndex" echo "* Test FailIndex $failIndex"
# test failure at failIndex # test failure at failIndex
bash ./test/utils/txs.sh "localhost:46657" & bash ./test/utils/txs.sh "localhost:46657" &
start_procs 1 "$failIndex" start_procs 1 "$failIndex"
# tendermint should already have exited when it hits the fail index # tendermint should already have exited when it hits the fail index
# but kill -9 for good measure # but kill -9 for good measure
kill_procs kill_procs
start_procs 2 start_procs 2
# wait for node to handshake and make a new block # wait for node to handshake and make a new block
# NOTE: --unix-socket is only available in curl v7.40+ # NOTE: --unix-socket is only available in curl v7.40+
curl -s --unix-socket "$RPC_ADDR" http://localhost/status > /dev/null curl -s --unix-socket "$RPC_ADDR" http://localhost/status > /dev/null
ERR=$? ERR=$?
i=0 i=0
while [ "$ERR" != 0 ]; do while [ "$ERR" != 0 ]; do
sleep 1 sleep 1
curl -s --unix-socket "$RPC_ADDR" http://localhost/status > /dev/null curl -s --unix-socket "$RPC_ADDR" http://localhost/status > /dev/null
ERR=$? ERR=$?
i=$((i + 1)) i=$((i + 1))
if [[ $i == 20 ]]; then if [[ $i == 20 ]]; then
echo "Timed out waiting for tendermint to start" echo "Timed out waiting for tendermint to start"
exit 1 exit 1
fi fi
done done
# wait for a new block # wait for a new block
h1=$(curl -s --unix-socket "$RPC_ADDR" http://localhost/status | jq .result.latest_block_height) h1=$(curl -s --unix-socket "$RPC_ADDR" http://localhost/status | jq .result.latest_block_height)
h2=$h1 h2=$h1
while [ "$h2" == "$h1" ]; do while [ "$h2" == "$h1" ]; do
sleep 1 sleep 1
h2=$(curl -s --unix-socket "$RPC_ADDR" http://localhost/status | jq .result.latest_block_height) h2=$(curl -s --unix-socket "$RPC_ADDR" http://localhost/status | jq .result.latest_block_height)
done done
kill_procs kill_procs
echo "* Passed Test for FailIndex $failIndex" echo "* Passed Test for FailIndex $failIndex"
echo "" echo ""
done done
echo "Passed Test: Persistence" echo "Passed Test: Persistence"

View File

@ -7,30 +7,30 @@ rm -rf $TMHOME
tendermint init tendermint init
function start_procs(){ function start_procs(){
name=$1 name=$1
echo "Starting persistent dummy and tendermint" echo "Starting persistent dummy and tendermint"
dummy --persist $TMHOME/dummy &> "dummy_${name}.log" & abci-cli dummy --persist $TMHOME/dummy &> "dummy_${name}.log" &
PID_DUMMY=$! PID_DUMMY=$!
tendermint node &> tendermint_${name}.log & tendermint node &> tendermint_${name}.log &
PID_TENDERMINT=$! PID_TENDERMINT=$!
sleep 5 sleep 5
} }
function kill_procs(){ function kill_procs(){
kill -9 $PID_DUMMY $PID_TENDERMINT kill -9 $PID_DUMMY $PID_TENDERMINT
} }
function send_txs(){ function send_txs(){
# send a bunch of txs over a few blocks # send a bunch of txs over a few blocks
echo "Sending txs" echo "Sending txs"
for i in `seq 1 5`; do for i in `seq 1 5`; do
for j in `seq 1 100`; do for j in `seq 1 100`; do
tx=`head -c 8 /dev/urandom | hexdump -ve '1/1 "%.2X"'` tx=`head -c 8 /dev/urandom | hexdump -ve '1/1 "%.2X"'`
curl -s 127.0.0.1:46657/broadcast_tx_async?tx=0x$tx &> /dev/null curl -s 127.0.0.1:46657/broadcast_tx_async?tx=0x$tx &> /dev/null
done done
sleep 1 sleep 1
done done
} }
@ -46,22 +46,22 @@ curl -s $addr/status > /dev/null
ERR=$? ERR=$?
i=0 i=0
while [ "$ERR" != 0 ]; do while [ "$ERR" != 0 ]; do
sleep 1 sleep 1
curl -s $addr/status > /dev/null curl -s $addr/status > /dev/null
ERR=$? ERR=$?
i=$(($i + 1)) i=$(($i + 1))
if [[ $i == 10 ]]; then if [[ $i == 10 ]]; then
echo "Timed out waiting for tendermint to start" echo "Timed out waiting for tendermint to start"
exit 1 exit 1
fi fi
done done
# wait for a new block # wait for a new block
h1=`curl -s $addr/status | jq .result.latest_block_height` h1=`curl -s $addr/status | jq .result.latest_block_height`
h2=$h1 h2=$h1
while [ "$h2" == "$h1" ]; do while [ "$h2" == "$h1" ]; do
sleep 1 sleep 1
h2=`curl -s $addr/status | jq .result.latest_block_height` h2=`curl -s $addr/status | jq .result.latest_block_height`
done done
kill_procs kill_procs

View File

@ -16,8 +16,8 @@ bash test/app/test.sh
bash test/persist/test.sh bash test/persist/test.sh
if [[ "$BRANCH" == "master" || $(echo "$BRANCH" | grep "release-") != "" ]]; then if [[ "$BRANCH" == "master" || $(echo "$BRANCH" | grep "release-") != "" ]]; then
echo "" echo ""
echo "* branch $BRANCH; testing libs" echo "* branch $BRANCH; testing libs"
# checkout every github.com/tendermint dir and run its tests # checkout every github.com/tendermint dir and run its tests
bash test/test_libs.sh bash test/test_libs.sh
fi fi

View File

@ -1,12 +1,12 @@
package version package version
const Maj = "0" const Maj = "0"
const Min = "11" const Min = "12"
const Fix = "1" const Fix = "0"
var ( var (
// The full version string // The full version string
Version = "0.11.1" Version = "0.12.0"
// GitCommit is set with --ldflags "-X main.gitCommit=$(git rev-parse HEAD)" // GitCommit is set with --ldflags "-X main.gitCommit=$(git rev-parse HEAD)"
GitCommit string GitCommit string