Add script for running the blockchain tests locally
This commit is contained in:
		
							parent
							
								
									5b194c268d
								
							
						
					
					
						commit
						aba2a05d83
					
				
							
								
								
									
										54
									
								
								run_blockchain_tests.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										54
									
								
								run_blockchain_tests.sh
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,54 @@ | ||||
| #!/bin/sh | ||||
| # | ||||
| # Script for running the tests for a specific blockchain by starting up the backends in docker. | ||||
| # simply run ./run_blockchain_tests [esplora|electrum] | ||||
| 
 | ||||
| eprintln(){ | ||||
|     echo "$@" >&2 | ||||
| } | ||||
| 
 | ||||
| cleanup() { | ||||
|     if test "$id"; then | ||||
|         eprintln "cleaning up $blockchain docker container $id"; | ||||
|         docker rm -fv "$id"; | ||||
|     fi | ||||
| } | ||||
| 
 | ||||
| # Makes sure we clean up the container at the end or if ^C | ||||
| trap 'rc=$?; cleanup; exit $rc' EXIT INT | ||||
| blockchain=${1:-electrum} | ||||
| 
 | ||||
| case "$blockchain" in | ||||
|     electrum) | ||||
|         eprintln "starting electrs docker container" | ||||
|         id="$(docker run -d -p 127.0.0.1:18443-18444:18443-18444/tcp -p 127.0.0.1:60401:60401/tcp bitcoindevkit/electrs)" | ||||
|         ;; | ||||
|     esplora) | ||||
|         eprintln "starting esplora docker container" | ||||
|         id="$(docker run -d -p 127.0.0.1:18443-18444:18443-18444/tcp -p 127.0.0.1:60401:60401/tcp -p 127.0.0.1:3002:3002/tcp bitcoindevkit/esplora)" | ||||
|         export BDK_ESPLORA_URL=http://127.0.0.1:3002 | ||||
|         ;; | ||||
|     *) | ||||
|         echo "'$blockchain' is not a blockchain we can test (electrum,esplora)"; | ||||
|         exit 1; | ||||
|     esac | ||||
| 
 | ||||
| # taken from https://github.com/bitcoindevkit/bitcoin-regtest-box | ||||
| export BDK_RPC_AUTH=USER_PASS | ||||
| export BDK_RPC_USER=admin | ||||
| export BDK_RPC_PASS=passw | ||||
| export BDK_RPC_URL=127.0.0.1:18443 | ||||
| export BDK_RPC_WALLET=bdk-test | ||||
| export BDK_ELECTRUM_URL=tcp://127.0.0.1:60401 | ||||
| 
 | ||||
| cli(){ | ||||
|     docker exec -it "$id" /root/bitcoin-cli -regtest -rpcuser=admin -rpcpassword=passw $@ | ||||
| } | ||||
| 
 | ||||
| eprintln "running getwalletinfo unitl bitcoind seems to be alive" | ||||
| while ! cli getwalletinfo >/dev/null; do sleep 1; done | ||||
| 
 | ||||
| # sleep again for good measure! | ||||
| sleep 1; | ||||
| 
 | ||||
| cargo test --features "test-blockchains,$blockchain" --no-default-features "$blockchain::bdk_blockchain_tests" | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user