- #!/usr/bin/env bash
-
- # XXX: removes tendermint dir
-
- cd "$GOPATH/src/github.com/tendermint/tendermint" || exit 1
-
- # Make sure we have a tendermint command.
- if ! hash tendermint 2>/dev/null; then
- make install
- fi
-
- # specify a dir to copy
- # TODO: eventually we should replace with `tendermint init --test`
- DIR_TO_COPY=$HOME/.tendermint_test/consensus_state_test
-
- rm -rf "$HOME/.tendermint"
- cp -r "$DIR_TO_COPY" "$HOME/.tendermint"
-
- function reset(){
- rm -rf "$HOME/.tendermint/data"
- tendermint unsafe_reset_priv_validator
- }
-
- reset
-
- # empty block
- function empty_block(){
- tendermint node --proxy_app=dummy &> /dev/null &
- sleep 5
- killall tendermint
-
- # /q would print up to and including the match, then quit.
- # /Q doesn't include the match.
- # http://unix.stackexchange.com/questions/11305/grep-show-all-the-file-up-to-the-match
- sed '/ENDHEIGHT: 1/Q' ~/.tendermint/data/cs.wal/wal > consensus/test_data/empty_block.cswal
-
- reset
- }
-
- # many blocks
- function many_blocks(){
- bash scripts/txs/random.sh 1000 36657 &> /dev/null &
- PID=$!
- tendermint node --proxy_app=dummy &> /dev/null &
- sleep 7
- killall tendermint
- kill -9 $PID
-
- sed '/ENDHEIGHT: 6/Q' ~/.tendermint/data/cs.wal/wal > consensus/test_data/many_blocks.cswal
-
- reset
- }
-
-
- # small block 1
- function small_block1(){
- bash scripts/txs/random.sh 1000 36657 &> /dev/null &
- PID=$!
- tendermint node --proxy_app=dummy &> /dev/null &
- sleep 10
- killall tendermint
- kill -9 $PID
-
- sed '/ENDHEIGHT: 1/Q' ~/.tendermint/data/cs.wal/wal > consensus/test_data/small_block1.cswal
-
- reset
- }
-
-
- # small block 2 (part size = 512)
- function small_block2(){
- echo "" >> ~/.tendermint/config.toml
- echo "block_part_size = 512" >> ~/.tendermint/config.toml
- bash scripts/txs/random.sh 1000 36657 &> /dev/null &
- PID=$!
- tendermint node --proxy_app=dummy &> /dev/null &
- sleep 5
- killall tendermint
- kill -9 $PID
-
- sed '/ENDHEIGHT: 1/Q' ~/.tendermint/data/cs.wal/wal > consensus/test_data/small_block2.cswal
-
- reset
- }
-
-
-
- case "$1" in
- "small_block1")
- small_block1
- ;;
- "small_block2")
- small_block2
- ;;
- "empty_block")
- empty_block
- ;;
- "many_blocks")
- many_blocks
- ;;
- *)
- small_block1
- small_block2
- empty_block
- many_blocks
- esac
-
-
|