mirror of
				https://github.com/ethereum/solidity
				synced 2023-10-03 13:03:40 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			73 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			73 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
#!/usr/bin/env bash
 | 
						|
set -eu
 | 
						|
 | 
						|
REPO_ROOT="$(dirname "$0")"/..
 | 
						|
USE_DEBUGGER=0
 | 
						|
DEBUGGER="gdb --args"
 | 
						|
BOOST_OPTIONS=()
 | 
						|
SOLTEST_OPTIONS=()
 | 
						|
SOLIDITY_BUILD_DIR=${SOLIDITY_BUILD_DIR:-${REPO_ROOT}/build}
 | 
						|
 | 
						|
function usage
 | 
						|
{
 | 
						|
	echo 2>&1 "
 | 
						|
Usage: $0 [options] [soltest-options]
 | 
						|
Runs BOOST C++ unit test program, soltest.
 | 
						|
 | 
						|
Options:
 | 
						|
  --debug                  soltest invocation prefaced with: \"$DEBUGGER\"
 | 
						|
  --debugger *dbg-cmd*     soltest prefaced with your own debugger command.
 | 
						|
  --run_test | -t  *name*  filters test unit(s) to include or exclude from test.
 | 
						|
                           This  option can be given several times.
 | 
						|
  --boost-options *x*      Set BOOST option *x*.
 | 
						|
  --show-progress | -p     Set BOOST option --show-progress.
 | 
						|
 | 
						|
Important environment variables:
 | 
						|
 | 
						|
SOLIDITY_BUILD_DIR: Sets directory where test/soltest should be found.
 | 
						|
           The default is \"${SOLIDITY_BUILD_DIR}\".
 | 
						|
"
 | 
						|
}
 | 
						|
 | 
						|
while [ $# -gt 0 ]
 | 
						|
do
 | 
						|
	case "$1" in
 | 
						|
		--debugger)
 | 
						|
			shift
 | 
						|
			DEBUGGER="$1"
 | 
						|
			USE_DEBUGGER=1
 | 
						|
			;;
 | 
						|
		--debug)
 | 
						|
			USE_DEBUGGER=1
 | 
						|
			;;
 | 
						|
		--boost-options)
 | 
						|
			shift
 | 
						|
			BOOST_OPTIONS+=("$1")
 | 
						|
			;;
 | 
						|
		--help)
 | 
						|
			usage
 | 
						|
			exit 0
 | 
						|
			;;
 | 
						|
		--run_test | -t )
 | 
						|
			shift
 | 
						|
			BOOST_OPTIONS+=(-t "$1")
 | 
						|
			;;
 | 
						|
		--show-progress | -p)
 | 
						|
			BOOST_OPTIONS+=("$1")
 | 
						|
			;;
 | 
						|
		*)
 | 
						|
			SOLTEST_OPTIONS+=("$1")
 | 
						|
			;;
 | 
						|
	esac
 | 
						|
	shift
 | 
						|
done
 | 
						|
 | 
						|
SOLTEST_COMMAND=("${SOLIDITY_BUILD_DIR}/test/soltest" "${BOOST_OPTIONS[@]}" -- --testpath "${REPO_ROOT}/test" "${SOLTEST_OPTIONS[@]}")
 | 
						|
 | 
						|
if [ "$USE_DEBUGGER" -ne "0" ]; then
 | 
						|
	# shellcheck disable=SC2086
 | 
						|
	exec ${DEBUGGER} "${SOLTEST_COMMAND[@]}"
 | 
						|
else
 | 
						|
	exec "${SOLTEST_COMMAND[@]}"
 | 
						|
fi
 |